feat(bridge): protocol 11 — the map (phase 14) #11
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/phase-14-map"
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?
The bridge's part of the live map (PLAN.md §30, PROTOCOL.md §17). Protocol 11, and
overlay.tomlmoved to match.Four verbs. None of them is behind
EventsEnabled, because they only read.map.info: the map key, where the picture comes from (companion,renderedornone), its size, SHA-256 and slice count, the game's own grid, and the monuments the in-game map shows.CompanionServertypes hold the Rust+ secret, and a probe that enumerated one printed it into the log.map.fetch: one 512 KiB slice, base64-encoded and serialized on the thread pool. It is refusedstalewhen the key or hash has moved.map.render: the admin fallback (D109). It answersacceptedat once and renders half a second later. The result is kept indata/RunicGateway/map.jpgbeside its key, so a restart on the same map serves it again.map.live: every layer in one answer.OnEntitySpawnedandOnEntityKill, and seeded by one sweep.MapMaxSleepersandMapMaxBasesbound the two unbounded layers.rg.mapprints the state and what an ask costs.Also in this PR:
Grid()now callsMapHelper.PositionToString. Phase 3's 146.3 m cell put a position up to a row too far south. The game fits a whole number of cells to the world, so a 3000 map has 20 cells of exactly 150 m.map.livereads the Steam id fromuserID, becauseUserIDStringwas empty for a server-made sleeper.rg.mapre-reads the picture instead of printing the last answer.Walked on both rigs, Oxide and Carbon, from this source with no conditional compilation. On the rig:
Full walk: docs PR, §30.7.
checkPlugin.js: 32 hooks, all void and all listed.🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY