OGraf Studio 0.03
OGraf Studio 0.03 makes the editor substantially more AI-first while keeping every generated result human-reviewable, editable in the canonical project model, and portable as standard OGraf output.
Semantic authoring and reusable design
- Added semantic layer roles, normalized tags, and intent descriptions for compact, meaningful scene queries and deterministic review.
- Added a materialized lower-third recipe with grouped ordinary layers, editable fields, semantic roles, and deterministic left-in/down-out motion.
- Added finite horizontal and vertical repeater recipes that clone selected source layers and fields into ordinary grouped, independently editable items.
- Added composition-local Brand Kits with typed design tokens for color, typography, stroke, and geometry. Token values materialize into standard element properties, so playout has no OGraf Studio-specific runtime dependency.
- Added independent and optionally linked component instances. Linked instances refresh only when explicitly requested and always compile as normal OGraf layers.
AI planning and human review
- Added
ograf_query_scenefor compact semantic selection without UUID-heavy full-project reads. - Added
ograf_preview_operationsto render a projected frame or contact sheet without mutating revision, history, or project state. - Added
ograf_propose_operationsand the floating Agent Review panel. A proposal displays its rendered preview, operations, warnings, and validation, then applies the exact batch only after explicit human acceptance and a current revision check. - Added deterministic
ograf_review_designsemantic, typography, layout, palette, spacing, and motion QA with stable findings and recommended preview frames.
MCP parity and contracts
- Added workspace-confined direct asset import for supported images, fonts, CSS, and source text.
- Added MCP Photoshop SVG-bundle import with companion CSS, images, and fonts, 32 MiB per-file and 64 MiB aggregate limits, portable resource embedding, and atomic font registration.
- Moved SVG bundle conversion into the shared scene model so editor and MCP use the same importer.
- Added generated Markdown and JSON contracts for all 28 registered MCP tools. The generator emits
repository-canonical formatting, and contract drift now fails
npm run verify.
Project model and editor
- Raised the editable document model to v16 with migration defaults for semantic metadata, design-token bindings, Brand Kits, and component links.
- Added Inspector semantic controls and compatible design-token selectors.
- Added Resources workflows for Brand Kits, token CRUD, independent/linked component insertion, component snapshot updates, and linked-instance refresh.
- Added lower-third and repeater shortcuts while preserving the ordinary layer/field/group model.
Documentation
- Updated public documentation, release notes, generated MCP references,
and the complete
ograf-authoringskill workflow/examples/invariants. - Rebuilt and validated the portable
ograf-authoring.zipbundle.
Validation
npm run verifypasses: generated-contract drift, formatting, lint, every workspace typecheck, 228 tests across 51 files, runtime bundle, and editor production build.- Focused authoring, migration, and MCP integration checks pass, including visual dry runs and explicit proposal acceptance.
- The
ograf-authoringskill passes the Codex skill validator.
Current boundaries
- Headless render/certify (plan item 10) is deliberately not included. Visual previews, proposal images, browser measurement, and exact certification still require one connected, responsive OGraf Studio editor tab.
- Linked component refresh is replacement-based and may replace local instance edits; use independent instances when overrides must remain permanent.
- Repeaters materialize finite authoring-time collections rather than runtime array bindings.
- Semantic and design QA is deterministic and advisory, not a substitute for editorial judgement or exact OGraf certification.
- The production editor build continues to report the existing non-blocking large-chunk advisory.