mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Merge pull request #1144 from tylerjenningsw/enhance/quick-offset
# Conflicts: # crates/ui-egui/src/i18n/ui.rs
This commit is contained in:
commit
4f57d5d73d
12 files changed
+896
-68
No files matched your search
+5
-1
@@ -248,7 +248,11 @@ build real projects through these interfaces; they are worked examples of everyt
|
||||
/ `selectPrevious` / `selectFollowing`, `keys.move {delta, merge}` (steps sharing a merge key are
|
||||
one drag: each applies to the keys as they were before it, so a key passed over survives) and
|
||||
`keys.transform {…, merge, fromStart: true}` (values are the whole transform since the drag
|
||||
started). Keys of locked layers can't be selected. Copy / paste: `keys.copy`, then `keys.paste`
|
||||
started). **Quick Offset** (Ctrl/Cmd+Alt drag in the Timeline): `layer.quickOffset {delta,
|
||||
layers?}` and `keys.quickOffset {delta}` stagger the selected layers, or each layer's selected
|
||||
keys together, in selection order: the first stays, the last moves by `delta` (comp seconds) and
|
||||
the ones between by equal steps, onto subframes; `merge` + `fromStart: true` make `delta` the whole
|
||||
drag. Keys of locked layers can't be selected. Copy / paste: `keys.copy`, then `keys.paste`
|
||||
at the current time (keys copied from several layers go to as many selected layers in order).
|
||||
`time.nextKey` / `time.previousKey` / `keys.selectAll` take `visible: [{layer, prop}]` to act
|
||||
only on those properties (the Timeline passes its revealed ones, as J / K and Ctrl+Alt+A do).
|
||||
|
||||
@@ -72,7 +72,9 @@ All time is an integer `Tick`, 254 016 000 000 per second, the least common mult
|
||||
broadcast frame rate (×1001) and audio sample rate, so frame and sample positions are exact.
|
||||
Keyframe times are in **layer time**; `layer_time = (comp_time - start_time) / stretch`, and a
|
||||
Time Remap property overrides the source time. Commands snap layer times, keyframe times and
|
||||
comp durations to whole frames, as After Effects does. Timecode is only a display.
|
||||
comp durations to whole frames, as After Effects does, except Quick Offset (`layer.quickOffset`,
|
||||
`keys.quickOffset`), which staggers layers and keys onto subframes, as After Effects 25.4 does.
|
||||
Timecode is only a display.
|
||||
|
||||
## 3. Document model
|
||||
|
||||
|
||||
@@ -118,7 +118,8 @@ one), `panel.tab.Viewer(<n>)` and `viewers.<n>` (View ▸ New Viewer's other Com
|
||||
renames it), `viewer.comp`, `viewer.handle.<layer>.<i>`,
|
||||
`timeline.layer.<id>.bar`, `timeline.layer.<id>.nestedMarker.<i>` (a precomp's comp markers), `timeline.layer.<id>.twirl`, `timeline.layer.<id>.row` (click selects,
|
||||
Enter or a double-click renames, drag reorders), `timeline.prop.<uid>.stopwatch`,
|
||||
`timeline.key.<uid>.<frame>`, `timeline.cti`, `effectControls.prop.<uid>.value` (an angle's
|
||||
`timeline.key.<uid>.<frame>` (and `timeline.keyAt.<uid>.<ticks>`, exact in layer-time ticks, for
|
||||
keys on subframes), `timeline.cti`, `effectControls.prop.<uid>.value` (an angle's
|
||||
revolutions are `timeline.prop.<uid>.revolutions`, `effectControls.prop.<uid>.revolutions` and
|
||||
`properties.prop.<uid>.revolutions`) and `effects.item.<name>`. The Composition viewer adds `viewer.magnification`, `viewer.resolution`,
|
||||
`viewer.roi`, `viewer.grid`, `viewer.channel`, `viewer.exposure`, `viewer.snapshot`,
|
||||
|
||||
Reference in new issue
Block a user