Tile math
Query model: four patterns, no viewport scanning
- Single-point pull:
world.get.detail.new, given apointIdthe client already computed or learned elsewhere. - Server-side “find nearest”:
find.resource,find.enemy.point: the client sends criteria only (level, type), no coordinates at all; the server searches from the player’s context and returns a single point id.find.monsteris the same family but (unusually) also sends apointIdalongside its criteria. - Bulk per-server/per-alliance push:
world.get.alliance.city.info,lw.req.world.occupy.info: the entire dataset for a server, no pagination. Pushes are invalidate-then-refetch, not deltas. - Batch pull by uuid list: radar/detect-event lookups, pipe-delimited uuid lists.
world.get.march.infos (x,y), used to find marches passing near a raw tile coordinate.