6 Commits
Author SHA1 Message Date
BillyOutlast e7a2c13591 docs: reflect the implemented language bindings and presence 2026-09-14 14:01:00 -04:00
BillyOutlast 548fe3fda7 feat(gdscript): add the Godot 4 Dropworks binding
- dropworks_client.gd: DropworksClient over the engine HTTPClient with
  pure request builders and parse_endpoint, plus sign_in / unlock /
  submit_score / set_presence.
- test_dropworks.gd runs headlessly under Godot 4.3 and passes.
- CI gains a gdscript job; README documents usage and the test command.
2026-09-14 13:44:57 -04:00
BillyOutlast 1dd9db75fb feat(csharp): add the Dropworks.Client P/Invoke binding
- Dropworks class library: DropworksNative (raw P/Invoke), a managed
  DropworksClient/Session/Exception over the C ABI (session, achievement,
  leaderboard, presence).
- Dropworks.Smoke console app verifies the binding against the real
  libdropworks: builds clean and the smoke test passes (status strings,
  argument validation, last_error).
- CI gains a csharp job; README documents build/run.
2026-09-14 13:42:24 -04:00
BillyOutlast 040c20452d feat(rust): implement the libdropworks C ABI
Phase 3 / #19 native bindings:

- Add a cabi module behind the c-abi feature (crate-type cdylib+rlib)
  implementing include/dropworks.h: client/session create+destroy, session
  getters, sign_in, unlock_achievement, set_presence (NOT_IMPLEMENTED),
  status_string and last_error.
- Uses a per-client blocking reqwest client and validates every pointer
  argument; unlock attaches the session bearer token (the server now
  requires it on /achievement).
- 4 C ABI tests (status strings, null handling, invalid arguments) plus
  the existing transport tests; builds libdropworks.so.
- Document that the server contract landed in drop (45515274).
2026-09-14 12:50:23 -04:00
BillyOutlast 1bb10816a6 feat(bindings): add C ABI header and Rust client scaffold 2026-09-14 09:07:44 -04:00
BillyOutlast 61f53fdbdb feat(init): scaffold dropworks-sdk (plugin API v2) 2026-09-14 01:24:28 -04:00