3 Commits
Author SHA1 Message Date
javier 2e7ee12ec1 Adjusted the naming of the library in the Package file.
CI / Build & test (macOS) (push) Has been cancelled
CI / Embedded Swift cross-compile (push) Has been cancelled
Documentation / deploy (push) Has been cancelled
2026-07-25 12:02:55 +02:00
javierandClaude Fable 5 6485997edc Promote subsystem namespaces to the top level of the module
System, Display, Graphics, Sprite, Sound, File, JSON, Lua, Scoreboards,
Network, Rect, SystemEvent, and AccessReply now live at module scope
instead of being nested in the Playdate enum; consumers write
System.log(...) instead of Playdate.System.log(...), and can qualify with
the module name (PlayDate.System) on collision. The Playdate enum remains
only as the raw C API bootstrap (initialize(with:), api, apiPointer), and
Playdate.Error is renamed PlaydateError so no top-level type shadows
Swift.Error.

Breaking change for any existing consumers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 11:10:25 +02:00
javierandClaude Fable 5 3ee071e098 Add CI: host tests, consumer smoke test, Embedded Swift check
Three jobs in GitHub Actions:
- Build & test on macOS against SDK headers fetched from Panic (cached),
  with the pkg-config module generated into PKG_CONFIG_PATH.
- A consumer smoke test (Scripts/consumer-test.sh) generating a scratch
  package that depends on play-date, guarding setting propagation.
- An Embedded Swift cross-compile for armv7em-none-none-eabi
  (Scripts/build-embedded.sh) on a swift.org snapshot toolchain — the
  check that enforces the Embedded Swift subset promise. Verified locally:
  the full module compiles for the device triple with no violations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 10:57:45 +02:00