Skip to content

Land embed-surface on main (in-canvas affordance exports + transparent/faint-ink viewer)#419

Merged
wass08 merged 1 commit into
mainfrom
feat/embed-surface-on-main
Jun 17, 2026
Merged

Land embed-surface on main (in-canvas affordance exports + transparent/faint-ink viewer)#419
wass08 merged 1 commit into
mainfrom
feat/embed-surface-on-main

Conversation

@wass08

@wass08 wass08 commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Brings the feat/embed-surface work onto main. The branch was never merged, yet private-editor's submodule pins its tip — so private-editor has been running editor code off an unmerged branch. This rebases that single feature commit onto current main (the duplicate #416 grab-offset commit is dropped, since main already has it) so the submodule can return to tracking main.

What it adds (4 files, no icon changes)

  • packages/editor/src/index.tsx — exports the in-canvas affordances: Grid, NodeArrowHandles, MoveTool, ToolManager.
  • packages/viewer/src/components/viewer/{index,post-processing}.tsx + store/use-viewer.ts — transparent-background + faint-ink viewer support (transparentBackground, inkOpacity).

These exports are consumed by private-editor's /lab/portable-editor embed; without them on main, that route fails to compile.

Testing

  • tsc --noEmit clean for packages/editor.
  • Rebase onto main is clean (no icon refs touched — main's WebP icons are preserved).
  • Verified the private-editor /lab/portable-editor route compiles + serves 200 against this branch (it 500s against plain main).

🤖 Generated with Claude Code

…t-ink viewer support

Lets a host mount the editor's real editing experience on a bare <Viewer>
without the full <Editor> shell.

editor: export Grid, NodeArrowHandles, MoveTool, ToolManager — the selection
handles, the kind-owned mover, the build-tool host, and the drafting grid that
feeds tools their grid:* pointer events. See the doc comment in index.tsx for
how they cooperate with host camera controls and selection.

viewer: two opt-in, non-persisted presentation flags (both default off, so the
editor and every other consumer are unchanged):
- transparentBackground / <Viewer transparent>: emit premultiplied RGBA masked
  by geometry + outline alpha (outputColorTransform off on that path) so the
  scene can float on any page background. ACES tone-mapping makes a true-white
  opaque background impossible, hence transparency.
- inkOpacity: override the per-mode ink-edge opacity.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@wass08 wass08 merged commit 2e5a4ff into main Jun 17, 2026
1 check passed
@mintlify

mintlify Bot commented Jun 17, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
pascal 🔴 Failed Jun 17, 2026, 3:20 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants