Skip to content

gopdsdk v0.8.0 - Complete Sprites and Collisions

Choose a tag to compare

@Djunichi Djunichi released this 09 Aug 11:05
· 4 commits to master since this release
8f81029

gopdsdk v0.8.0 completes the offline Playdate sprite and collision surface.

Highlights

  • Added sprite geometry and presentation controls:
    • center, bounds, and position getters
    • image flip, draw mode, and opacity
    • stencil images and patterns
    • clip rectangles and draw-offset policy
    • deterministic update and collision enablement
  • Added explicitly owned native sprite tilemaps with validated attachment, access, and lifetime behavior.
  • Added line and detailed-hit queries, non-mutating collision checks, sprite count, bulk membership operations, remove-all synchronization, and collision-world reset.
  • Added bounded per-sprite draw, update, and pair-specific collision-response callbacks.
  • Callback registration is limited to 64 slots per context, with deterministic cleanup and suppression after lifecycle termination.
  • Expanded examples/spritepresentation into the repository-owned acceptance scene.

All additions are backward-compatible with v0.7.0.

Verification

The release passed:

  • formatting, go test ./..., go vet ./..., and git diff --check
  • native CI on Windows, macOS, and Linux
  • Linux race detector
  • external-consumer CLI checks
  • official Playdate SDK 3.1.1 Simulator integration on Windows
  • conservative hard-float device build
  • USB installation and physical Playdate execution
  • the complete presentation, query, collision, and callback acceptance matrix
  • the required 60-second conservative-GC soak
  • bounded memory-growth and unchanged post-run device-log checks

The accepted device artifact uses:

  • 283,104 bytes of static RAM
  • 1,479,780-byte ELF
  • 73,656-byte PDX

Verified toolchain

  • Go 1.26.5
  • Playdate SDK 3.1.1
  • TinyGo 0.41.1 with LLVM 20.1.1
  • Arm GNU Toolchain GCC 15.3.1

Official SDK, Simulator, device-build, USB, and physical-device integration remain verified on Windows. macOS and Linux are covered by native CI, but their official SDK and device integration remain unverified.

See CHANGELOG.md, API.md, MIGRATING.md, and COMPATIBILITY.md for the complete contracts and evidence.