chore: sync upstream (192 Commits) #15
No reviewers
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/effectcraft!15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/sync-upstream-20261031"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream-Sync von
upstream/main(192 Commits). Fast-Forward.a926aa91test(media): measure the in-place movie's peak RSS in its own processdc1f9eabBatch fixes: rustfmt, is_multiple_of in the Vegas test, drop a Swedish row #2718 retired9f78a8dbFollow-ups to #2740, #2691, #2343: comment quotes the rows; locked viewer uses view3d_label; French track-matte pick whip2a7888d2Follow-up to #2716: addItem applies in before out; anchor takes exactly [x, y]4b776740Follow-up to #2687: an even sample count keeps the Vegas midpoint5802cdc6Follow-up to #2714: a thin bake isn't refused for triangle roundingf282754eFollow-up to #1541: Swedish panel 'Third' matches the menu's 'En tredjedel'ab175519Follow-ups to #2690 and #2684: app context-menu style; doc comment back on its test917f312bFollow-up to #2169: keep layer.deleteAllMarkers layer-only83b4e36eMerge PR #234397957f5cMerge PR #2709bf349cafMerge PR #2692d3001efaMerge PR #2731e89683c5Merge PR #271295f32b93Merge PR #2700edit.copy {"layer": id} copied the selected mask instead of the layer: the mask branch only checked for `layers`, but `layer` is an explicit target too. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>Two queue items that resolve to one output (the same comp added twice, a duplicated item) replaced each other's file inside one job. Nothing is on disk when the job starts, so no check said anything. - A default output name (renderQueue.add, render.preRender, comp.saveFrameAs {queue}, file.createProxy) that another item of the queue writes, in any output module or segment, is numbered like a footage collision: Main.mp4, Main_1.mp4, Main_2.mp4. Sequences are compared by the frames they write, so two stills of one comp at different times keep their names. Names a caller gave and names already stored in items are never changed. - Outputs of one job that still name the same file (explicit names, renderQueue.duplicate, output modules, segments) refuse the whole render before anything is written, naming both items. Sequences clash only on frames both write; a later item with Skip Existing Files leaves the earlier item's frames alone; items refused for footage take no part. Refusing the whole render, not just the later item: which of two items should keep the file is the user's to say, and failing only the later one would leave a half-rendered queue found after they left. renderQueue.duplicate stays a verbatim copy so the clash is reported, not hidden. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDvxCS8xcR28VArjzn1x7UWith SAM 2 (or MobileSAM) chosen, a propagate that started before the model had loaded ran the whole job on the classic engine and reported nothing. The chosen model is now in use before a job that segments with it starts (Roto Brush 2.0 / 3.0 and Object Matte): - roto.propagate and the other Roto jobs wait for a load or download under way when called with wait: true (bounded to 10 minutes). Without wait they refuse while the model is still loading, and start the load in the background. A model that is not installed, or failed to load, is refused either way. - roto.status reports model {selected, installed, active, loading, error} and a notice while the chosen model is not the one in use. source is "model" for a frame the model segmented on its own, instead of "classical". - Auto-propagate keeps edited instances pending while the model loads, and shows errors as toasts instead of dropping them. - Docs: what propagate does now; tracked frames live in the session that ran propagate and are not saved in the project file, so a separate render process does not show them; roto.model.select lists sam2.1-hiera-tiny. Tests: a selected model that is not installed refuses to propagate (no weights needed); SAM 2 selected without wait is loaded before propagate (EFFECTCRAFT_SAM2). The SAM 2 tests and the failing-tracker test take the Roto test lock, since they share the process-wide model slot. Claude-Session: https://claude.ai/code/session_0136kZtXrYo5VUWEFxWduwUDThe ≡ menu of a panel in its own OS window ("Move Panel to New Window") was a root-layer Area drawn by the main window's pass at window-local coordinates, so it opened in the main window at the wrong place. The open menu now remembers the viewport that owns the click and is drawn by that viewport's pass (after the window's last panel body); the main window draws only its own panels' menus. The menu takes at most its window's width (a floated panel can be narrower than the menu), a press in another window dismisses it, and a menu left behind by a window that closed is dropped. Ports the FilmCraft fix (filmcraft#3633). Tested: new unit tests in panels.rs run passes of two viewports against one context: the menu is drawn in the owner's pass and not the main window's, a main-window menu stays there, a 160 pt window holds the menu, a press in another window closes it, and a closed window's menu is dropped. effectcraft-ui-egui lib tests (387), clippy -D warnings, fmt.Offset Paths' Amount, Line Join, Miter Limit, Copies and Copy Offset, and Zig Zag's Size, Ridges per segment and Points reported their internal ids as matchName, so property("ADBE Vector Offset Amount") and the other documented names returned null. They now report and resolve by ADBE Vector Offset Amount, Line Join, Miter Limit, Copies and Copy Offset, and ADBE Vector Zigzag Size, Detail and Points. Lookups by display name and internal id still work.