Migrate from frame-centric to AnimationData system
Replaces legacy Frame-based object positioning and shape management with AnimationData curves throughout the codebase. This enables time-based animation instead of discrete frame indices, providing smoother playback and more flexible keyframe editing. Key changes: - Remove currentFrame getter and frame.keys lookups - Replace setFrameNum() with setTime() for continuous time navigation - Add Layer.addShape()/removeShape() with AnimationData integration - Migrate actions (move, group, delete, z-order) to use animation curves - Update keyboard shortcuts and drag operations to modify curves directly - Leave "holes" in shapeIndex values for proper undo/redo support Rendering now fully driven by AnimationData curves (exists, zOrder, shapeIndex for shapes; x, y, rotation, scale for objects).
This commit is contained in:
parent
5a72743209
commit
9699e1e1ea
922
src/main.js
922
src/main.js
File diff suppressed because it is too large
Load Diff
|
|
@ -177,7 +177,8 @@ function floodFillRegion(
|
||||||
fileHeight,
|
fileHeight,
|
||||||
context,
|
context,
|
||||||
debugPoints,
|
debugPoints,
|
||||||
debugPaintbucket) {
|
debugPaintbucket,
|
||||||
|
shapes) {
|
||||||
|
|
||||||
let halfEpsilon = epsilon/2
|
let halfEpsilon = epsilon/2
|
||||||
|
|
||||||
|
|
@ -201,8 +202,6 @@ function floodFillRegion(
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const shapes = context.activeObject.currentFrame.shapes;
|
|
||||||
const visited = new Set();
|
const visited = new Set();
|
||||||
const stack = [startPoint];
|
const stack = [startPoint];
|
||||||
const regionPoints = [];
|
const regionPoints = [];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue