ReadonlyhasTrue when the current IR carries M600 color-change boundaries (DD-031 G6).
ReadonlyhasTrue when the current IR carries retraction/deretraction events the markers can show (DD-031 G6).
ReadonlylayerReadonlysegmentProgressive partial IR (3D only; the 2D renderer draws on the final IR).
OptionalcaptureCapture the current view as an image Blob (DD-030 D1). Optional: the 3D renderer implements it via
render-to-target; a renderer that cannot (the 2D renderer) omits it, and the controller reports
renderer-unsupported / rejects. Never fabricated output.
Optionalopts: CaptureOptionsRead the current camera as a serializable snapshot (#268). Null when the renderer has no 3D pose (2D).
Render diagnostics snapshot (DD-027) — backend/GPU/geometry-mode/parallelism/timings — or null before the first render / on a renderer that produces none (the 2D view). Exposed through the public surface so diagnostics are reachable without the raw handle (DD-031 G1).
Capability gate for a color mode (DD-001 honesty): false when the IR lacks the channel the mode
reads (e.g. feature on a file with no feature roles). Lets a consumer build capability-aware UI
without the raw handle (DD-031 G6). single/tool/moveKind are always available.
Pick the IR segment under a pointer (normalized device coords in [-1, 1]), or null (#184). The 3D renderer raycasts the toolpath; the 2D renderer returns null (no picking yet).
Optionalthreshold: numberShow/hide the build-volume wireframe cage independently of the bed/plate (#306/#6).
Restore a camera snapshot verbatim (#268). 2D renderers disclose via renderer-unsupported.
OptionalsetShow/hide a single feature role (e.g. hide Skirt/Brim). 3D only — the flat 2D view treats it
as a no-op. Optional so a renderer need not implement it; gate the UI on featureRoles: 'known'.
Frame the printed 'object' (excl. skirt/prime) vs 'all' extrusion (#306/#6).
Interaction-aware quality: 'auto' reduces detail while the camera moves (#306/2, DD-020).
During-parse preview curtain (#60): 'lines' | 'hold' | 'off'. Applies to the NEXT parse. 3D only; 2D is a no-op.
Fidelity policy (DD-023 §4 D6): 'full' | 'adaptive' | 'fast'. 3D only; 2D is a no-op.
Snap to a preset orientation (#268). 2D renderers disclose via renderer-unsupported.
The minimal renderer contract the controller drives. 3D-only members are honored by the 2D renderer as documented no-ops or
renderer-unsupporteddisclosures — never fabricated output.