Wire the macOS platform side of the #50 device layer, feeding the same state buffers the read APIs consume — no API changes, purely OS glue. - mouse: cocoa.ll reads the live cursor via mouseLocationOutsideOfEventStream, converted to framebuffer pixels and y-flipped, so windowed games get Input.mouse_x/y without injection (W_mx/W_my were never written before). - gamepad: win_pad polls GCController.controllers each frame, packing extended- gamepad buttons (SDL_GameControllerButton order) and thumbsticks (16.16 fixed, Y negated for SDL convention) into in_pad_*. Windowed builds now load GameController via -needed_framework (its classes are reached by name, so a plain -framework link dead-strips it); DCE'd in headless builds. - touch: the view's NSTouch phase handlers snapshot the touching set into in_touch_* (normalizedPosition -> framebuffer pixels). Web platform.js gains zero-fill stubs for win_held/mouse/pad/touch so a windowed wasm build resolves the device-layer imports. New test asserts the windowed link loads GameController. Reseeded; full + selfhost suites green (79 + 29). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| anim-ergonomics.md | ||
| coverage.md | ||
| engine-systems.md | ||
| error-handling.md | ||
| input-actions.md | ||
| input-device-layer.md | ||
| input-hardware-bindings.md | ||
| light-ecs-components.md | ||
| light-namespace.md | ||
| light-tiers.md | ||
| README.md | ||
| recover.md | ||
| testing-framework.md | ||
| value-tree.md | ||
Changesets
A changeset is one small Markdown file describing a single user-facing change,
dropped in this directory. x release consumes every changeset here into a new
CHANGELOG.md section, bumps VERSION, and deletes the consumed files.
Format
bump: minor
type: feat
One or more lines describing the change, in the past-agnostic imperative used in
the changelog. Markdown is fine.
bump:—major,minor, orpatch(SemVer). The release version is bumped by the highest level among the pending changesets (unlessx release <level>overrides it).type:— the Conventional Commit type (feat,fix,perf,docs, …); it becomes the bold prefix of the changelog bullet.
Adding one
Create a file with a short, unique name, e.g. changes/regex-namespace.md. Any
filename works except this README.md, which the release step always skips.