feat(bridge): Backpacks on protocol 14 — read a backpack (PLAN_REDESIGNS §11.3) #33
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/rust-backpacks"
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?
WhiteThunder's Backpacks as an optional integration (D199), built as PLAN_REDESIGNS §11.3.2 designs it. Read, never write (R2).
integrations.backpacksgainssizes, the N of every registeredbackpacks.size.Nin ascending order. Dynamic-size profiles are left out. Hello is sent again when Backpacks loads or unloads.backpacks.read {steamId}: callsAPI_ReadBackpackContentsAsJson. Only when that returns a backpack does it callAPI_GetBackpackCapacityById. By then the backpack is loaded, so the capacity reflects a size granted later (the trap from §11.3.1).slot,shortname,display(the game's English name, D340),amount, andskinandnamewhen set.blueprint(D341).contentsgoes one level deep, andoverflowmarks a stack past the capacity.pageSizeis Backpacks' Max size per page, read from its config and cached by mtime.backpacks-missing,bad-id,unreadable.The bigger backpack an event lends is a
backpacks.size.Npermission pushed byperm.sync(D337), so this repo needs no code for it. Still protocol 14 (D332).Tested:
node scripts/checkPlugin.jsis ok (57 hooks). The plugin compiled and loaded on both rigs (Rust changeset 167584; Oxide 2.0.7826, Carbon 2.0.262). Both rigs were then put back on the bridge they ran before. The in-game walk rows are §11.3.3, deferred to the end (D331).Companions: Rust-Link, Module-Rust, Android-app (
feat/rust-backpacks), docs (docs/rust-backpacks-build).🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
WhiteThunder's Backpacks as an optional integration (D199), as §11.3.2 designs it. Read, never write (R2): - hello/status `integrations.backpacks` adds `sizes`: the N of every registered backpacks.size.N, ascending (dynamic-size profiles left out). Hello is resent when Backpacks loads or unloads. - `backpacks.read {steamId}`: API_ReadBackpackContentsAsJson, and only when that answered a backpack, API_GetBackpackCapacityById — the backpack is loaded by then, so the capacity follows a later grant (§11.3.1's trap). Each stack is reduced to slot, shortname, display (the game's English name, D340), amount, skin and name when set; a blueprint carries its target as `blueprint` (D341); contents one level deep; `overflow` past the capacity. `pageSize` is Backpacks' "Max size per page" from its config, cached by mtime. - Refusals: backpacks-missing, bad-id, unreadable. The bigger backpack an event lends is a backpacks.size.N permission pushed by perm.sync (D337), so it needs no code here. Still protocol 14 (D332). Compiled on both rigs (Rust changeset 167584; Oxide 2.0.7826, Carbon 2.0.262), then restored to the bridge they ran before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY