Skip to content

OGraf Studio 0.09

Choose a tag to compare

@savasalkim savasalkim released this 28 Aug 18:32
· 5 commits to main since this release

OGraf Studio 0.09

Released: 2026-08-28

OGraf Studio 0.09 makes dense broadcast-authoring work faster and clearer. It expands Timeline and
layer-order editing, improves project/history reliability, adds a deliberate text-distortion mode,
and aligns the application chrome and configuration panes with the Zero Density/RealityHub visual
system. These editor changes do not alter authored canvas pixels unless the author explicitly uses
the new content properties.

Timeline editing

  • Added Ctrl/Cmd additive selection across layer/property timeline rows and same-row Shift ranges.
    Dragging or arrow-nudging any selected key moves the complete selection atomically, preserves
    spacing, and stops at composition bounds or unselected keys on every affected track.
  • Set lifecycle, layer, and property key diamonds to 11 px. Loop badges and selection/focus
    outlines scale with them without changing frame alignment or Timeline row heights.
  • Made the divider between Timeline layer/property names and keyframe tracks resizable. Dragging,
    keyboard arrows, Home/End, and double-click reset are supported; the width persists locally and
    always reserves usable track space.
  • Made Timeline Group names reliably editable by double-click, with full-name selection, F2 keyboard
    access, and event handling that no longer lets the second click retrigger group selection.
  • Hidden selected-layer outlines and Moveable controls during Timeline playback. Selection is
    preserved and its overlay returns immediately when playback pauses or stops.
  • Upgraded normal Timeline Play to sample every compiled local loop together, including scrolling
    tickers and loops that continue while parked at a Step. Removed the redundant top Edit/OGraf
    Preview switch and separate main-canvas runtime mode; Preview & Export remains available for
    detailed playout actions and certification.

Layer ordering and reliability

  • Added an editable Z order field to Properties. It maps directly to canonical layer paint
    order, with 1 at the back and the current layer count at the front; values are rounded and
    clamped to the available range.
  • Added standard Send to Back, Send Backward, Bring Forward, and Bring to Front toolbar actions.
    They support multi-selection, retain internal order, and disable at the applicable boundary.
  • Added Ctrl/Cmd+A and Edit -> Select all layers for selecting the complete active composition
    instead of webpage text. Hidden, locked, and guide layers are included; editable fields retain
    native Select All behavior.
  • Browser Undo now reconciles the active composition and keyframe when restoring a snapshot from a
    different bridge-synchronized project, preventing stale composition IDs from crashing the editor.

Docking and element authoring

  • Changed Window-menu reopening so a closed pane first returns as a centered floating window rather
    than docking automatically to its former/default edge. Multiple reopened panes cascade slightly
    and remain fully dockable afterward.
  • Added Squeeze beside the existing text sizing modes. Resizing a squeezed text layer scales
    glyph width and height independently to fill the box, enabling intentional condensed, expanded,
    tall, or flattened text in the editor, capture path, and exported runtime.
  • Changed ordinary Rectangle, Ellipse, Text, Image, Path, Image Sequence, and Lottie creation to
    alpha 1 at Start, Step, and End so new objects are immediately visible. Recipe motion retains its
    explicit hidden entrance and exit states.
  • Replaced text-only add-element buttons with a consistent icon-only SVG set. Accessible names,
    native titles, immediate custom tooltips, and clearer hover/focus feedback remain available.

Zero Density visual system

  • Centralized the visual tokens sampled from the live RealityHub interface: Nunito, 14 px/13 px
    hierarchy, charcoal surfaces, #dadada/#aaaaaa text, #399ed4 active tabs, #60d0ff focus,
    teal actions, 1 px separators, and flat 0/2 px geometry.
  • Bundled OFL-1.1 Nunito 400 Latin, Latin Extended, and Vietnamese subsets locally through
    @fontsource/nunito; Studio does not depend on a running RealityHub server or external font CDN.
  • Applied the shared contract to application/header surfaces, docking tabs/groups/floating panes,
    menus, panels, scrollbars, forms, selections, resources, layer rows, and element/timeline toolbars.
    Authored graphic typography, canvas pixels, capture, certification, and export remain independent.

Configuration tables and numeric scrubbing

  • Reworked Properties into RealityHub-style configuration tables with full-width section bars,
    stable 42% label / 58% editor columns, 1 px row/column separators, aligned checkboxes, and
    full-row Width/Height/effect/corner/frame-duration controls instead of scattered mini-grids.
  • Applied the same label/value column contract to Data test values and Preview data overrides while
    preserving task-specific list, canvas, chat, resource-tree, and Timeline-track layouts.
  • Added one editor-wide RealityHub-style controller for every enabled numeric input: hover shows the
    usage popup and east/west cursor, horizontal drag changes by the declared field step, Shift uses
    10x speed, Alt uses 0.1x speed, and min/max bounds are respected.
  • Kept normal typing first-class: a sub-threshold click focuses and selects the value, while real
    drags publish native bubbling input/change events through existing React/store/history actions.

Validation

  • npm run verify passes generated MCP-contract and in-app-prompt drift checks, formatting, lint,
    every workspace typecheck, 410 tests across 84 files, the runtime bundle, and the production
    editor build.
  • Regression coverage includes multi-key selection, gutter resizing, z-order commands, Select All,
    project-history reconciliation, Squeeze rendering, full-alpha creation defaults, the shared
    configuration-grid contract, and numeric modifier/rounding/clamping behavior.
  • The production editor build continues to emit the documented large-chunk advisory. Headless
    render/certify remains intentionally deferred, and real provider smoke testing still requires the
    user's configured BYOK credentials.