How to structure and organize a large engine-level extension in MakeCode Arcade?

I’m working on building a MakeCode Arcade extension with multiple core systems (e.g., sprites, camera, zoom, physics), and I want to structure it cleanly for hundreds of lines of code.

Some challenges I’m facing:

  1. Keeping multiple classes and renderable systems organized in a single file.
  2. Maintaining consistent update loops for engine logic (e.g., camera, zoom, physics).
  3. Designing smooth transitions and multi-line functions that interact correctly without breaking other systems.

I’d like advice on patterns or strategies for structuring large engine-level TypeScript files in Arcade, including how to:

  • Organize classes and helper functions
  • Manage renderables and smooth updates
  • Keep code maintainable as the system grows

I’m intentionally avoiding high-level game logic; my focus is on the engine implementation itself. Minimal examples or pseudo-code are welcome.

1 Like