A WebGPU retro game engine for TypeScript, inspired by RetroBlit. Build pixel-perfect 2D games with a clean, fantasy-console-style API.

feat(camera): add BT.cameraClamp and extract clampCameraToWorld utility master

Introduce `clampCameraToWorld(camera, worldSize, viewSize)` in a new `CameraUtils` module and expose it on the BT namespace as `BT.cameraClamp`. The `viewSize` argument is optional and defaults to `BT.displaySize()`. Also export `IndexedSpriteLoadResult` from SpriteSheet as a named type so demos can annotate the result of `SpriteSheet.loadIndexed` without importing from internal paths. Signed-off-by: Vaclav Vancura <commit@vancura.dev> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Vaclav Vancura <commit@vancura.dev>