Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions .changeset/credits-economy-abi.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/quiet-timers.md

This file was deleted.

30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# kit

## 2.15.0

### Minor Changes

- 384476e: Casino games: the game-kind meta section, credits host functions, and CtxFeatCredits (wire revision 7)

- `GameMeta.Kind` (`GameKindGame` | `GameKindCasino`) classifies a game for
the platform economy, with `GameMeta.MaxPayoutMultiplier` declaring a
casino game's per-stake payout ceiling — a new presence-guarded trailing
meta section (absent = game, so every existing artifact keeps its meaning).
- Three new host functions — `credits_balance`, `credits_wager`,
`credits_settle` — give casino-kind guests an account-wide, host-owned
wallet: atomic escrow wagers, gross (stake-inclusive) settlement clamped to
stake × the declared multiplier, typed refusals
(`ErrInsufficientCredits`, `ErrEconomyDisabled`, `ErrCreditsDenied`,
`ErrCreditsUnavailable`). Game-kind guests are rejected host-side.
- `CtxFeatCredits` (bit 2) declares that an artifact wagers
(declaration-only; no encoding change).
- Go guest SDK: `Services.Credits`; Rust guest SDK: `Room::credits_balance` /
`credits_wager` / `credits_settle`, `Meta::kind` +
`Meta::max_payout_multiplier`, `CTX_FEAT_CREDITS`, `CreditsError`.
- `kittest.Room` gains an in-memory wallet double (`Credits`,
`CreditsStakes`, `CreditsDisabled`); the native dev runner and `memsvc`
(behind `shellcade-kit check`/`play`) implement the same semantics.
- Wire revision 6 → 7; ABI.md §3/§4.2 and GUIDE.md document the contract.

### Patch Changes

- c470738: Guard non-positive `Room.Every` durations so they return no timer instead of panicking, and fix stale package metadata.

## 2.14.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "kit",
"version": "2.14.0",
"version": "2.15.0",
"private": true,
"description": "Version management for the shellcade gamekit (Go module + CLI). Versions and changelogs are driven by changesets; binaries by GoReleaser.",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

[package]
name = "shellcade-kit"
version = "2.14.0"
version = "2.15.0"
edition = "2021"
# #[unsafe(no_mangle)] (emitted by shellcade_game! so expansions survive
# edition-2024 game crates) stabilized in 1.82.
Expand Down
Loading