docs(rust): the Backpacks spike and its design — D337–D339 (PLAN_REDESIGNS §11.3) #340
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/rust-backpacks-decisions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PLAN_REDESIGNS §11.3, the same shape as §11.2: the spike (§11.3.1), the design to build (§11.3.2) and the walk rows deferred to the end (§11.3.3, D331).
The spike (2026-10-12; Rust 25877464, Oxide 2.0.7826, Carbon 2.0.262, Backpacks 3.17.8), both rigs, with stand-in players:
API_ReadBackpackContentsAsJsonreturns Backpacks' own item data (item ids rather than shortnames, positions that run across pages, nested contents). It returnsnullfor a player who has never had a backpack. It takes 0.2–7 ms once loaded and 55–117 ms on the first read after a boot.API_AddBackpackCapacity/SetBackpackCapacitythrow unless the owner has turned on Dynamic Size (EXPERIMENTAL), and they need the player online. Abackpacks.size.Npermission takes effect at once for a player whose backpack is loaded. Trap: if a capacity was read while the backpack wasn't loaded, a later grant doesn't show until the player reconnects. The bridge must read capacity only through a backpack it has just loaded.Decisions (answered 2026-10-12):
backpacks.size.Npermission leased for the run throughrust_perm_run_grants, the same path as a kit reward. It works for offline players and needs no plugin code. This replaces the +N slots call.Rigs: Backpacks, the spike, and their data, config, lang files and stand-in permissions are removed from both. Each rig still runs its protocol 13 bridge.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY