Skip to content

v0.7.4-enhance

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Apr 11:27
· 9 commits to main since this release

Summary

OpenPencil v0.7.4 focuses on reliable AI design generation on dark themes, smarter incremental edits, and
a hardened native agent runtime (MiniMax tool_use, Windows, openai-compat streaming).

Changes

AI / Design generation

  • fix(ai): stop white section bands on dark-themed pages — skip fixSectionAlternation when parent
    fill luminance < 0.5, and strip stale SAFE_LIGHT_HEXES from earlier runs
  • feat(ai): design.md-driven background + sidebar color pipeline (orchestrator planning, sub-agent
    prompts, and MCP all share the palette policy)
  • feat(ai): append-intent detection — "continue"/"add more" prompts reuse the existing content root,
    and sub-agents get an APPEND MODE preamble listing existing siblings
  • feat(ai): snapshot_layout now emits an overlaps array; when the parent is layout: "none" the
    reason points at absolute x/y stacking so agents fix the parent instead of resizing children
  • docs(ai): horizontal scroll card-row pattern with full clipContent + nested fit_content example
  • chore(ai): enable incremental-add skill in the generation phase

Canvas / Editor

  • fix(canvas): require explicit role:'overlay' to escape auto-layout — badge/pill/tag are
    inline roles again and flow normally instead of collapsing to (0,0). isBadgeOverlayNode renamed to
    isOverlayNode; a deprecated re-export keeps external consumers of @zseven-w/pen-core building
  • fix(canvas): render synchronously on resize to prevent the one-frame white flash when flex layout
    shifts (e.g. right panel mount on first selection)
  • feat(editor): paste anchors to the selected container (or as sibling) instead of always landing at
    document root

Renderer

  • feat(renderer): enable local OS fonts with vector rendering and proper permission handling (#110)

Agent (native)

  • chore(agent): bump agent-native to v0.4.0 — absorbs upstream v0.2.0/v0.3.0 (openai-compat
    tool_calls streaming, HTTP error diagnostics), MiniMax tool_use 400 fix (placeholder text block when
    assistant turn is tool_use-only), auto-detected MiniMax Anthropic-compat quirk, and Windows N-API symbol
    export

MCP / Tooling

  • fix(mcp): run codex via shell on Windows so PATHEXT resolves .cmd/.bat shims (works around the
    Node CVE-2024-27980 execFileSync restriction)
  • ci(publish): check-before-publish; package names derived from each manifest so workflow/manifest
    drift is impossible — fixes the spurious CLI-step 404 on re-runs
  • style(lint): clear 22 oxlint warnings across repo
  • chore: ignore .omx/

Type

  • feat — New feature
  • fix — Bug fix
  • docs — Documentation
  • chore — Build / tooling / dependencies

Checklist

  • npx tsc --noEmit passes
  • bun --bun run test passes
  • No unrelated changes included
  • Commit messages follow Conventional Commits