gopdsdk v0.10.0 - Complete System Integration
·
17 commits
to master
since this release
gopdsdk v0.10.0
This release completes the offline system and lifecycle integration planned for P10.
System control
- Added copied launch arguments and loaded-game path.
- Added restart with caller-provided launch arguments.
- Added owned 400×240 system-menu images.
- Added auto-lock and crank-sound controls with lifecycle restoration.
- Added mirror-started and mirror-ended lifecycle events.
- Added bounded ordered button callbacks with overflow reporting and termination suppression.
Clock and device environment
- Added current Playdate epoch time with millisecond precision.
- Added epoch/calendar conversion with validation.
- Added an independent high-resolution elapsed timer.
- Added copied OS version, language, and game PDX version information.
- Moved
Input.DeltaSecondsto the wrapping monotonic millisecond clock so frame updates no longer reset the public elapsed timer.
Intentional omissions
Low-level delay, allocator, instruction-cache, printf-style formatting/parsing, fatal-error, and raw userdata entry points remain outside the public Go API. They are runtime plumbing or have direct Go equivalents.
Native console logging remains a development facility. FPS remains available through the existing read-only playdate.Display capability without adding a system-owned FPS drawing contract.
Validation
- Full
go test ./...andgo vet ./... - Windows, macOS, and Linux native CI
- Linux race detector
- Playdate SDK 3.1.1 Simulator compilation, packaging, and interactive acceptance
- TinyGo conservative hard-float device compilation, linking, relocation validation, and packaging
- Physical Playdate installation and complete P10.1/P10.2 interaction acceptance
- Conservative-GC soak, bounded-memory validation, and unchanged post-run
crashlog.txtanderrorlog.txt
See MIGRATING.md for adoption guidance and CHANGELOG.md for detailed evidence.