Skip to content

v0.7.3-enhance

Pre-release
Pre-release

Choose a tag to compare

@Kayshen-X Kayshen-X released this 15 Apr 14:42
· 19 commits to main since this release
0154873

Summary

v0.7.3 introduces incremental "append mode" for AI design generation — when the user
asks the AI to add content to an existing canvas, the planner now detects append intent and
reuses the current content root instead of redrawing from scratch. Also ships local OS
font support via the Local Font Access API with vector rendering, a design.md-driven
background/sidebar theming pipeline, and a handful of editor, CLI, and cross-platform
fixes.

Changes

AI / design generation

  • feat(ai): append-mode detection before generate_design dispatch —
    detectAppendIntent parses continue/append prompts against the active page
  • feat(ai): sub-agent preamble describes existing sibling sections so added nodes
    integrate seamlessly
  • feat(ai): planner reuses existing content-root in append mode instead of creating a new
    root frame
  • feat(ai): applyAppendContextToPlan helper wires context into the orchestrator plan
  • feat(types): AppendContext + SubTask.existingSectionLabels
  • feat(ai): design.md-driven background + sidebar color pipeline; auto-derives neutral
    page background when design.md has no explicit background role
  • fix(ai): stop white section bands on dark-themed pages
  • docs(ai): horizontal scroll card-row pattern taught to the generation phase;
    overflow.md example fleshed out

Fonts

  • feat(renderer): enable local OS fonts with vector rendering via the Local Font Access
    API; includes permission handling (prompt / granted / denied / unavailable),
    canvas-width heuristic for unknown local fonts, and blob-based registration into CanvasKit
    (#110)

Editor

  • fix(canvas): render synchronously on resize to prevent a one-frame white flash when
    RightPanel mounts on the first selection after idle
  • feat(editor): Cmd/Ctrl+V now pastes into the selected container (if it can hold
    children) or immediately after the selected node as a sibling, falling back to the root
    when nothing is selected

CLI / cross-platform

  • fix(mcp): on Windows, run the Codex CLI through execSync so PATHEXT resolves
    .cmd/.exe/.ps1 shims (works around Node 18.20/20.12 execFileSync EINVAL from
    CVE-2024-27980)

Code hygiene

  • style: apply oxfmt formatting drift across web, renderer, and AI modules
  • style(lint): clear 22 oxlint warnings (useless spread fallbacks, useless spread into
    arrays, control-char regex → \P{ASCII}, unused catch params / imports, unnecessary
    escapes, new Array(n).fill) — repo now lints with 0 warnings, 0 errors
  • chore: ignore .omx/ build artifact directory

Related Issues

  • Merges #110 (local OS fonts with vector rendering and permission handling)

Type

  • feat — New feature
  • fix — Bug fix
  • refactor — Code refactoring (no behavior change)
  • docs — Documentation

Checklist

  • npx tsc --noEmit passes
  • bun --bun run test passes — 1515 tests in apps/web + 47 in packages/pen-mcp,
    all green
  • No unrelated changes included
  • Commit messages follow Conventional Commits
  • bun run lint — 0 warnings, 0 errors (added as a bonus of this rollup)

What's Changed

  • Enable local OS fonts with vector rendering and proper permission handling by @1MochaChan1 in #110

New Contributors

Full Changelog: v0.7.2...v0.7.3