Add: states to use all 7 rows

This commit is contained in:
DaZuo0122
2026-02-14 22:15:58 +08:00
parent eddf4b9481
commit c0efb3915b
8 changed files with 283 additions and 20 deletions

View File

@@ -75,3 +75,20 @@ For `sprimo-tauri`, when manifest `image` is exactly `sprite.png`:
- `frame_height = image_height / 7`
- manifest `frame_width` and `frame_height` are ignored for this case.
- animation frame indices are validated against the fixed grid frame count (`56`).
## Recommended 7x8 Row Semantics
For `sprite.png` packs using the fixed `8x7` topology, the project convention is:
- row 1 (`0..7`): `idle`
- row 2 (`8..15`): `happy`, `love`, compatibility alias `active`
- row 3 (`16..23`): `excited`, `celebrate`, compatibility alias `success`
- row 4 (`24..31`): `sleepy`, `snoring`
- row 5 (`32..39`): `working`
- row 6 (`40..47`): `angry`, `surprised`, `shy`, compatibility alias `error`
- row 7 (`48..55`): `dragging`
Default one-shot policy:
- `celebrate` and `success` are one-shot.
- other row animations loop by default.

View File

@@ -60,6 +60,14 @@ Frontend:
from runtime snapshot events.
- For `sprite.png` packs in tauri runtime, frame size is now derived from atlas dimensions with a
fixed `8x7` grid topology to keep splitting stable across packaged asset resolutions.
- `sprite.png` animation naming now follows row semantics with backward-compatible aliases:
- row1: `idle`
- row2: `happy`/`love` + alias `active`
- row3: `excited`/`celebrate` + alias `success`
- row4: `sleepy`/`snoring`
- row5: `working`
- row6: `angry`/`surprised`/`shy` + alias `error`
- row7: `dragging`
- React/Vite frontend now supports two window modes:
- `main`: transparent overlay sprite renderer
- `settings`: pop-out settings window for character and window controls