|
Download docs/parity.md from nmarshall/nanobrush: direct link, hf CLI and curl.
- Browser
- Download file 5.34 kB
-
https://huggingface.co/nmarshall/nanobrush/resolve/main/docs/parity.md
- Command line
-
hf download hf://nmarshall/nanobrush/docs/parity.md
-
curl -L -o parity.md https://huggingface.co/nmarshall/nanobrush/resolve/main/docs/parity.md
5.34 kB
| # Reference coverage ledger | |
| Initial source coverage, 2026-10-21. Owner for this ledger and the external dependencies listed in [DEPENDENCIES.md](DEPENDENCIES.md): **Nanobrush reference research**. E01 establishes source coverage; E02 adds converter-only runtime observations. Rust DAT parity is scoped to the F29 fixtures below; no editor parity is claimed. | |
| Every one of the 560 regular-member occurrences has its own path/hash/category/coverage/owner/follow-up entry in [source-map.json](../assets/analysis/source-map.json). Direct include candidates, qualified calls, interrupt wrappers, tool registrations and literal-resource candidates remain attached to their source file. The human documents summarize behavior without copying the raw reference tree into ordinary Git. | |
| | Latest-build category | Files | Initial disposition | Next contract/validation task | | |
| | --- | ---: | --- | --- | | |
| | Core host includes | 5 | Source-indexed; native contract/adapter planned | P4.03, P3.14 host behavior | | |
| | Task clients | 9 | Source-indexed; service/protocol contracts planned | P4.05 | | |
| | Top-level plugins | 17 | Source-indexed; native functionality planned | P4.08, P7 | | |
| | Experimental plugins | 5 | Source-indexed; equivalent functionality or explicit scope decision required | P4.09 | | |
| | IXPL utilities/misc | 10 | Source-indexed; needed functionality requires independent port | P4.07 | | |
| | Model generator | 1 | Source-indexed; native generation target | P9.06 | | |
| | Grammars | 7 | Grammar rules indexed; initial format map written | P6.01–P6.10 | | |
| | CFG resources | 15 | Literal typed declarations indexed; full consumer semantics pending | P8.09 | | |
| | Shader containers | 3 | Sections/uniforms indexed; selected output expressions reviewed | P9.01–P9.04 | | |
| | BAT files | 17 | Text inventory and build/conversion boundary reviewed | P4.12 | | |
| | Images | 4 | Byte inventory only in this pass; provenance/atlas meaning pending | P9.05 | | |
| | Executables | 3 | Converter: both binaries decompiled and probed (E02); editor/compiler still header-only | P3.06/P3.17 | | |
| | Other reference text | 28 | Encoding/line inventory; selected readmes/help reviewed | P3.02; original licenses P0.04 | | |
| | Total | 124 | All regular members accounted for | No category has complete runtime parity | | |
| “Lexically indexed” means identifiers/edges can be located, not that a complete language parser or host implementation is understood. “Text inventoried” means text identity/encoding/lines are known; it does not mean every paragraph has been semantically reviewed. CP1252 fallback is a decoding choice for indexing, not a proven application encoding contract. | |
| ## Remaining mapping gaps | |
| - Complete consumer-derived config keys, dotted scope handling, localized string tables and dynamic key generation. | |
| - Dynamic file/resource names, implicit loader conventions, and actual compiler include precedence. | |
| - Static and dynamic plugin load/unload order, callback concurrency, task priority ordering and errors. | |
| - IXModel primitive semantics, native-editor DAT conformance, compiled plugin representation and editor/compiler runtime dependencies. Converter DAT widths/encoding/layout are specified in E02. | |
| - Full tool state machines, geometry algorithms/tolerances, shader bindings and file-conversion preservation. | |
| - Editor/plugin source discrepancies versus executed behavior. E01 ran no executables; E02 ran original converter copies only. | |
| Keep the broad parent TODO tasks open until their promised behavioral evidence exists. The completed source-mapping subtasks record this pass without marking an entire subsystem reverse engineered. | |
| ## Converter coverage extension (E02) | |
| [static.json](../assets/analysis/converter/static.json) covers the 183/193 managed methods in both distinct converter binaries with RVAs and hashes; the four 2015 members are byte-identical. [probes.json](../assets/analysis/converter/probes.json) indexes 101 controlled cases and every captured payload. DAT hierarchy is experimentally specified on this corpus; format edge cases and editor cross-validation remain P6.19/P6.20, and external consumers remain P6.16. Broad parent tasks stay open. | |
| ## Rust DAT implementation (F29) | |
| `mb3-dat` implements both converter DAT layouts. The five Rust integration tests cover all 58 captured DAT outputs with exact bytes, selected semantic fields, captured malformed-input rejections and version migration. Twenty-four unit tests and one doctest add boundary/resource/I/O checks and 5,000 deterministic mutations. See [the compatibility matrix](RUST_DAT.md) for deliberate strictness and the old signed-16 writer repair. Native-editor conformance, real-document coverage, independent consumer testing and remaining codecs stay open. | |
| ## TXT and CLI implementation (E04) | |
| The native TXT codec and CLI cover all 58 E02 DAT outputs through exact DAT→TXT→DAT reconstruction, seven text outputs through canonical semantic round trips, 16 direct TXT-input/DAT-output pairs and nine rejected malformed/lossy text inputs. Original formatting, guessed encodings, ignored arrays and property optimization are explicit differences in F30. CLI no-clobber/force publication, alias/symlink guards, validation before I/O and exit streams are tested separately in F31. Legacy external formats, editor behavior and other-platform execution remain open. | |