Document segment batches and draped Wildlife privacy cells

Describe the segment batch lifecycle, per-item picks and styles, and the
single-primitive engine implementations. Document the restored Wildlife
fill and outline and replace the stale no-fill description.

The documentation follows Cesium's stem behavior and original draped
privacy appearance. No coupling count fell or grew; all eleven metrics
remain unchanged.
This commit is contained in:
German Khokhlov committed 2026-11-07 22:47:24 +04:00
1 parent db4bdba64f
commit be08163caa
2 files changed
+29 -2

No files matched your search

+4 -2
View File
@@ -447,8 +447,10 @@ checks, is a fresh success that clears earlier rows; only a malformed or failed
upstream reply serves stale and starts a retry cooldown. WHALES accepts only
recognized cetaceans; other identified marine mammals appear under ALL or
MAMMALS. Sensitive iNaturalist locations remain 0.2° privacy cells, drawn as
outlines (`engine.lines`), with no fill yet; Acartia
positions are rounded to 0.01° on the server. Acartia comments are never retained.
taxon-accent fills at 25% opacity with 2 px outlines at 80% opacity through
`engine.ground`, draped on terrain and tiles. Cells are not pickable and
identical bounds and accents share one item. Acartia positions are rounded to
0.01° on the server. Acartia comments are never retained.
Observer identity is retained only for photo attribution.
The layer draws on both engines through one display
+25
View File
@@ -625,6 +625,31 @@ stops animation and disables effects; engine destruction removes its stages
and restores the borrowed bloom state. Sharpen intensity zero disables
sharpening on both engines, following Cesium.
## Wildlife privacy cells
Wildlife privacy cells use one `cell` ground set for distinct bounds and taxon
accents. The fill is 25% opaque and the 2 px outline is 80% opaque, matching
Cesium's original ground geometry. Both drape on terrain and tiles and pass
picks through to the badges. Wide views and detach release the set.
## Batched line segments
`engine.lines.createSegments({ id, widthPx, color, order })` groups independent
straight segments in one batch. `replace(items)` copies pairs of Earth-fixed
endpoints and optional per-item `widthPx`, `color` and `pickId`; `commit()`
rebuilds the drawing once. Segments never connect to one another. `show()`
and `destroy()` affect the whole batch; an empty replacement clears it.
The batch shares `createLine`'s id namespace and `list()`, which includes its
endpoint count and committed `pickIds` in item order.
Cesium draws one synchronous primitive with per-instance colours and widths.
Navara draws one ribbon mesh in the overlay after tone mapping, with scene
depth and independent segment picks. Batches are solid and depth-tested;
curved, dashed, transformed and depth-fail lines still use `createLine`.
Infrastructure and cable references each use one batch for their visible
stems, preserving Cesium's colours, widths, label winners and update cadence.
Infrastructure excludes the whole stem batch while sampling its bases.
### Choosing a primitive
- **A position and an on-screen size:** a mover.