You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Release bump to 0.4.40 with CHANGES.md entry and docs updated (interpretation coverage ~91%). Large expansion of exif value-name coverage: added many Canon, Nikon, Fujifilm, Pentax, Olympus, Casio, and Panasonic MakerNote numeric label handlers and numerous new helper functions in src/openmeta/exif_value_names.cc to cover additional sub-IFDs and scalar fields. Tests updated to exercise the new value-name paths. Also tightened behavior to leave ambiguous per-model/version/varying labels unlabeled instead of guessing.
Copy file name to clipboardExpand all lines: docs/development.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ model should stay compact:
17
17
| Area | Purpose | Readiness |
18
18
| --- | --- | --- |
19
19
| Decoding | Find metadata carriers and decode EXIF, XMP, IPTC, ICC, Photoshop IRB, JUMBF/C2PA, EXR, and related blocks into `MetaStore` entries. | High, about 98-100% for the current target scope. |
20
-
| Interpretation | Normalize names and values, group entries by meaning, and classify source-bound data such as RAW crop, exposure adjustment, color/profile/source-color-transform evidence, lens-correction, sensor, BMFF brand/item-property associations, item semantic counts, and primary item properties, JUMBF labels, Photoshop IRB embedded carriers plus fixed-layout, XML/text, path-record, byte-count, and descriptor-header summaries, computational, thermal, stitch/panorama capture state, and vendor-private fields. | Medium-high, about 90%. |
20
+
| Interpretation | Normalize names and values, group entries by meaning, and classify source-bound data such as RAW crop, exposure adjustment, color/profile/source-color-transform evidence, lens-correction, sensor, BMFF brand/item-property associations, item semantic counts, and primary item properties, JUMBF labels, Photoshop IRB embedded carriers plus fixed-layout, XML/text, path-record, byte-count, and descriptor-header summaries, computational, thermal, stitch/panorama capture state, and vendor-private fields. | Medium-high, about 91%. |
21
21
| Query | Find entries by name, fuzzy term, or semantic group, then expose normalized query candidates, structured interpretation records, bounded cross-family concept resolutions, transfer hints, and conflict flags for crop/border/active-area, exposure/gain, color/WB/profile/source-color-transform, orientation, date/time, GPS, lens-correction, computational/thermal/stitch, and RAW/source-processing fields across standard and vendor metadata. | Medium-high, about 77-83%. |
22
22
| Creation | Build fresh metadata entries from host-provided values. | Medium, about 55-65%. |
23
23
| Editing | Modify existing logical metadata entries while preserving valid surrounding structure. | Medium, about 60-70%. |
Copy file name to clipboardExpand all lines: docs/interpretation_status.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ meaningful interpretation. Interpretation means that decoded entries have
5
5
stable names, typed values, semantic groups, query shapes, and transfer-safety
6
6
classification that host applications can use directly.
7
7
8
-
Current overall status: **medium-high, about 90%** for the public target scope.
8
+
Current overall status: **medium-high, about 91%** for the public target scope.
9
9
This is intentionally lower than decode coverage. Decode parity only proves
10
10
that metadata carriers and entries are visible; interpretation also requires
11
11
human-readable meaning and safe cross-format behavior.
@@ -38,7 +38,7 @@ explicit outcome:
38
38
| Exposure and gain | Standard EXIF exposure time, f-number, exposure program/mode, photographic sensitivity, exposure bias, exposure index, gain control, selected DNG baseline/raw-preview gain fields, matching XMP paths, and selected decoded vendor/MakerNote exposure names are queryable and promoted into cross-family exposure roles. Standard EXIF exposure program/mode and gain-control values plus selected Canon/Nikon/Sony/Fujifilm/Pentax/Olympus/Panasonic/Phase One/Kodak/Minolta/Sigma/Samsung/Ricoh MakerNote values carry human-readable labels where stable. Capture exposure facts are marked safe, while raw/DNG exposure adjustments are marked unsafe for rendered-image transfer. | Medium-high, about 91-94%. | More vendor MakerNote exposure print conversions and richer per-vendor exposure/gain labels. |
39
39
| Color, white balance, profiles, and matrices | DNG color/calibration/reduction/forward matrix groups, white-balance vector groups, EXIF color-space evidence, ICC header/tag entries, XMP ICC/profile fields, PNG profile text carriers, RAW color/source-processing safety buckets, transfer hints, per-family grouped vendor color/WB candidates, long-tail camera-to-XYZ/RGB, style/color, and white-balance gain aliases, and cross-family concept candidates with full grouped value vectors are identified. ICC/profile and color-space records have a distinct `color_profile` semantic role, while camera RAW profile/look/tone-curve/style fields and vendor source color tables have a separate `source_color_transform` role marked unsafe for rendered-image transfer. Matrix/vector groups require numeric payloads with conservative minimum shapes before promotion. | Medium-high, about 85-92%. | Deeper camera/vendor color science interpretation is intentionally conservative, especially for rendered-image transfer. |
40
40
| Lens correction and RAW processing | Lens-correction groups, black/white levels, linearization, CFA/sensor layout, raw-storage identifiers, vendor RAW/source-processing buckets, creative/picture style, film simulation, dynamic-range, optical correction, raw-development, computational, thermal, and stitch/panorama aliases, per-family vendor raw-storage/sensor/computational/thermal/stitch/source-processing table candidates, transfer hints, transfer diagnostics, and concept candidates with grouped table/vector values are classified for query and transfer safety. Lens-correction grouped tables require numeric payloads before promotion. | Medium-high, about 83-90%. | Long-tail per-model correction tables and richer numeric normalization. |
41
-
| Vendor MakerNotes | Broad MakerNote naming and source-processing classification exists for common vendors and several live computational/thermal vendors. Unknown entries remain lossless and source-private subgroups distinguish preview, face geometry, computational, thermal, stitch/panorama, pixel-shift, multi-shot, composite, auto-lighting, RAW crop/active-area, source color-transform, source style/rendering aliases, lens-correction, raw-level processing data, and Phase One/Leaf RAW-processing fields handled by direct classification plus dedicated normalized helpers. Classified multi-field vendor groups now surface as grouped query/interpretation candidates where safe to expose structurally. Selected Canon/Nikon/Sony/Fujifilm/Pentax/Olympus/Panasonic/Phase One/Kodak/Minolta/Sigma/Samsung/Ricoh print conversions expose bounded human-readable labels, including expanded Canon CameraSettings/ShotInfo/main/MyColors, decoded Fujifilm `mk_fuji*`, and Panasonic main-table labels. Ambiguous per-model or value-type-dependent labels intentionally remain empty instead of guessing. | Medium-high, about 89-94%. | ExifTool-style long-tail print conversions, encrypted/custom settings, and per-model private tables. |
41
+
| Vendor MakerNotes | Broad MakerNote naming and source-processing classification exists for common vendors and several live computational/thermal vendors. Unknown entries remain lossless and source-private subgroups distinguish preview, face geometry, computational, thermal, stitch/panorama, pixel-shift, multi-shot, composite, auto-lighting, RAW crop/active-area, source color-transform, source style/rendering aliases, lens-correction, raw-level processing data, and Phase One/Leaf RAW-processing fields handled by direct classification plus dedicated normalized helpers. Classified multi-field vendor groups now surface as grouped query/interpretation candidates where safe to expose structurally. Selected Canon/Nikon/Sony/Fujifilm/Pentax/Olympus/Panasonic/Casio/Phase One/Kodak/Minolta/Sigma/Samsung/Ricoh print conversions expose bounded human-readable labels, including expanded Canon sub-IFDs and CanonCustom fields, Nikon sub-IFDs and NikonSettings fields, decoded Fujifilm `mk_fuji*`, Pentax sub-IFDs, Olympus main/focus/equipment fields, Casio Type2 fields, and Panasonic long-tail main-table fields. Ambiguous per-model, per-version, or value-type-dependent labels intentionally remain empty instead of guessing. | Medium-high, about 91-95%. | Remaining ExifTool-style firmware/version formulas, encrypted/custom settings, and per-model private tables. |
42
42
| BMFF item graph, HEIF/AVIF/CR3, JUMBF, and C2PA | BMFF derived fields, brand-name fields, item-info rows, item type/semantic labels and semantic aggregate counters for common metadata carriers, bounded `ipma` item-property association rows, bounded relations, primary-linked roles, aux semantics, primary color/profile property summaries, primary pixel aspect ratio, primary pixel component bit depth, clean-aperture rationals, JUMBF box labels, and draft C2PA/JUMBF structural fields are exposed. | Medium, about 70-80%. | Full BMFF scene modeling and full C2PA manifest/policy semantics. |
43
43
| Photoshop IRB | Raw resources are preserved and a bounded interpreted subset is decoded for fixed-layout resources, including Photoshop 2 info/color-table summaries, resolution/version/print data, print-flag bytes, border/background/effective-BW data, display info, grid/guide info, color sampler headers/records, descriptor-header summaries, path record summaries, alpha names/identifiers, captions, QuickMask info, URL/list data, autosave strings, `XMLData`, ImageReady XML text, thumbnail headers, channel options, clipping-path names, legacy halftone/transfer/duotone/EPS byte summaries, embedded ICC/XMP/EXIF resource byte counts, and embedded IPTC/XMP/ICC payload decode where enabled. | Medium, about 75-84%. | Broader resource-specific descriptor parsing and long-tail resource interpretation. |
44
44
| Semantic query/search and records | Query helpers expose raw matches, confidence, provenance, value shapes, normalized candidates, canonical crop/active-area rectangles, Fujifilm RAF raw crop/zoom rectangles, Canon/Nikon/Sony crop and border patterns, border margins, exposure/gain roles, selected vendor/MakerNote exposure-name aliases, per-family grouped vendor records, descriptive EXIF/IPTC/XMP concepts, explicit color-profile records for EXIF/ICC/XMP/PNG profile carriers, explicit source-color-transform records for camera RAW profiles, looks, tone curves, and vendor source color tables, explicit computational/thermal/stitch source-processing records, expanded source color/style/lens/source-processing aliases, source-processing buckets, optional RapidFuzz near-miss matching, structured interpretation records, and bounded cross-family concept resolution for orientation, date/time, exposure/gain, color/profile, GPS, geometry, lens-correction, and RAW-processing with parsed date/time fields, timezone/precision classification, combined GPS timestamps, GPS altitude-reference state and display token, canonical geometry origin/size/rect/margins, normalized exposure values, shape-checked grouped value vectors, transfer hints, rendered/compatible safety booleans, and tolerance-aware GPS/exposure/color/geometry conflicts. | Medium-high, about 82-88%. | More long-tail per-model concept aliases and richer localized policy wording. |
@@ -67,8 +67,9 @@ outputs.
67
67
4. Expand GPS policy beyond current coordinate tolerance, altitude-reference
68
68
display, and EXIF timestamp assembly into broader cross-family
69
69
reconciliation.
70
-
5. Expand MakerNote meaning depth in vendor order: remaining Canon sub-IFDs,
71
-
Olympus, Nikon, Pentax, Casio, Panasonic long tail, CanonCustom/
72
-
NikonSettings, Fujifilm residuals, then other active vendors.
70
+
5. Expand the remaining unambiguous MakerNote long tail: firmware/version
0 commit comments