948f06fbf2
M3.14: project files name the version that wrote them, never save unreadable, keep their format
bflatastic
2026-10-05 00:08:07 +07:00
587d4803fe
Never crash: project crate without expect()
Brandon Thomas
2026-10-04 12:58:51 -04:00
6fc39eb133
M3.13: menu bar: Group/Ungroup Shapes in the Layer menu, Window ▸ Learn, flowchart shortcuts, Center In View shortcut, Reveal in Explorer on Windows
bflatastic
2026-10-04 23:58:00 +07:00
a34d0c421b
M3.12: Pre-compose keeps the composition's settings; New Comp from Selection is one undo step with After Effects' options
bflatastic
2026-10-04 23:48:54 +07:00
89653f37de
M3.11: layer commands respect locks, keep children in place on delete, arrange step by step, keep depth and separated dimensions, keep links on duplicate/paste
bflatastic
2026-10-04 23:33:54 +07:00
dc573f77e6
Never crash: PSD reader bounds overflow and input-sized allocations
Brandon Thomas
2026-10-04 12:27:18 -04:00
753de070a0
M3.10: Layer Settings opens Solid Settings with "Affect all layers that use this solid"; settings dialogs register every control
bflatastic
2026-10-04 23:22:09 +07:00
37c9b449c6
Never crash: media crate without expect()
Brandon Thomas
2026-10-04 12:18:36 -04:00
8e4e29844e
Never crash: PDF close-path operators and CFF outlines without a current point
Brandon Thomas
2026-10-04 12:15:02 -04:00
6708ff55b4
Never crash: SVG path data no longer loops forever on a number after Z
Brandon Thomas
2026-10-04 12:14:58 -04:00
ed54a8cd15
Never crash: interchange export/import without expect()
Brandon Thomas
2026-10-04 12:10:09 -04:00
47be3e18f3
Merge main into M13.29 worktree
Brandon Thomas
2026-10-04 01:36:27 -04:00
1c855c3e07
M13.29: GPU effects part D (particles and remaining fallbacks)
Brandon Thomas
2026-10-04 01:35:56 -04:00
5df9cde182
M13.28: GPU pixel ports (fx_pixel2): CC Cross/Radial/Vector Blur, Reduce Interlace Flicker, CC Composite, Color Link, Cineon, HDR Compander/Highlight Compression, Grow Bounds, CC Overbrights, CC Block Load, CC Burn Film, CC Glass/Plastic, CC HexTile, CC Mr. Smoothie, Inner/Outer Key, CC Simple Wire Removal, Basic 3D
Brandon Thomas
2026-10-04 01:33:54 -04:00
764c3a31ad
M13.28: golden hashes of the plan-drawn CPU effects (pinned before the GPU refactor)
Brandon Thomas
2026-10-04 01:06:40 -04:00
b9f09869eb
M13.29: particle effects golden hashes
Brandon Thomas
2026-10-04 01:04:43 -04:00
51c21931ca
Parity audit at d39c0e8: ≈99% weighted, 89/3/0, every P0 feature done
Brandon Thomas
2026-10-04 01:01:21 -04:00
d39c0e818c
Merge branch 'worktree-agent-a9fea98fe9839069d'
Brandon Thomas
2026-10-04 00:53:58 -04:00
d5bb5ad994
Merge branch 'main' into worktree-agent-a9fea98fe9839069d
Brandon Thomas
2026-10-04 00:52:53 -04:00
14f9c44915
Merge branch 'worktree-agent-a3d97efbded4f5ed3'
Brandon Thomas
2026-10-04 00:50:49 -04:00
b3a228ed74
Merge branch 'main' into worktree-agent-a3d97efbded4f5ed3
Brandon Thomas
2026-10-04 00:50:03 -04:00
ce6ece4cd4
M13.27: sim effects golden hashes
Brandon Thomas
2026-10-04 00:50:03 -04:00
b73028d999
Merge branch 'main' into worktree-agent-a9fea98fe9839069d (filmcraft rev 2c5ba7a: AAF and OMF interchange)
Brandon Thomas
2026-10-04 00:45:00 -04:00
8cb6d34c58
M13.26: import command keeps After Effects' menu label
Brandon Thomas
2026-10-04 00:41:06 -04:00
1b61d81f3b
Merge branch 'worktree-agent-a139f16b3a4130998'
Brandon Thomas
2026-10-04 00:39:13 -04:00
3ee5823429
Merge branch 'worktree-agent-a51902829f462d739'
Brandon Thomas
2026-10-04 00:26:41 -04:00
05b614990b
Merge branch 'main' into worktree-agent-a9fea98fe9839069d
Brandon Thomas
2026-10-04 00:25:43 -04:00
955422819c
M13.26: Premiere Pro interop commands (file.importTimeline, file.exportTimeline with ProRes 4444 pre-renders), File menu entries, export dialog, docs and pixel round-trip tests
Brandon Thomas
2026-10-04 00:25:43 -04:00
808ca70d47
Merge origin/main (M13.22 GPU effects part A) into M13.23: both GPU effect lists (236), docs recounted
Brandon Thomas
2026-10-04 00:17:37 -04:00
299fe09efe
Merge branch 'main' into worktree-agent-a139f16b3a4130998
Brandon Thomas
2026-10-04 00:15:57 -04:00
32c53aa35e
av1enc tests: decode with a single-threaded filmcraft-av1 decoder
Brandon Thomas
2026-10-04 00:15:39 -04:00
fe80862eeb
M13.26: effectcraft-interchange crate (L3): timeline documents to compositions and back via filmcraft-interchange (FCP7 XML, FCPXML, OTIO, EDL)
Brandon Thomas
2026-10-04 00:05:54 -04:00
7c675124ae
Merge origin/main (M13.24) into M13.23
Brandon Thomas
2026-10-03 23:59:41 -04:00
4a2ca9115b
M13.23: Shatter wireframe views and Foam's texture / map extras fall back via gpu_supported (no readback attempt)
Brandon Thomas
2026-10-03 23:59:22 -04:00
7a5a93bcbc
Merge branch 'worktree-agent-a38a174c36aa9f23a'
Brandon Thomas
2026-10-03 23:59:12 -04:00
d3a7777939
Merge branch 'main' into worktree-agent-a139f16b3a4130998
Brandon Thomas
2026-10-03 23:57:57 -04:00
cc5c831c0a
media: WebM VP9 alpha imports as straight alpha (FilmCraft 2c5ba7a)
Brandon Thomas
2026-10-03 23:57:57 -04:00
ca9a30bf0c
Merge branch 'main' into worktree-agent-a38a174c36aa9f23a
Brandon Thomas
2026-10-03 19:52:55 -04:00
8ea5b861ed
Merge branch 'worktree-agent-acd022ffe72ec3783'
Brandon Thomas
2026-10-03 19:08:20 -04:00
49d0c16c9f
M13.23: docs — GPU effects part B (parity EFF-5, architecture GPU section, ROADMAP count, gpu crate docs)
Brandon Thomas
2026-10-03 18:36:26 -04:00
a55b07ef01
Merge main into M13.23
Brandon Thomas
2026-10-03 18:35:42 -04:00
7d9f369a5e
Merge branch 'main' into worktree-agent-acd022ffe72ec3783
Brandon Thomas
2026-10-03 18:35:29 -04:00
1b726349ab
M13.24: web app depth (WEB-1) — GPU effects in frame workers, OPFS disk cache, storage manager
Brandon Thomas
2026-10-03 18:35:03 -04:00
590c85bfb0
Merge branch 'main' into worktree-agent-a38a174c36aa9f23a
Brandon Thomas
2026-10-03 18:28:15 -04:00
5d8ad635ad
M13.22: docs — architecture GPU section (time / text / transition families, Advanced 3D split runs and skies on the GPU), parity (EFF-5, 196 GPU effects)
Brandon Thomas
2026-10-03 18:27:39 -04:00
0c4e533460
M13.22: GPU compositing of Advanced 3D runs with blend modes, track mattes (2D and 3D), Preserve Transparency, and environment backgrounds (Classic and Advanced 3D skies)
Brandon Thomas
2026-10-03 18:26:06 -04:00
bbe29e7c5b
Merge branch 'worktree-agent-aab5c21557d20742c'
Brandon Thomas
2026-10-03 18:20:21 -04:00
bae3ccc410
Merge branch 'main' into worktree-agent-aab5c21557d20742c
Brandon Thomas
2026-10-03 18:14:17 -04:00
3881dbb32e
M13.25: Home Templates gallery (thumbnails, open, delete, Save Current as Template), Save as Template and My Custom RGB dialogs, form automation ids; parity update
Brandon Thomas
2026-10-03 18:14:17 -04:00
a909de43b7
M13.22: GPU time effects (Time Difference, Time Displacement, CC Force Motion Blur, CC Wide Time, Pixel Motion Blur, Timewarp's frame building; motion vectors and frame fetches on the CPU)
Brandon Thomas
2026-10-03 17:57:03 -04:00
2e5ea051a8
M13.23: GPU Immersive Video effects
Brandon Thomas
2026-10-03 17:53:23 -04:00
d0b92948ee
M13.22: GPU transitions and perspective (Block Dissolve, CC Glass/Grid/Image Wipe, CC Jaws, CC Line Sweep, CC Radial ScaleWipe, CC Scale Wipe, CC Twister, CC WarpoMatic, Radial Shadow, CC Bender, CC Blobbylize, CC Cylinder, CC Sphere, CC Spotlight, CC Environment, 3D Glasses) and text (Numbers, Timecode: CPU glyph coverage, GPU composite)
Brandon Thomas
2026-10-03 17:48:02 -04:00
9e70cde725
M13.25: View > Simulate Output > My Custom RGB (primaries, white, gamma or an RGB ICC profile; kept in Settings; view.customRgb) and File menu entries for templates
Brandon Thomas
2026-10-03 17:46:41 -04:00
e3e35a7ec2
M13.23: GPU colour management (LUTs, OCIO, Color Profile Converter, Lumetri LUT/look)
Brandon Thomas
2026-10-03 17:43:24 -04:00
b760f1d23a
M13.25: project templates engine — eight original built-in templates with Essential Graphics controls and rendered thumbnails; user .ectemplate templates in the config Templates folder; templates.list/thumbnail/create/saveAs/delete
Brandon Thomas
2026-10-03 17:37:18 -04:00
6b91afc087
M13.23: GPU 3D Channel effects (aux channels as textures)
Brandon Thomas
2026-10-03 17:33:41 -04:00
f7927c8f9f
M13.22: GPU CC light family (CC Light Rays, CC Light Burst 2.5, CC Light Sweep, CC Light Wipe)
Brandon Thomas
2026-10-03 17:31:26 -04:00
f256677c8e
Parity audit at 58163a2: ≈98% weighted (99.6% with fractions), 87/5/0, ≈2–2.5 h wall clock left
Brandon Thomas
2026-10-03 17:26:06 -04:00
081ce79de3
Merge M13.14 agent-interface audit + lazy open (worktree-agent-a5f8967ebd42ce98b)
Brandon Thomas
2026-10-03 17:23:10 -04:00
2c056ae6cf
Docs: accuracy pass — README (306 effects, the web build ships, HEVC/AV1 export, pure-Rust encoders are FilmCraft's plus our own, an accurate 'still to come' list instead of features that exist), ROADMAP (M11 done, M12 mostly done, M13 done, all effects in full), parity summary (no simplified effects left), preferences (web storage is OPFS/IndexedDB; the in-window macOS menu bar setting), CLAUDE.md (the Illustrator sibling is ../vectorcraft)
bflatastic
2026-10-04 01:13:21 +07:00
f95eface83
M13.20: docs — README (Timeline shortcuts and Puppet tools), control protocol (reveal / keyAt / twirlSelected UI commands, timeline.layer.<id>.row and viewer.puppetPin.<uid> element ids), agents guide (Timeline: layer.arrange above, reveal shortcuts, keys.toggleTransform, rename), architecture (puppet selection, rigging and follow-through; per-thread expression context recovery), parity (M13.17–M13.20)
bflatastic
2026-10-04 01:10:36 +07:00
f9990f7387
M13.20: every Timeline property shortcut — double presses AA (Material Options), PP (paint / Roto Brush / Puppet), SS (selected properties), RR (Time Remap), TT (Mask Opacity), MM (all mask properties; a single M now shows Mask Path), FF (missing effects), EE (expressions) next to LL and UU; Alt+Shift+A/P/S/R/T add or remove a keyframe at the current time on every selected layer in one undo step (keys.toggleTransform: separated X/Y/Z Position, Orientation and X/Y/Z Rotation on 3D layers); Ctrl/Cmd+` twirls the selected layers open or closed (from a reveal, their full tree)
bflatastic
2026-10-04 01:10:33 +07:00
aef72378f8
M13.19: the Timeline's rename field and twirl arrows work — the name field took the keyboard focus every frame (Enter and clicking away could never leave it, which also silenced every single-key shortcut); it now focuses once with the name selected, Enter or a click elsewhere commits, Escape cancels; the layer row's click area sat on top of the twirl arrow and the name field (it was registered after them) and now sits under them; Ctrl-click a layer's arrow opens every group inside
bflatastic
2026-10-04 01:09:20 +07:00
52cf74e997
M13.18: drag layer rows in the Timeline to reorder them — a line shows where they land, the selected layers move together (an unselected row moves alone), one undo step, nothing for a drop in place; layer.arrange {above: layer} for agents
bflatastic
2026-10-04 00:30:33 +07:00
bb973e2c76
M13.17: the viewer keeps its pan after a middle-button or Hand drag — egui reports no total drag on the release frame, so the pan was recomputed as the drag's start and snapped back
bflatastic
2026-10-04 00:30:29 +07:00
a02bcc8441
M13.16: puppet Follow-Through — puppet.follow (Puppet tool bar ▸ Follow-Through…) makes pins trail a leader pin for hair, cloth and overlapping action: each follower's Position adds the leader's displacement from rest delayed by delay (the k-th nearest by k × delay with Cascade), scaled by Amount, keeping its own keyframes; leader = the first selected pin, followers = the others; one undo step; reachable over MCP (execute_command)
bflatastic
2026-10-04 00:19:26 +07:00
6ec177de83
M13.15: rig puppet pins to nulls — Points Follow Nulls / Nulls Follow Points (Window ▸ Create Nulls From Paths, paths.* {pins?}) take selected pins, named pins, or every pin of a layer with no path: a null per Position / Advanced pin drives its Position (fromComp of the null's anchor, so parented nulls rig limbs), or rides on it (toComp of the pin's Position) to carry other layers; one undo step
bflatastic
2026-10-04 00:19:25 +07:00
6869cff51b
M13.14: puppet pin editing — click / Shift-click selects pins (puppet.selectPins), a drag from empty canvas or Alt-drag marquee-selects them, Select All with a pin selected takes every pin of that kind, Delete removes the selected pins instead of their layer; Advanced and Bend pins rotate by their ring and scale by its square (Shift: 15° / 5 % steps, one undo step per drag); ⌘/Ctrl-dragging one of several selected pins records them all; pins in their kind's colour, larger under the pointer; pushpin icons for the five pin tools
bflatastic
2026-10-04 00:19:24 +07:00
244cee4687
M8.1: expressions keep working on long-lived threads — boa leaves values on its VM stack when an exception unwinds through call frames (every pending host request does), so after tens to hundreds of evaluations that read layers or effects every expression on the thread failed with "maximum stack size"; a run that hits the limit now gets a fresh context and is retried once (regression test: 6000 host-reading evaluations on one thread)
bflatastic
2026-10-04 00:19:22 +07:00
91bd8ca7c8
Merge main into M13.14
Brandon Thomas
2026-10-03 13:13:50 -04:00
9890a82796
Merge branch 'worktree-agent-a6553844386fd3ca8'
Brandon Thomas
2026-10-03 13:10:45 -04:00
56b3917a14
Merge main into M13.15
Brandon Thomas
2026-10-03 13:00:33 -04:00