get_map emits negative, out-of-range polygon coordinates for deeds that cross the world seam #229

Closed
opened 2026-08-12 23:14:43 +00:00 by coilyco-ops · 0 comments
Member

QA sweep, Eco via Sirens, day 40, 2026-08-12.

Observed

get_map declares renderSize: 512 and worldDim: {x: 1000, y: 200, z: 1000}, but some polygons fall outside 0..512.

Homestead of MooshMan is returned twice. The first copy sits at y ≈ 494–520; the second is the same shape shifted below zero:

"points": "169.0,-2.6 171.5,-2.6 174.1,-17.9 174.1,-15.4 … 174.1,-2.6 181.8,0.0 …"

Keystone Mines similarly straddles the boundary (y from 0.0 to 7.7 with points at 125.4,0.0), and Ice Dragon's Deed sits at y 25–30 just inside it.

Diagnosis

Eco worlds wrap. A deed spanning the seam is being emitted once at its true position and once as a shifted duplicate with negative coordinates, rather than being split into two in-range polygons at the seam.

Impact

Any consumer that clips to the render box loses half of a wrapped deed; any consumer that does not, scales its viewport to a negative bound. deedCount: 67 also counts the duplicate.

Secondary, while in here

owner_colors and owner_strokes restate the exact fill/stroke already present on every polygon — pure duplication in a payload that is already the largest non-image response in the tool set.

QA sweep, Eco via Sirens, day 40, 2026-08-12. ## Observed `get_map` declares `renderSize: 512` and `worldDim: {x: 1000, y: 200, z: 1000}`, but some polygons fall outside `0..512`. `Homestead of MooshMan` is returned **twice**. The first copy sits at y ≈ 494–520; the second is the same shape shifted below zero: ``` "points": "169.0,-2.6 171.5,-2.6 174.1,-17.9 174.1,-15.4 … 174.1,-2.6 181.8,0.0 …" ``` `Keystone Mines` similarly straddles the boundary (y from 0.0 to 7.7 with points at 125.4,0.0), and `Ice Dragon's Deed` sits at y 25–30 just inside it. ## Diagnosis Eco worlds wrap. A deed spanning the seam is being emitted once at its true position and once as a shifted duplicate with negative coordinates, rather than being split into two in-range polygons at the seam. ## Impact Any consumer that clips to the render box loses half of a wrapped deed; any consumer that does not, scales its viewport to a negative bound. `deedCount: 67` also counts the duplicate. ## Secondary, while in here `owner_colors` and `owner_strokes` restate the exact `fill`/`stroke` already present on every polygon — pure duplication in a payload that is already the largest non-image response in the tool set.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/eco-app#229
No description provided.