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
Reference coverage ledger
Initial source coverage, 2026-10-21. Owner for this ledger and the external dependencies listed in 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. 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 covers the 183/193 managed methods in both distinct converter binaries with RVAs and hashes; the four 2015 members are byte-identical. 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 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.