Optional_Per-entry CustomGeoJSONModule. Each entry owns its own module so display state (currently-rendered feature set, visibility) lives on the entry instead of a shared slice-level module. Lazy-initialised via BYODState helpers.
Optional_True while this entry's _module is rendering on the map.
MapLibre layer specs the slice renders this entry under. Always explicit —
empty until set via setByodLayers (the agent path) or by passing layers
to addEntry. An entry with no layers renders nothing.
Runtime-inferred shape of data — geometry types and a per-property
profile. Derived once at addEntry time (see profileFeatureCollection)
so recall / ingest tools can describe the data to the model without
shipping the full FeatureCollection.
Provenance for the data — used by recall tools and the UI.
A single entry in the BYOD (bring-your-own-data) GeoJSON history. Each entry is a customer-authored layer the agent can read, render, query, or pipe through analyseData / processData.