Conformance — live data
Can it IDML?
211 IDML format features, four levels each — parsed, rendered, editable, and in the editor. Solid means shipped with linked tests; outline means claimed with verification pending. Nothing here is copy.
The heatmap
The matrix, at a glance
Fig. 12
The reference table
Every feature, anchor-linkable
| Feature | parsed | rendered | editable | in the editor | Tests |
|---|---|---|---|---|---|
| anchored-inline-objects.anchor-alignment Anchored alignment (space-or-align relative options) · Anchored & inline objects | 1 | ||||
| anchored-inline-objects.anchored-frames Anchored frames (above/below line placement) · Anchored & inline objects | 9 | ||||
| anchored-inline-objects.anchored-ops Anchored-object mutations · Anchored & inline objects | 9 | ||||
| color-swatches.character-fill Character fill color · Color & swatches | 3 | ||||
| color-swatches.color-groups Color groups (CRUD + membership) · Color & swatches | 35 | ||||
| color-swatches.color-overrides ColorOverride specials (paper/black/registration) · Color & swatches | 0 | ||||
| color-swatches.document-defaults Document defaults for new objects (fill/stroke/weight) · Color & swatches | 19 | ||||
| color-swatches.fill-stroke-apply Apply fill/stroke color + tint to frames · Color & swatches | 21 | ||||
| color-swatches.gradients Gradients (linear/radial, stops + midpoints) · Color & swatches | 39 | ||||
| color-swatches.icc-cmm ICC color management (lcms2 native / qcms wasm) · Color & swatches | 19 | ||||
| color-swatches.ink-manager Ink management (convert-to-process, aliases, standard Lab) · Color & swatches | 6 | ||||
| color-swatches.lab-mixed-ink Lab / mixed-ink / spot-without-CMYK · Color & swatches | 2 | ||||
| color-swatches.overprint CMYK overprint · Color & swatches | 1 | ||||
| color-swatches.process-spot-tint Process CMYK/RGB + spot inks + tints · Color & swatches | 8 | ||||
| color-swatches.swatch.crud Swatch CRUD (create/edit/delete + .ase import/export) · Color & swatches | 37 | ||||
| companion-formats.idms-icml Snippets & InCopy (.idms / .icml / libraries) · Companion formats | 0 | ||||
| conditional-text.applied-conditions Apply conditions to text ranges · Conditional text | 23 | ||||
| conditional-text.condition-ops Condition visibility ops (SetConditionVisible, ActivateConditionSet) · Conditional text | 2 | ||||
| conditional-text.visibility-filtering Condition visibility filtering (hidden runs pre-layout) · Conditional text | 4 | ||||
| cross-references-hyperlinks.bookmarks Bookmarks · Cross-references & hyperlinks | 1 | ||||
| cross-references-hyperlinks.cross-references Cross-references · Cross-references & hyperlinks | 2 | ||||
| cross-references-hyperlinks.hyperlinks Hyperlinks (targets + sources) · Cross-references & hyperlinks | 3 | ||||
| cross-references-hyperlinks.index Index entries (topic aggregation, page lists) · Cross-references & hyperlinks | 1 | ||||
| cross-references-hyperlinks.toc TOC entry resolution · Cross-references & hyperlinks | 1 | ||||
| edge-cases.diagnostics-channel Render diagnostics channel (overset, missing assets, fonts) · Edge cases & degradation | 1 | ||||
| effects-transparency.bevel-emboss Bevel & emboss · Effects & transparency | 1 | ||||
| effects-transparency.blend-modes Blend modes (26 modes incl. multiply/screen/overlay) · Effects & transparency | 1 | ||||
| effects-transparency.drop-shadow Drop shadow (soft blur, offset, color, opacity) · Effects & transparency | 7 | ||||
| effects-transparency.feather Feather (basic + directional) · Effects & transparency | 1 | ||||
| effects-transparency.glows Outer / inner glow · Effects & transparency | 2 | ||||
| effects-transparency.gradient-feather Gradient feather · Effects & transparency | 3 | ||||
| effects-transparency.inner-shadow Inner shadow · Effects & transparency | 2 | ||||
| effects-transparency.opacity Object opacity · Effects & transparency | 11 | ||||
| effects-transparency.opacity-mask Opacity masks — a real per-pixel soft mask (luminosity or alpha, invertible) · Effects & transparency | 6 | ||||
| effects-transparency.satin Satin · Effects & transparency | 1 | ||||
| effects-transparency.transparency-groups Transparency groups (nested blend group buffering) · Effects & transparency | 0 | ||||
| foundations.container.open IDML container open (ZIP + mimetype validation) · Foundations | 3 | ||||
| foundations.designmap.structure designmap parse (spreads, stories, resources wiring) · Foundations | 0 | ||||
| foundations.domversion-capture DOMVersion capture (version-agnostic parser) · Foundations | 0 | ||||
| frames-paths.appearance-bake Appearance stack bakes to a group of stacked page items (B-24) · Frames & paths | 0 | ||||
| frames-paths.arrowheads GraphicLine arrowheads (triangle/circle/bar) · Frames & paths | 0 | ||||
| frames-paths.corner-options Decorative corner options (Rounded/Inverse/Bevel/Inset/Fancy) · Frames & paths | 2 | ||||
| frames-paths.corner-options-polygon Corner options on polygons (B-23) — apply arms, renderer, IDML write path · Frames & paths | 0 | ||||
| frames-paths.frame.delete Delete frame · Frames & paths | 9 | ||||
| frames-paths.frame.insert Insert frame (rectangle) by bounds · Frames & paths | 49 | ||||
| frames-paths.frame.move-op moveFrame wire op · Frames & paths | 1 | ||||
| frames-paths.groups Groups (nesting + group transparency/blending + create/dissolve ops) · Frames & paths | 33 | ||||
| frames-paths.line.insert Insert line (two-anchor open GraphicLine) · Frames & paths | 29 | ||||
| frames-paths.nested-content Nested page items (paste-into) — parse, render clip, pasteInto/releaseFrom · Frames & paths | 0 | ||||
| frames-paths.page-item-kinds Page-item kinds (TextFrame, Rectangle, Oval, Polygon, GraphicLine, Group) · Frames & paths | 0 | ||||
| frames-paths.path-clipping Path clipping/masking (non-zero winding) · Frames & paths | 1 | ||||
| frames-paths.path.close closePath — close an open subpath (the faithful inverse of pathOpenAt) · Frames & paths | 0 | ||||
| frames-paths.path.insert Insert freehand path (optional smoothing) · Frames & paths | 29 | ||||
| frames-paths.path.join joinPaths — weld two open paths into one element · Frames & paths | 0 | ||||
| frames-paths.pathfinder-boolean Pathfinder boolean (union/intersect/subtract/exclude) · Frames & paths | 21 | ||||
| frames-paths.pathfinder-verbs Divide / Trim / Merge / Crop / Outline / Minus Back · Frames & paths | 0 | ||||
| frames-paths.planar-arrangement Planar arrangement — faces of overlapping paths (B-22) · Frames & paths | 0 | ||||
| frames-paths.shape-tools Ellipse / polygon shape tools · Frames & paths | 25 | ||||
| frames-paths.stroke-alignment Stroke alignment (center/inside/outside) · Frames & paths | 9 | ||||
| frames-paths.stroke-dashed Dashed + dotted strokes (dash arrays, 12 dotted variants) · Frames & paths | 2 | ||||
| frames-paths.stroke-gap-color Stroke gap color/tint · Frames & paths | 4 | ||||
| frames-paths.stroke-overprint Stroke overprint · Frames & paths | 1 | ||||
| frames-paths.stroke-striped-wavy Striped / wavy strokes · Frames & paths | 6 | ||||
| frames-paths.stroke-variable-width Variable-width (tapered / pressure) strokes — per-anchor width outline · Frames & paths | 6 | ||||
| frames-paths.stroke-weight-caps-joins Stroke weight + line caps + joins · Frames & paths | 12 | ||||
| frames-paths.text-on-path Text on a path · Frames & paths | 2 | ||||
| geometry-coordinates.bezier-path-geometry Bezier path geometry (PathPointType anchors + handles) · Geometry & coordinates | 8 | ||||
| geometry-coordinates.compound-subpaths Compound paths (multi-contour subpath boundaries) · Geometry & coordinates | 1 | ||||
| geometry-coordinates.geometric-bounds GeometricBounds (y1 x1 y2 x2, pt) · Geometry & coordinates | 3 | ||||
| geometry-coordinates.image-content-transform Image content transform (inner image within frame) · Geometry & coordinates | 12 | ||||
| geometry-coordinates.item-transform ItemTransform (2×3 affine per frame/page) · Geometry & coordinates | 2 | ||||
| geometry-coordinates.path-topology-ops Path topology ops (insert/remove anchor, open-at, curve type) · Geometry & coordinates | 23 | ||||
| images-graphics.clipping-paths Image clipping paths (from image metadata) · Images & graphics | 0 | ||||
| images-graphics.cmyk-jpeg-icc CMYK JPEG with embedded ICC profile · Images & graphics | 0 | ||||
| images-graphics.eps-decode EPS / PostScript placements (recognised + honestly rendered; no decode) · Images & graphics | 0 | ||||
| images-graphics.frame-fitting Frame fitting (fill/fit/content + crops) · Images & graphics | 11 | ||||
| images-graphics.image-clipping Image clipped to frame path · Images & graphics | 0 | ||||
| images-graphics.missing-image-placeholder Missing-image placeholder (grey + diagonal X) + diagnostic · Images & graphics | 0 | ||||
| images-graphics.placed-images Placed images (URI links via AssetResolver + inline base64) · Images & graphics | 22 | ||||
| interactive-dynamic.animation Animation + timing settings · Interactive & dynamic | 0 | ||||
| interactive-dynamic.behaviors Button behaviors (goto-page/state, show-hide, forms, zoom) · Interactive & dynamic | 0 | ||||
| interactive-dynamic.buttons Buttons (states Up/RollOver/Down) · Interactive & dynamic | 0 | ||||
| interactive-dynamic.media Sound & movie elements · Interactive & dynamic | 0 | ||||
| layers.item-assignment Assign an existing page item to a layer · Layers | 11 | ||||
| layers.model Layer model (visibility, lock, printable, z-order) · Layers | 33 | ||||
| layers.nested-groups Nested layer groups (folders, inherited hide/lock) · Layers | 0 | ||||
| layers.ops Layer ops (insert/remove/move/rename + flags) · Layers | 37 | ||||
| layers.z-ordering Cross-shape z-sort (layer + XML order) + Arrange (reorderElement) · Layers | 30 | ||||
| layout-model.break-before Break before (StartParagraph — next column, frame, page, odd/even page) · Layout model | 4 | ||||
| layout-model.first-baseline-offset FirstBaselineOffset modes · Layout model | 1 | ||||
| layout-model.frame-autosizing TextFrame AutoSizing (width/height growth) · Layout model | 1 | ||||
| layout-model.guides Ruler guides (parse, snap targets, editing) · Layout model | 9 | ||||
| layout-model.keep-options Keep options (keep with next, keep lines together, first/last lines) · Layout model | 4 | ||||
| layout-model.page-growth Page growth — a story's frame chain adds pages while it oversets (Smart Text Reflow) · Layout model | 8 | ||||
| layout-model.span-split-columns Span and split columns (SpanColumnType) · Layout model | 6 | ||||
| layout-model.spread-item-transform Spread / MasterSpread ItemTransform · Layout model | 0 | ||||
| layout-model.spreads-pages Spreads & pages (geometry, stacking, page items) · Layout model | 17 | ||||
| layout-model.text-columns Text-frame columns (count, gutter, vertical balance) · Layout model | 5 | ||||
| layout-model.text-frame-chain Text-frame threading chain (NextTextFrame story distribution) · Layout model | 19 | ||||
| layout-model.vertical-justification Frame vertical justification (top/center/bottom/justify) · Layout model | 1 | ||||
| master-spreads-overrides.apply-master-op Apply master to page (mutation) · Master spreads & overrides | 1 | ||||
| master-spreads-overrides.master-stamping Master spread stamping (applied master, MasterPageTransform) · Master spreads & overrides | 0 | ||||
| master-spreads-overrides.override-resolution Local override suppression of master items · Master spreads & overrides | 2 | ||||
| master-spreads-overrides.show-master-items ShowMasterItems suppression · Master spreads & overrides | 1 | ||||
| package-anatomy.composition-part Composition part (paged/core/composition/document.pgd — arrangement) · Package anatomy | 1 | ||||
| package-anatomy.core-import Full package IMPORT — IDML adapter (designmap, spreads, stories, resources) · Package anatomy | 7 | ||||
| package-anatomy.graphic-part Graphic part (colors, swatches, gradients, inks, stroke styles) · Package anatomy | 0 | ||||
| package-anatomy.inline-image-contents Inline base64 image bytes (<Image><Properties><Contents>) · Package anatomy | 0 | ||||
| package-anatomy.native-model-part Native model part (paged/core/model/document.pgm — the self-owning document) · Package anatomy | 1 | ||||
| package-anatomy.paged-container The .paged container (ZIP-as-valid-IDML + plugin namespaces + manifest.json) · Package anatomy | 5 | ||||
| package-anatomy.paged-parts-door host.parts plugin persistence door (namespaced container parts that travel with the file) · Package anatomy | 6 | ||||
| package-anatomy.story-parts Story parts (ParagraphStyleRange / CharacterStyleRange trees) · Package anatomy | 0 | ||||
| package-anatomy.tagged-xml-backing-store Tagged XML backing store (XMLElement/XMLStory/Mapping) · Package anatomy | 0 | ||||
| parser-internals.streaming-xml Streaming XML parse (quick_xml event-driven) · Parser internals | 2 | ||||
| parser-internals.zip-entry-streaming ZIP entry streaming (per-part decompression) · Parser internals | 2 | ||||
| round-tripping.batch-atomicity Batch operations (atomic, rollback-on-error, $created sentinel) · Round-tripping | 2 | ||||
| round-tripping.gesture-transactions Gesture transaction channel (begin/update/commit/cancel) · Round-tripping | 4 | ||||
| round-tripping.idml-reserialization Re-serialize a PARSED document to IDML (save back) · Round-tripping | 17 | ||||
| round-tripping.native-reserialization Native document round-trip (self-owning .paged model, no source parse) · Round-tripping | 2 | ||||
| round-tripping.undo-redo Undo / redo (invertible operation log) · Round-tripping | 22 | ||||
| sections-numbering-variables.page-number-resolution Page-number marker resolution (current/next/previous) · Sections, numbering & variables | 2 | ||||
| sections-numbering-variables.section-ops Section CRUD (add section, ranges) · Sections, numbering & variables | 3 | ||||
| sections-numbering-variables.sections Sections (prefix, label styles, start numbers) · Sections, numbering & variables | 0 | ||||
| sections-numbering-variables.text-variables Text variables (definition + instance substitution) · Sections, numbering & variables | 1 | ||||
| stories-text.caret-selection Text caret + range selection (geometry, content selection) · Stories & text | 24 | ||||
| stories-text.drag-drop-text Drag-and-drop text · Stories & text | 0 | ||||
| stories-text.endnotes Endnotes · Stories & text | 0 | ||||
| stories-text.fields.insert Insert field (page-number marker etc.) at offset · Stories & text | 1 | ||||
| stories-text.footnotes Footnote bodies · Stories & text | 1 | ||||
| stories-text.nested-styles Nested character styles (per-delimiter run restyling) · Stories & text | 0 | ||||
| stories-text.notes Editorial notes (Note element) · Stories & text | 1 | ||||
| stories-text.overset Overset handling (last-frame overflow clipped + reported) · Stories & text | 4 | ||||
| stories-text.page-number-markers Auto page-number markers (current/next page) · Stories & text | 0 | ||||
| stories-text.story-model Story model (paragraph/character run trees) · Stories & text | 6 | ||||
| stories-text.style-apply-range Apply style attributes to a text range (applyStyle op) · Stories & text | 4 | ||||
| stories-text.text-wrap Text wrap (bounding box / contour / jump modes + offsets) · Stories & text | 3 | ||||
| stories-text.text.delete Delete story range (Backspace/Delete + range) · Stories & text | 13 | ||||
| stories-text.text.insert Insert text at story offset · Stories & text | 17 | ||||
| stories-text.tracked-changes Tracked changes (insertions/deletions, author/date) · Stories & text | 0 | ||||
| styles.based-on-chain Based-on style inheritance chains · Styles | 0 | ||||
| styles.bullets-numbering Bullets & numbering (lists + numbering expressions) · Styles | 15 | ||||
| styles.cascade Style cascade (direct > character style > paragraph style) · Styles | 0 | ||||
| styles.cell.crud Cell styles (create/rename/delete + apply) · Styles | 3 | ||||
| styles.character.crud Character styles (create/rename/delete + apply) · Styles | 31 | ||||
| styles.next-style-overrides Next-style chaining + override indicators + redefine · Styles | 1 | ||||
| styles.object.crud Object styles (create/rename/delete + apply) · Styles | 31 | ||||
| styles.paragraph-border Paragraph border (per-corner radius + offsets) · Styles | 0 | ||||
| styles.paragraph-rules Paragraph rules above/below · Styles | 1 | ||||
| styles.paragraph-shading Paragraph shading (color/width/offset/corners) · Styles | 0 | ||||
| styles.paragraph.crud Paragraph styles (create/rename/delete + apply) · Styles | 35 | ||||
| styles.set-style-property Edit a style definition property (setStyleProperty) · Styles | 5 | ||||
| styles.table.crud Table styles (create/rename/delete + apply) · Styles | 3 | ||||
| tables.alternating-fills Alternating row/column fills · Tables | 2 | ||||
| tables.borders-strokes Table borders + row/column dividers · Tables | 0 | ||||
| tables.cell-composition Per-cell text composition (cell as mini-frame) · Tables | 0 | ||||
| tables.cell-diagonals Cell diagonal lines · Tables | 2 | ||||
| tables.cell-rotation Cell rotation · Tables | 0 | ||||
| tables.cell-vertical-justification Cell vertical justification · Tables | 0 | ||||
| tables.header-footer-repeat Repeating header/footer rows across chain breaks · Tables | 0 | ||||
| tables.model Table model (rows, columns, cells) · Tables | 22 | ||||
| tables.nested-tables Tables inside cells · Tables | 0 | ||||
| tables.row-col-sizing Row height constraints + column widths · Tables | 0 | ||||
| tables.spans Row/column spans (cell merges) · Tables | 0 | ||||
| tables.style-cascade Table/cell style cascade (region defaults) · Tables | 0 | ||||
| tagged-xml.structure Tagged XML structure (XMLElement/XMLStory/Mapping) · Tagged XML | 0 | ||||
| the-renderer.collections-read Typed collections read surface (21 collections) · The renderer | 22 | ||||
| the-renderer.cpu-backend CPU backend (tiny-skia, full feature coverage) · The renderer | 50 | ||||
| the-renderer.devtools-introspection Scene-graph introspection (tree + property descriptors) · The renderer | 9 | ||||
| the-renderer.display-list Versioned display list IR (41 command kinds, path interning) · The renderer | 9 | ||||
| the-renderer.export-diagnostics Export diagnostics (preflight findings) · The renderer | 23 | ||||
| the-renderer.font-registry Font registration (family/style → bytes, persists across loads) · The renderer | 4 | ||||
| the-renderer.gpu-backend WebGPU backend (Vello) · The renderer | 0 | ||||
| the-renderer.hit-testing Hit testing (oriented containment, layer-aware) + marquee · The renderer | 10 | ||||
| the-renderer.missing-asset-fallback Missing-asset degraded render (fallback font + placed-link placeholder) · The renderer | 6 | ||||
| the-renderer.offscreen-worker OffscreenCanvas worker rendering (COOP/COEP + SAB) · The renderer | 10 | ||||
| the-renderer.package-collect Package / collect for output (links + fonts + report) — IN SCOPE, not built · The renderer | 0 | ||||
| the-renderer.pdf-export PDF export (PDF 1.7 + PDF/X-4, deterministic) · The renderer | 24 | ||||
| the-renderer.pdf-export-marks Export marks + bleed (crop/registration/color bars/page info) · The renderer | 23 | ||||
| the-renderer.pdf-font-embedding Export font subsetting + embedding (fsType policy) · The renderer | 2 | ||||
| the-renderer.pdf-image-downsampling Export image downsampling + JPEG re-encode · The renderer | 1 | ||||
| the-renderer.pipeline Render pipeline (parse → scene → text → compose → raster) · The renderer | 4 | ||||
| the-renderer.properties-read Element properties read (authored/computed/source) · The renderer | 24 | ||||
| the-renderer.scene-cache GPU scene cache (LRU, invalidation hints) · The renderer | 6 | ||||
| the-renderer.scene-digest Display-list structural digest (same-code-same-scene keystone) · The renderer | 1 | ||||
| the-renderer.snapping Snap engine (page edges + sibling targets, 4 px tolerance) · The renderer | 16 | ||||
| the-renderer.snapshots Page PNG snapshots (dpi-configurable) · The renderer | 8 | ||||
| the-renderer.viewer-session Viewer session — camera present, page layout, events (the public SDK) · The renderer | 2 | ||||
| the-renderer.viewer-wrapper @paged-media/idml-viewer — TS viewer (camera, pages, input lanes, events) · The renderer | 0 | ||||
| typography.baseline-shift Baseline shift · Typography | 3 | ||||
| typography.bidi Bidirectional text reordering · Typography | 0 | ||||
| typography.capitalization Capitalization (AllCaps/SmallCaps/CapToSmallCap) · Typography | 3 | ||||
| typography.cjk-vertical-writing CJK vertical writing · Typography | 0 | ||||
| typography.drop-caps Drop caps (characters/lines + detail scaling) · Typography | 1 | ||||
| typography.font-selection Font selection + fallback (AppliedFont/FontStyle/PointSize) · Typography | 14 | ||||
| typography.hyphenation Hyphenation (TeX patterns; Proximity licensed) · Typography | 1 | ||||
| typography.hyphenation-zone Hyphenation zone · Typography | 2 | ||||
| typography.justification-spacing Word/letter spacing + glyph scaling (min/desired/max) · Typography | 0 | ||||
| typography.kenten Kenten emphasis marks · Typography | 0 | ||||
| typography.kinsoku Kinsoku CJK line-break rules · Typography | 0 | ||||
| typography.knuth-plass Knuth–Plass line breaking + justification modes · Typography | 0 | ||||
| typography.leading Leading (explicit pt / auto) · Typography | 3 | ||||
| typography.ligatures-opentype Ligatures + OpenType feature toggles · Typography | 5 | ||||
| typography.mojikumi Mojikumi CJK spacing · Typography | 0 | ||||
| typography.position-super-subscript Position (superscript/subscript) · Typography | 3 | ||||
| typography.ruby Ruby annotations · Typography | 0 | ||||
| typography.scale-skew HorizontalScale + Skew (false italic) · Typography | 4 | ||||
| typography.tab-stops Tab stops (L/C/R/decimal + leaders) · Typography | 1 | ||||
| typography.tracking-kerning Tracking + kerning (metrics; optical falls back to metrics) · Typography | 4 | ||||
| typography.underline-strikethru Underline / strikethrough decorations · Typography | 3 | ||||
| typography.vertical-scale VerticalScale · Typography | 3 |