CanvasKit's getTextSlot mangles non-ASCII text (mojibake on save), so
read text slot values from the source JSON plus an in-memory overrides
map instead of off the animation. Edits now write to both the slot
document and its bound layer fallback.
- canvas.tsx: track text edits in a textOverrides signal, derive slots
from sourceDoc + overrides, reset overrides when the scene reloads,
and bail out of save on a failed HTTP response
- lottie.ts: add readTextSlotValue/writeTextSlotValue and export
LottieDoc; cover slot document and bound-layer shapes
- add scripts/text-slot-unicode.test.mjs and a check:text-slots script
- Introduced "fflate" dependency for improved compression handling.
- Updated SidebarRight to utilize new commitSource function for saving Lottie JSON edits.
- Refactored Lottie JSON structure for better readability and maintainability.
- Implemented server middleware to handle Lottie JSON updates, ensuring the source of truth is maintained.
- Updated .gitignore to include new build and environment files.
- Upgraded dependencies in package.json and bun.lock, including major updates for canvaskit-wasm and tailwind-merge.
- Removed outdated package-lock.json and tsconfig files.
- Replaced React with Solid.js for improved performance and reactivity.
- Introduced new components and updated the app structure for better organization.
- Added new SVG icons and fonts for enhanced UI.
- Updated index.html and CSS for improved styling and layout consistency.
- Introduced a LICENSE file with MIT licensing terms.
- Renamed project from "lottie-experiments" to "text-to-lottie" in package.json.
- Added license information to package.json.
- Updated README.md to reflect project name change and improved usage instructions.
- Revised SKILL.md to clarify the authoring process for Lottie files.