0.7.0: macro clips, scripts, markers, button state transitions

Headline features across 11 slices (see individual commits for details):

- Markers on the scrub ruler (name, color, drag, m shortcut, used as
  jump targets in scripts/actions)
- Script tracks with action frames, full action authoring dialog with
  a reusable ActionEditor component
- Button clips (definitions + placed instances), 4-cell timeline
  rendering, sidebar authoring, drag-to-track, per-instance label and
  onClick editing
- Button canvas runtime: hover/pressed/disabled state machine, onClick
  execution via evalAction, visual state changes and state-to-state
  transitions with per-transition duration + easing
- Action union: play/pause/rewindToLoop/jumpTo/jumpToFrame/
  jumpToMarker/setButtonState/setButtonDisabled/script
- Script DSL parser for the `script` action: play/pause/rewind,
  jump to seconds/#frame/@marker, state btn:label <state>,
  enable/disable btn:label, // comments
- Forward-only script frame firing tied to natural playback tick (no
  firing on scrub or loop wrap)
- Export runtime (exportPlayer.ts + server renderer) mirrors the
  editor: evalAction, button rendering with canvas-space hit testing,
  transitions, DSL parsing. RUNTIME_VERSION bumped from 1 → 6.

Known gap: buttons can be created and dragged onto tracks but their
per-state visuals can't be customized in-app yet (the seed gives a
four-colour rect per state). State-authoring mode is a follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
thandClaude Opus 4.7 committed 2026-04-20 21:49:53 +02:00
1 parent 68ea8576b6
commit 1fc9eb72be
1 file changed
+1 -1
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "animatr",
"private": true,
"version": "0.6.0",
"version": "0.7.0",
"type": "module",
"scripts": {
"dev": "vite",