gap: a crop parcel is drawn but its crop can never be named #222
Labels
No labels
agent
agent:ci
agent:done
agent:failed
agent:needs-input
agent:refined
agent:refining
agent:running
agent:shipped
agent:skip
autonomous
autopilot
driven
local
plan
proposal
qa
qa-gap
research
retro
ship
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeroen/cartopolis#222
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Found while QA-ing what #203 shipped (#217).
What I did
Stood in for cartopy's unwritten
server/pipeline/brp.ts: pulled the RVO cropregister off the live PDOK OGC API for two z14 cells, wrote the exact tree
systems::cropsfetches (/brp/coverage.json,/brp/14/<x>/<y>.json), served iton loopback and pointed the client at it with
CARTO_3DBAG_URL. Flew to theFlevoland cell and looked at the fields.
What happened
The parcels draw, each crop in its own tone (
crop_parcels=94in--dump-state,a visibly different picture from the flat green the same viewpoint drew before).
Then there is no way to find out what any of them is.
The register's headline fact is the crop: every feature carries
gewascodeplus a name —
233 / "Tarwe, winter-",1098 / "Peren. Aangeplant voorafgaande aan lopende seizoen.",6660 / "Uien, gele zaai-". The wire carries the number,cartopolis_geo::crops::rgbturns it into a colour, and the number is thendropped. Nothing in the client names a crop: no legend, no hover, no proximity
prompt, no readout. The only user-visible trace of the whole layer is one
attribution line at the bottom of the Map layers panel.
So a player sees the countryside turn into a patchwork of fourteen pale tones and
has no way to learn what a single one means — while the same client will tell them
the house number of the building next door.
What a user would expect
The thing the map now knows to be readable. Any of:
the address readout already appears;
Where the seam is
crates/cartopolis/src/systems/map/crops.rs—WireParcel(usize, u32, Vec<Vec<(f64, f64)>>): category, code, rings. No name, and nothing asks theextractor for one.
crates/geo/src/crops.rs—rgb(category, code)is the only consumer of thecode; ~60 codes are curated by hand there and each already has a comment naming
the crop family, so most of a
code → nametable exists as prose.crates/cartopolis/src/systems/map/world_places.rs/systems/player/interact.rs— where a "what am I standing on?" readout wouldhave to hang.
CellPlaceskeeps only a parcel count.Two ways to close it: have the extractor send the register's own
gewasstringper parcel (bytes: ~30 per parcel, against the ~40 KB a heavy cell already
costs), or ship a
code → nametable beside the tone table. The first stayscorrect as the register adds codes each year; the second needs no wire change.