Comments: describe the new drop, angle and cache code without product names

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bflatastic 2026-10-07 02:34:14 +07:00
parent 1ea493f257
commit 63a7483a48
5 changed files with 7 additions and 7 deletions

View File

@ -4,9 +4,9 @@
//! never waits for the compositor. Results land in a memory-budgeted cache keyed by the comp's
//! *content* ([`comp_content`]: the comp and everything it uses), frame, scale, view and render
//! options; the timeline draws the cached range as the green cache bar. An edit keeps the frames
//! of every comp it doesn't touch, and undo finds the frames of the state it returns to, as in
//! After Effects. Switches that don't change pixels (Audio, Lock, Shy, Hide Shy Layers) keep
//! the frames too. When the budget is full the least recently shown frames go first.
//! of every comp it doesn't touch, and undo finds the frames of the state it returns to.
//! Switches that don't change pixels (Audio, Lock, Shy, Hide Shy Layers) keep the frames too.
//! When the budget is full the least recently shown frames go first.
//!
//! wasm32 has no threads: jobs wait in the same priority queue and [`Frames::pump`] hands them
//! to a [`RemoteFrames`] (the browser's frame worker, a second engine instance fed with project

View File

@ -41,7 +41,7 @@ pub fn parse_angle(s: &str) -> Option<f64> {
s.parse().ok()
}
/// After Effects' angle value, `0x+45.0°`, at `at` (top left): the revolutions and the degrees
/// An angle value, `0x+45.0°`, at `at` (top left): the revolutions and the degrees
/// are hot numbers of their own (drag to scrub, click to type) and changing one keeps the other.
/// Returns the revolutions' rect, the degrees' rect and the new angle when either changed.
pub fn angle_field(ui: &mut egui::Ui, at: Pos2, id: egui::Id, v: f64, decimals: usize, t: &Tokens) -> (Rect, Rect, Option<f64>) {

View File

@ -2311,7 +2311,7 @@ pub fn show(app: &mut EffectcraftApp, ui: &mut egui::Ui, rect: Rect) {
// Drop targets: effects from Effects & Presets go on the layer under the pointer. Footage and
// comps from the Project panel and files from the Media Browser go where they are dropped: a
// line shows the place in the stack, and over the time graph a marker shows the In point too
// (Shift: at the current time), as in After Effects.
// (Shift: at the current time).
if let Some(payload) = egui::DragAndDrop::payload::<crate::panels::DragPayload>(&ctx)
&& !matches!(*payload, crate::panels::DragPayload::Property { .. })
&& let Some(ptr) = ctx.input(|i| i.pointer.hover_pos()).filter(|_| ui.rect_contains_pointer(rows_rect))

View File

@ -1,4 +1,4 @@
//! Dropping onto the Composition viewer, as in After Effects: footage, comps and solids from the
//! Dropping onto the Composition viewer: footage, comps and solids from the
//! Project panel and files from the Media Browser become layers centred where they are dropped
//! (#85), and an effect from Effects & Presets goes on the layer under the pointer, outlined
//! while it is dragged (#88). Agents do the same with `layer.addItem {position}`,

View File

@ -1,4 +1,4 @@
//! Drag and drop between panels (egui_kittest, real pointer drags), as in After Effects: Project
//! Drag and drop between panels (egui_kittest, real pointer drags): Project
//! items land in the Timeline where they are dropped, between layers and, over the time graph,
//! starting there (#89); dropped on the Composition viewer they are centred where they land
//! (#85); an effect dropped on the viewer goes on the layer under the pointer (#88).