Files
format-lab/public/README.md
T
2026-09-01 13:39:38 +02:00

51 lines
2.0 KiB
Markdown

# Format Lab
Explore conversion paths, state the expected preservation boundary, and measure
what a representative round trip actually changes. Format Lab is a local-first
module in the add·ideas Toolbox.
## v0.1.0 capabilities
- Browse directed format graphs for structured data, images, audio/video, and
subtitles
- Choose the properties that matter and rank bounded paths by expected loss,
conditional behaviour, unknowns, and conversion count
- Inspect every edge's availability and explicit caveat; routes are never called
lossless merely because no catalog loss is known
- Execute JSON, NDJSON, CSV, and a typed XML record-dialect conversion path over
a bounded canonical dataset
- Convert back to the source format and measure record/field order, names, scalar
types, nulls, nested values, numbers, and Unicode text
- Display catalog expectations beside measured evidence and mark metadata as
untested when it is outside the canonical model
- Export the target data and a deterministic evidence report containing the
catalog version, exact path, expectations, measurements, and notices
## Honest scope
The image, audio/video, and subtitle graphs are planning contracts linked to the
specialized Toolbox apps; v0.1.0 does not duplicate their codec or renderer
engines. Catalog statuses are conservative expectations, not measurements of a
particular file or encoder. The executable data lab supports records only—not
arbitrary JSON documents, XML mixed content/namespaces, or an external CSV type
schema. Its typed XML output is a documented lab interchange dialect.
Inputs are capped at 2 MiB, 10,000 records, 200 fields per record, 500,000
top-level values, and 8 MiB output. CSV cells are strings and spreadsheet-formula
prefixes are neutralized; the resulting semantic change is visible in the
round-trip measurement.
## Development
```sh
npm ci
npm run check
npm run test:browser
```
`npm run release:artifact` produces a deterministic ZIP and SHA-256 sidecar.
## License
GPL-3.0-or-later. See [LICENSE](LICENSE).