filmcraft/crates
ReReddo d67583385b project panel: drag in empty space to marquee-select, in List, Icon and Freeform views (#578)
Dragging with the left button from empty space in the Project panel draws a
selection rectangle, and every clip whose row or card it touches is selected,
live. In Icon view the gaps between cards count as empty space too, so a click
there deselects. A plain drag replaces the selection, Shift or Ctrl adds to
it, and Escape cancels and restores the selection the drag began with. The
selection goes through project.select; the rectangle registers
project.marquee.

Synthetic input (control channel, MCP, UI tests) now sends ModifiersChanged
around a pointer press and release that carry modifiers, so a drag that egui
recognises frames after the press still sees Shift / Ctrl, as with real keys.
This also lets automated Shift-drags of the Timeline marquee add to the
selection.

Limits: the rectangle does not select bins (the panel tracks one selected
bin), and in List view, where rows span the full width, it starts in the
empty space below the rows.

Tests: five project_panel_ui tests. The ui-egui suite passes except the two
Windows CRLF failures fixed in #488.
2026-10-10 12:38:47 +03:00
..
aac codecs: HE-AAC plays at its output rate; AAC export caps the bitrate (#108) 2026-10-06 22:28:30 -05:00
ac3 Merge pull request #16 from storytold/pr/never-crash-codecs-small 2026-10-04 16:16:55 -04:00
apv Codecs: add clean-room APV (RFC 9924) decoder, encoder, container support, and export presets 2026-10-06 17:24:34 -04:00
audio-dsp Audio: play a sequence on a device at another rate without phase jumps 2026-10-07 00:35:29 -07:00
automation MCP render_frame: max_side 0 means no limit (#459) 2026-10-09 20:55:36 +02:00
av1 Windows: skip AV1 oracle tests when ffmpeg lacks libsvtav1/libdav1d 2026-10-09 15:19:08 +01:00
bitstream Never crash: deny the panicking lints in the already-clean crates and apps 2026-10-04 16:08:23 -04:00
captions MCC export: end each ancillary packet with its checksum byte so FFmpeg reads the captions (#544) 2026-10-10 09:15:03 +02:00
cfb Merge pull request #27 from storytold/pr/never-crash-clean-crates 2026-10-04 16:19:27 -04:00
codecs Merge pull request #446 from LloydNicholson/fix/mp4-color-from-bitstream 2026-10-10 05:03:11 -04:00
color Never crash: deny the panicking lints in the already-clean crates and apps 2026-10-04 16:08:23 -04:00
dnx Merge pull request #16 from storytold/pr/never-crash-codecs-small 2026-10-04 16:16:55 -04:00
edit Merge pull request #257 from MrCloudy2/feat/edit-point-menu-219 2026-10-10 05:01:25 -04:00
engine Format: rustfmt the clip_ops tests that landed with #561 2026-10-10 05:11:32 -04:00
export Merge remote-tracking branch 'origin/main' into fix-361 2026-10-09 10:17:58 -04:00
format Project files: each sequence reopens with its playhead where it was left 2026-10-10 05:22:05 +08:00
frame Merge remote-tracking branch 'origin/main' into fix-368 2026-10-09 09:57:52 -04:00
geom Never crash: deny the panicking lints in the already-clean crates and apps 2026-10-04 16:08:23 -04:00
golden GPU2: standard effects on the GPU compositor (#30) 2026-10-05 07:50:20 -04:00
gpu TIME.FRAME_NAVIGATION: Preserve exact frame steps and bound time arithmetic 2026-10-10 09:00:34 +10:00
h264 HW5: Linux VA-API H.264 hardware decoding (#30) 2026-10-09 08:35:57 +07:00
h264enc fix: validate hostile project, export and MXF inputs 2026-10-07 20:38:43 -04:00
hevc HW5: Linux VA-API HEVC hardware decoding, Main and Main 10 (#30) 2026-10-09 09:00:30 +07:00
interchange Merge pull request #497 from digitaldecaycreations-lgtm/fix/windows-verbatim-pathurl 2026-10-10 05:00:37 -04:00
isobmff chore(lints): preserve behavior in workspace clippy cleanup 2026-10-08 18:22:27 +08:00
matroska chore(lints): preserve behavior in workspace clippy cleanup 2026-10-08 18:22:27 +08:00
media Merge origin/main into multi-stream audio 2026-10-09 10:08:09 -04:00
mpeg2v mpeg2v: seed_sweep derives its seeds without overflowing 2026-10-06 13:51:43 -04:00
mpegts Merge pull request #15 from storytold/pr/never-crash-containers 2026-10-04 16:16:36 -04:00
mxf #210 review: bound MXF reads by the file, keep legacy projects opening, allow 16K 2026-10-07 20:52:53 -04:00
ogg Containers: never crash — mpegts, ogg, mxf, matroska without expect/unreachable 2026-10-04 11:37:58 -04:00
opus Merge pull request #16 from storytold/pr/never-crash-codecs-small 2026-10-04 16:16:55 -04:00
platform Merge pull request #486 from MasakatsuFunaki/nvenc-rgba-input 2026-10-10 05:03:06 -04:00
project Merge pull request #506 from liangforstudy/fix/save-playhead 2026-10-10 05:02:24 -04:00
prores Merge pull request #16 from storytold/pr/never-crash-codecs-small 2026-10-04 16:16:55 -04:00
render Merge pull request #514 from vbasky/feature/graphic-gradient 2026-10-10 05:02:04 -04:00
scopes Merge pull request #27 from storytold/pr/never-crash-clean-crates 2026-10-04 16:19:27 -04:00
speech Merge pull request #27 from storytold/pr/never-crash-clean-crates 2026-10-04 16:19:27 -04:00
testkit Clippy 1.99: fix new lints so `cargo xtask ci` is green again 2026-10-04 15:55:23 -04:00
text Merge pull request #277 from midasdf/fix/vertical-japanese-punctuation 2026-10-09 09:23:20 -04:00
time TIME.FRAME_NAVIGATION: Preserve exact frame steps and bound time arithmetic 2026-10-10 09:00:34 +10:00
ui-egui project panel: drag in empty space to marquee-select, in List, Icon and Freeform views (#578) 2026-10-10 12:38:47 +03:00
vp9 vp9: never crash — no unwrap/expect/panic in the decoder, deny them 2026-10-04 11:15:05 -04:00