Files
hyperframes/packages
ukimsanov ee487d00e5 feat(studio): glue API coexistence layer for the NLE swap
What: extends 21 glue files so the OLD timeline/canvas engine and the NEW
NLE components type-check side by side: playerStore (multi-select setters,
zoom pin, snap toggle, non-reactive scale scratch), drag-state types gain
optional NLE fields, timelineLayout/timelineAssetDrop/timelineEditingHelpers/
timelineEditing/timelineElementHelpers/studioHelpers/assetHelpers gain the
NLE exports, DomEditOverlay + gestures + AssetContextMenu + Timeline props
gain optional callbacks/params, contexts gain *Optional hooks, and
TimelineEditCallbacks.onMoveElements becomes a bivariant method accepting
both engines' change shapes. patchDocumentRootDuration's test rides along.

Why: this is the keystone that dissolves the old "welded glue" problem —
every symbol the NLE components need is ADDED next to what the old engine
still uses, so the engine components and the swaps can land as separate
reviewable PRs.

How: 15 authored intermediate files (main content + additive symbols; no
behavior changes — new fields optional, new callbacks unused until wired)
plus 6 files whose final content is already purely additive. New exports
without consumers yet carry TEMP(studio-dnd) ignoreExports entries, removed
by the app-shell swap.

Test plan: tsc --noEmit in studio + studio-server (verifies BOTH engines
compile); bunx vitest run (full suite green incl. the 6 new
patchDocumentRootDuration tests); fallow audit clean.
2026-07-11 18:22:21 -07:00
..
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00
2026-07-11 17:15:24 -07:00