Repository navigation
V3: Blob Tracking brackets, edge dots and label modes - #170
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
|
Follow-up after the user's video test: motion detection now dilates the frame difference (radius 2 plus diagonals) on a 128×72 analysis grid (was 64×36; 96 wide broke the async readback because rows must stay 256-byte aligned), cells keep their state down to 55% of the threshold, and Auto only falls back to luminance when fewer than two cells move for a second. On aura.mp4 the mean motion blob grew from 0.3% to 2.4% of the grid with unchanged ID churn ( |
|
Lock 1:1 is now on by default for new Blob Tracking layers. Saved scenes migrate to free aspect so their frames do not change. |
…roup failures Media load callbacks now ignore replaced or removed passes and pending loads are cleared on disposal. Strict-mode pass failures are reported once at the originating pass instead of at every group boundary.
Publishing now drops every descendant of a hidden group and clears the parentId of any retained layer (the audio source) whose parent was removed, so the published scene passes hierarchy validation on reopen.
Importing a project now disarms the armed remix draft and clears the remix origin alongside the active draft, so later edits cannot autosave under the previous remix title.
…handle unmount Mask coordinates are now measured against the composition crop frame in the renderer and the handles overlay, so preview and export agree when the viewport and composition aspect ratios differ. Unmounting the handles mid-drag no longer writes the drag-start mask back, which overwrote the result of an undo.
… imports - Recompute outputSize from the restored scene config when applying a history snapshot - Normalize Custom imports whose saved composition differs from the guide size, keeping fixed Custom documents intact
… UI test docs - GeometryHandles: keep restore in a ref so rerenders during a drag no longer cancel it - shape-pass (editor and runtime): atan2 returns +-PI on the negative axis when y is zero - shader-export: add shape to SupportedShaderExportLayerType - Document shape-layers-ui.mjs in SHAPE-LAYERS-MANUAL-QA.md
…th limit - restore font size when a text handle resize is cancelled - rotate the edit textarea around the anchor on both axes - cap in-place text edits at the Text parameter's 600 characters
…bracket mode Body: the trail ribbon now accumulates the corner-masked bracket stroke instead of the full outline, in both the app and the React runtime copy.
fbb0a86 to
70a3ff9
Compare
df1a627 to
ffb8e48
Compare
Part 1 of the technical annotations direction (roadmap 6.3): upgrades Blob Tracking with the elements from reference 19 while keeping every existing scene identical.
showOutlinetoggle is hidden and migrates toframeStyleon import, so saved layers with the outline off open as Frame: None.PERSON 47K2, code from a deterministic hash of the seed and the track id so it never flickers), or Custom list (one per line, each track keeps its pick). The label atlas gains letters and punctuation; labels are 20 characters. The panel states that labels are decorative, not recognition.Editor and runtime passes and trackers stay byte-identical apart from imports. The video benchmark gains
--blobscenarios: on SwiftShader at 1080p the outline scene takes 57 ms median and brackets + dots + ID labels 62 ms, so the decorations add about 4.5 ms; not native timing (roadmap 7.2).Validation:
bun run check— passes; the same three preexisting lint warnings.bun run test:composition— full suite passes, includingtests/composition/blob-tracking.mjs: tracker edge points on a synthetic grid, label hashing and atlas coverage, editor/runtime renders over a synthetic block (outline versus brackets at corners and edge midpoints, legacyshowOutline, dot density and placement, the three label modes, alpha parity), and theframeStylemigration. The existing-project expectation mirrors the new appended defaults. Legacy baselines untouched.bun tests/composition/blob-tracking-ui.mjs— actual editor: Frame select, Bracket Length visibility, Prefix + ID with prefix input, Custom list textarea, Edge Dots with conditional Dot Size, save/reopen.Not in this slice (part 2, after confirmation): per-element colors and the standalone Annotations layer with edge-guided and seeded placement, rulers, target circles and metadata blocks. Stacked on #169 (
git-chad/v3-text-editing), within integration #150. Nothing merges to main before V3 is complete. Focused user test: tests/composition/BLOB-TRACKING-MANUAL-QA.md.