Commit Graph

30 Commits

Author SHA1 Message Date
Skyler Lehmkuhl 9699e1e1ea 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).
2025-10-20 01:56:53 -04:00
Skyler Lehmkuhl 74809acd2d Handle missing textures better (and export them properly) 2025-01-13 17:34:16 -05:00
Skyler Lehmkuhl e22bafdeeb remove unnecessary logs 2025-01-10 18:47:43 -05:00
Skyler Lehmkuhl cf90cc183c Make flood fill use shape bounds to instead of stage 2025-01-10 18:28:21 -05:00
Skyler Lehmkuhl 596dd9501c Move growBoundingBox to utils.js 2025-01-10 18:27:10 -05:00
Skyler Lehmkuhl 3819988d5e initial refactoring work 2025-01-10 00:11:55 -05:00
Skyler Lehmkuhl 184578c361 Fix selecting shapes rendering incorrectly 2025-01-06 15:48:57 -05:00
Skyler Lehmkuhl 49dd8f83d1 Fix paintbucket in transformed shapes 2025-01-06 15:26:56 -05:00
Skyler Lehmkuhl 377a1cc6c1 Add eyedropper tool 2025-01-05 19:20:45 -05:00
Skyler Lehmkuhl b860d58e3d Fix transform handles not working correctly on rotated objects 2024-12-31 01:14:54 -05:00
Skyler Lehmkuhl f610ef733d Fix rotation point and add migration for old files 2024-12-30 14:44:11 -05:00
Skyler Lehmkuhl df32b43915 Added rotation (but around the wrong point) 2024-12-30 02:10:53 -05:00
Skyler Lehmkuhl 57f1a05cd6 Import objects from .beam files 2024-12-28 23:33:27 -05:00
Skyler Lehmkuhl 8a647c1d3d Add outliner and do work on importing from .beam 2024-12-28 20:43:54 -05:00
Skyler Lehmkuhl e12622c7bf Make selecting an action 2024-12-25 13:47:49 -05:00
Skyler Lehmkuhl 38922a03e4 Initial support for moving frames 2024-12-23 06:03:59 -05:00
Skyler Lehmkuhl e54d897697 need this file for transform handles too 2024-12-22 06:55:55 -05:00
Skyler Lehmkuhl 455dd4a611 Add keyboard shortcuts to menus 2024-12-21 05:23:17 -05:00
Skyler Lehmkuhl 2d9ced4785 Add layer names 2024-12-19 20:14:08 -05:00
Skyler Lehmkuhl 5679fdf8bd Draw entire timeline as canvas 2024-12-19 04:22:40 -05:00
Skyler Lehmkuhl 747b34ec67 initial work on new color picker 2024-12-16 17:59:27 -05:00
Skyler Lehmkuhl 4d1e42a38b Paint bucket! 2024-12-11 15:11:14 -05:00
Skyler Lehmkuhl 5ed9c06156 import audio and draw it on timeline 2024-12-06 15:28:31 -05:00
Skyler Lehmkuhl 611caf2621 fix shape highlight color 2024-12-05 15:54:30 -05:00
Skyler Lehmkuhl ad17f2531e update menus to reflect undo state 2024-12-05 11:30:53 -05:00
Skyler Lehmkuhl 88d95d7c3a add ellipse tool 2024-12-05 10:35:49 -05:00
Skyler Lehmkuhl a891475c62 load frames in opened file 2024-12-03 00:38:01 -05:00
Skyler Lehmkuhl 95834bb0e9 motion tween 2024-12-02 20:06:50 -05:00
Skyler Lehmkuhl d162a9599b drag ui panes 2024-12-02 15:15:52 -05:00
Skyler Lehmkuhl 7778107e4d change pane type 2024-12-02 14:40:40 -05:00