diff --git a/README.md b/README.md new file mode 100644 index 0000000..fcf9794 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +
+
+
+ A timeline-based animation editor that runs in your browser. +
+ +--- + +RUWIO is a browser-native authoring tool for short interactive animations. +It pairs a Konva-driven canvas with a keyframe timeline, exports a +self-contained HTML/JS bundle, and ships everything as a Vue 3 single-page +app you can serve from any static host. + +## Highlights + +- **Keyframes everywhere** — animate position, rotation, scale, fill, stroke, + shadow, and shape-specific properties. Optional separated position / + rotation tracks. End keyframes terminate a layer cleanly. +- **Layer modifiers** + - **Kaleidoscope** — radial repeats of a layer or a clip instance, + with per-arm time offset for time-pinwheel effects. + - **Wiggle** — deterministic procedural shake (position + rotation). + - **Masks** — destination-in / destination-out cascade, scoped to + track groups, clips, and SVG assets. +- **Asset kinds** — rect, circle, polygon (with vertex / bezier editing), + freeform path, text (14 bundled Google fonts + custom .woff2 / .ttf + upload), images, audio, button-with-states, nested SVG assets, and + reusable clips with their own internal timeline. +- **Scenes** — multiple pages per project; jumpToScene / jumpTo / jumpToFrame + scripted actions; markers; per-scene background video and audio tracks. +- **Render parity** — the canvas2d offline renderer, the Konva live stage, + and the exported runtime all share the same sampling math. What you see + on stage is what gets exported. +- **Eyedropper** colour picking, **motion-path** overlay, global + **seconds / frames** display toggle, custom font upload to + localStorage — the polish kit. + +## Quickstart + +```bash +npm install +npm run dev # start the editor at http://localhost:5200 +npm run type-check # vue-tsc strict pass +npm run build # production bundle to dist/ +npm run pack # zip dist/ into dist-archive/ +``` + +## Stack + +- Vue 3 (`