Skip to main content

OGraf Studio 0.05

OGraf Studio 0.05 adds production-oriented text outlines and makes the AI authoring surface smaller, more portable, and more efficient without changing standard OGraf output boundaries.

Broadcast text outlines​

  • Added document-v20 strokeColor and independently animatable, non-negative strokeWidth to text.
  • Added Inspector controls, timeline/property keys, local-loop tracks, frame-aware text measurement, Brand Kit colour/width targets, MCP operations, capability discovery, and validation.
  • Shared editor/runtime rendering uses CSS text stroke with paint-order: stroke fill, keeping the outline behind the glyph face instead of reducing the visible fill.
  • SVG diagnostics sample the same width track and emit matching stroke/paint-order attributes.
  • Migration backfills transparent/zero stroke on normal layers and reusable-component snapshots. Older compiled OGraf descriptors receive the same defaults when imported.
  • Auto-size, shrink-to-fit, overflow diagnostics, design QA, deterministic lifecycle/direct-exit interpolation, local loops, browser capture, and exported realtime/non-realtime seeking account for the sampled outline width.

Smaller AI authoring surface​

  • Extracted canonical Zod schemas and tool handlers into transport-neutral packages/agent-tools behind injected workspace/editor-bridge ports. The MCP server is now a renderer over those shared records rather than the owner of tool behavior.
  • Consolidated committed apply, browser-free dry-run, rendered preview, and human Accept/Reject proposal behavior into one mode-based ograf_apply_operations contract. Registered tools dropped from 28 to 26.
  • Reduced the generated contract from 334,854 bytes to 133,868 bytes at consolidation; the final 0.05 contract, including text stroke, is 135,042 bytes and remains under the enforced 150,000-byte budget.
  • Added optional sections to ograf_get_capabilities. Omitting it preserves the complete response; agents can request only elements, easing, semantics, design system, loops, bindings, and/or editor state when context matters.
  • Added includeReview: true to apply/dry-run. It returns deterministic design QA and a short-lived browser capture URL when available; disconnected, throttled, or failed capture never rolls back or invalidates the mutation/review.

Bundled template refresh​

  • Refreshed the bundled News and Atlas templates through OGraf Studio/MCP rather than raw project editing.
  • Added semantic roles/tags/descriptions, operator-facing field descriptions and limits, deliberate QA exception tags, screen/soft-light blend modes, authored visibility, and cubic entrance/exit motion while preserving their designs.
  • Both templates score 99/100 with only the advisory padding-rhythm finding. Both passed all five exact dual-profile certification gates; the Atlas .ograf.zip was regenerated from the refreshed editable source.

Validation​

  • npm run verify passes generated-contract drift, formatting, lint, every workspace typecheck, 285 tests across 56 files, the runtime bundle, and the production editor build.
  • A labelled browser contact sheet visibly rendered 2 px and 8 px text outlines while preserving the white glyph fill. SVG diagnostics matched the 8 px sample and paint-order="stroke fill".
  • Frame-specific browser measurement expanded by exactly 8 px in both dimensions at the 8 px key.
  • The disposable text-stroke fixture passed project semantics, official OGraf v1 manifest schema, package layout, module/default-export/API, and realtime/non-realtime lifecycle certification.
  • The bundled ograf-authoring skill passes validation and its archive has been rebuilt.

Current boundaries​

  • Reusable style packs and bug/ticker/scoreboard/clock recipes are not part of this release.
  • Headless render/certify remains explicitly deferred. Browser-backed capture, measurement, certification, save, and export require one connected responsive OGraf Studio tab.
  • CSS text-stroke support should be included in the future renderer compatibility matrix even though the current Chromium-based editor/runtime certification passed.
  • The production editor build retains the existing non-blocking large-chunk advisory.