Visual Memory for Growing Codebases
Modern applications depend heavily on visual motion — Lottie animations, dotLottie archives, Rive state machines, and raster sequences. As teams and monorepos scale, managing these visual files becomes a source of silent technical debt.
Duplicate assets get checked into disparate package directories, inflating client bundles. Legacy files remain unpruned after design iterations, cluttering project trees. Engineers lack reference traceability, making deprecation and refactoring manual and uncertain.
Animoria functions as an automated visual asset memory inside your editor. It discovers, inspects, and audits workspace assets on activation and filesystem changes, ensuring every asset is tracked from design handoff to production bundle.
“See every asset. Forget none.”
Automated Governance & Reference Tracing
Rather than requiring manual file searching, Animoria continuously validates your workspace through a local governance engine:
- Structural File Validation: Inspects magic bytes and internal data structures, guaranteeing that corrupt or misidentified files never pollute the gallery.
- Cross-Language Usage Tracking: Analyzes TypeScript, JavaScript, Swift, Kotlin, Dart, Vue, Svelte, and Python source files to locate where assets are invoked via imports,
setAnimation,R.raw.*, or asset path references. - Monorepo Scope Isolation: Automatically bounds references to the nearest project boundary (
package.json,Cargo.toml,go.mod,pubspec.yaml), eliminating cross-package reference pollution. - Governance Classification: Categorizes files as Unused (zero code references), Duplicate (identical MD5 content matches across directories), or Overused (exceeding project threshold rules defined in
.animoriarc).
Multi-Format Animation & Static Indexing
Animoria parses both animated and static graphics directly inside the IDE runtime:
- dotLottie V2 Support: Decompresses binary
.lottieZIP archives, extracting metadata and allowing instant switching between multi-animation bundles. - Metadata Extraction: Computes framerate, duration, canvas dimensions, layer count, and named markers from parsed vector files.
- Zero-Process Inline Thumbnails: Renders cached preview frames inside the editor without spawning external Chromium processes.
- Unified Inventory: Indexes SVG, PNG, JPEG, WebP, and AVIF files alongside motion assets for complete visual clarity.
Architecture
Built with zero IDE lock-in at its core, Animoria separates pure scanning and governance logic from editor integration layers:
animoria/
├── packages/animoria-core/ # Pure TypeScript — scanning, parsing, usage & governance
├── packages/animoria-vscode/ # Visual Studio Code extension (TreeView & WebViews)
├── packages/animoria-jetbrains/ # IntelliJ Platform plugin (Kotlin & JCEF)
└── apps/animoria-sandbox/ # Web component development environment