Format MIME types and sniffing
Это содержимое пока не доступно на вашем языке.
| Format | Detected as (format / variant) |
MIME type | Extension (hint only) | Schema / spec |
|---|---|---|---|---|
.dome packed |
dome / zip |
application/vnd.nativemind.freedome.dome+zip |
.dome |
schemas/dome/1.x/dome.schema.json, 01b |
.dome unpacked |
dome / directory |
(directory) | *.dome/ |
same |
.zelim JSON project (variant J) |
zelim / json |
application/vnd.nativemind.zelim+json |
.zelim |
schemas/zelim/{1.0,1.1}/zelim-project.schema.json |
.zelim binary quantum scene (variant B) |
zelim / binary |
application/vnd.nativemind.zelim |
.zelim |
formats/zelim-binary.ksy |
.boranko 1.1 folder |
boranko / directory |
application/vnd.nativemind.boranko+json (its data.json) |
<name>_boranko/ |
schemas/boranko/1.1/boranko.schema.json |
.boranko 1.1 packed for transport |
boranko / zip |
application/vnd.nativemind.boranko+zip |
.zip / .boranko.zip |
same |
.boranko 1.0 single file |
boranko / single-json |
application/vnd.nativemind.boranko+json |
.boranko |
schemas/boranko/1.0/boranko.schema.json |
.comics (Comics.Editor) |
comics / data |
application/vnd.nativemind.comics+zip |
.comics |
schemas/comics/1.0/comics-data.schema.json |
.comics legacy (images only) |
comics / legacy |
application/vnd.nativemind.comics+zip |
.comics |
schemas/comics/1.0/comics-metadata.schema.json |
| FDMESH warp sidecar | (not sniffed; .dome entry) |
application/vnd.nativemind.freedome.fdmesh |
.mesh |
formats/fdmesh.ksy |
Sniffing order — one function in every codec
Section titled “Sniffing order — one function in every codec”Content wins; the extension is never consulted. Reference: tools/sniff/formats.mjs (sniff); corpus:
conformance/sniff/cases.yaml.
- Directory:
dome.jsonwith"format": "dome"→dome/directory; elsedata.jsonwhose root has apagesarray →boranko/directory; elseunsupported-format. - ZIP (
50 4B 03 04; the container is opened with the.domeZIP rules — entry-name guard, limits; a broken container fails with its problem, e.g.validation-failedpointer/entries/<i>for../x): first entrymimetype= the.domeMIME →dome/zip; rootdome.jsonwith"format": "dome"→dome/zip+ warningno-mimetype; rootdata.jsonwithlayersorsounds(or adata.jsonthat does not parse — the decoder then fails withvalidation-failed) →comics/data; rootdata.jsonwithpages, or<x>_boranko/data.json→boranko/zip; only images (+metadata.json/info.json) →comics/legacy; elseunsupported-format. ZELIMat offset 0: a complete 64-byte header with bytes 5..7 = 0 →zelim/binary; otherwise (e.g. the 9-byte Sphere placeholders)unsupported-format.- Text: after an optional UTF-8 BOM and JSON whitespace (space, tab, CR, LF) the first byte is
{and the document is UTF-8 JSON:header.format == "zelim"→zelim/json; apagesarray andversionabsent or1.0.x→boranko/single-json; anything else →unsupported-format. - Everything else →
unsupported-format(415).
A .zelim that matches neither variant (JSON without header.format: zelim, PNG, .dome content …) is
unsupported-format for a .zelim reader.