The core renderer is dependency-free TypeScript. There are wrappers for React, Vue, Svelte, Solid, and Angular. Pets are spritesheet-based, draggable, controllable from app code, and can run occasional idle actions.
-> Demo: https://froemic.github.io/codex-pets-web/ -> GitHub: https://github.com/FroeMic/codex-pets-web
I’d be interested in feedback on the API design, especially the provider/controller model for controlling multiple pets in one app.