Skip to content

feat(studio): canvas glue swap — overlay, gestures, selection to final form#2211

Merged
miguel-heygen merged 2 commits into
studio-dnd/pr18-nle-shell-assemblyfrom
studio-dnd/pr20-canvas-glue-swap
Jul 12, 2026
Merged

feat(studio): canvas glue swap — overlay, gestures, selection to final form#2211
miguel-heygen merged 2 commits into
studio-dnd/pr18-nle-shell-assemblyfrom
studio-dnd/pr20-canvas-glue-swap

Conversation

@ukimsanov

@ukimsanov ukimsanov commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

What

flips the canvas editing glue to its final NLE form (25 files): DomEditOverlay renders DomEditSelectionChrome/CanvasContextMenu, the gesture pipeline gains center-anchored corner resize (CapCut model) + z-order commit, dom selection/wiring/geometry-commit hooks move to the multi-select store API. Adds the anchored-resize characterization test.

Why

first of three swap steps; the coexistence layer makes it compile-green without touching timeline or App glue.

How

modified files to final content; no deletions (nothing is orphaned by this step — verified). Both characterization suites from the earlier PR stay green.

Test plan

tsc --noEmit; bunx vitest run (full suite; anchored-resize suite passes from this PR on); fallow audit clean.


Stack position 20/25 — studio NLE overhaul (CapCut-parity timeline + canvas). Graphite manages bases; merge from #2192 upward. Temporary TEMP(studio-dnd) fallow entries (unwired-component windows) are all removed by #2213 (app-shell swap), whose tree is byte-identical to the fully-verified integration branch.

Merge invariant: #2206#2213 land as ONE ordered unit — no cherry-picks, no deploys between #2211#2213 (review-fix foliation concentrates engine wiring at #2213; seam evidence in the #2205 thread).

ukimsanov commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator Author

@miga-heygen miga-heygen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed as part of the 25-PR NLE overhaul stack. Full stack review on #2205 (the keystone). This is one of the critical swap PRs — reviewed with extra scrutiny. No blockers. — Miga

@ukimsanov ukimsanov force-pushed the studio-dnd/pr20-canvas-glue-swap branch from 49a3faf to c50d69d Compare July 11, 2026 10:49
@ukimsanov ukimsanov force-pushed the studio-dnd/pr19-asset-card branch 2 times, most recently from 3e255a1 to 84523e1 Compare July 11, 2026 12:51
@ukimsanov ukimsanov force-pushed the studio-dnd/pr20-canvas-glue-swap branch 3 times, most recently from 436fb8c to 3888f93 Compare July 11, 2026 22:38
@ukimsanov ukimsanov force-pushed the studio-dnd/pr19-asset-card branch from 0dcdd15 to 2508687 Compare July 11, 2026 22:38

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Final rebase review: current head inspected, latest required checks pass, no unresolved blocking findings. Approving; stack order/invariants remain as specified.

@ukimsanov ukimsanov force-pushed the studio-dnd/pr20-canvas-glue-swap branch from 3888f93 to f6d6992 Compare July 11, 2026 23:26
@ukimsanov ukimsanov force-pushed the studio-dnd/pr19-asset-card branch 2 times, most recently from 5b7aa8c to 5032b2d Compare July 12, 2026 01:04
@ukimsanov ukimsanov force-pushed the studio-dnd/pr20-canvas-glue-swap branch from f6d6992 to 7456861 Compare July 12, 2026 01:04
@ukimsanov ukimsanov force-pushed the studio-dnd/pr19-asset-card branch from 5032b2d to 2b47ce6 Compare July 12, 2026 01:23
@ukimsanov ukimsanov force-pushed the studio-dnd/pr20-canvas-glue-swap branch from 7456861 to 5b35c76 Compare July 12, 2026 01:23

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-audit current head 5b35c76: required checks pass; no new actionable threads. Approving current head.

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-reviewed current head and verified the addressed feedback and required behavior. Approval is for this exact head; Graphite mergeability may still be pending.

What: AssetCard — the sidebar asset tile (thumbnail, hover preview, click
policy, context menu incl. add-at-playhead), unwired.

Why: standalone sidebar concept; AssetsTab adopts it in the app-shell swap.

How: new file against the coexistence layer (assetHelpers, AssetContextMenu,
assetClickBehavior, assetPreviewStore); one TEMP(studio-dnd) entry until
AssetsTab wires it.

Test plan: tsc --noEmit; fallow audit clean.
…l form

What: flips the canvas editing glue to its final NLE form (25 files):
DomEditOverlay renders DomEditSelectionChrome/CanvasContextMenu, the gesture
pipeline gains center-anchored corner resize (CapCut model) + z-order
commit, dom selection/wiring/geometry-commit hooks move to the multi-select
store API. Adds the anchored-resize characterization test.

Why: first of three swap steps; the coexistence layer makes it
compile-green without touching timeline or App glue.

How: modified files to final content; no deletions (nothing is orphaned by
this step — verified). Both characterization suites from the earlier PR
stay green.

Test plan: tsc --noEmit; bunx vitest run (full suite; anchored-resize suite
passes from this PR on); fallow audit clean.
@miguel-heygen miguel-heygen force-pushed the studio-dnd/pr19-asset-card branch from 2b47ce6 to e474a3b Compare July 12, 2026 04:00
@miguel-heygen miguel-heygen force-pushed the studio-dnd/pr20-canvas-glue-swap branch from 5b35c76 to 9f3e9ac Compare July 12, 2026 04:00
Base automatically changed from studio-dnd/pr19-asset-card to studio-dnd/pr18-nle-shell-assembly July 12, 2026 04:23
@miguel-heygen miguel-heygen merged commit 0680c80 into studio-dnd/pr18-nle-shell-assembly Jul 12, 2026
16 of 26 checks passed
@miguel-heygen miguel-heygen deleted the studio-dnd/pr20-canvas-glue-swap branch July 12, 2026 04:23
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.

4 participants