You are building Blit Ball, an Arkanoid-style brick-breaker, as the flagship starter demo that ships with the create-blit386 scaffolder. Every kid who scaffolds a new BLIT386 project will open this and learn from it. The audience is roughly twelve years old and learning to code. That single fact outranks every other instruction below: when a clever engineering choice and a readable one conflict, pick readable.
Write it in TypeScript now. It will be hand-converted to JavaScript later, so write TS that strips cleanly to JS: classes, interface, plain type aliases, and simple generics only. No enums, no decorators, nothing that leaves scars when the types are removed.
- Read the engine docs through the BLIT386 Documentation MCP. Do not guess API signatures – look them up. At minimum read: Getting Started, Core, Game Loop, Rendering, Palette (guide and API), Assets, Input, Overlay, Easing, Camera, and Bitmap Font