Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
14 lines
2.5 KiB
Markdown
14 lines
2.5 KiB
Markdown
# Authored objective map presentation
|
|
|
|
Discovered sites and recovered mine warnings use their own map UI elements. They no longer enter the native player-annotation registry, whose user-content filtering also applies to static markers. Normal annotations and their restrictions are unchanged.
|
|
|
|
`ERR_DiscoveryMarker` retains the existing disclosed position/icon/text API. Rough site and mine positions remain stable 500 m grid centers. `ERR_ObjectiveMapPresentation` renders only those disclosed coordinates and owns its widget plus open/close/pan/zoom subscriptions. Stop and location deletion remove that presentation. Updating a clue changes the existing widget; reopening or replacing the map recreates it for the current map/configuration/canvas/container.
|
|
|
|
The standard map uses a sibling of the native `UIIconsContainer` under its existing `MapFrame`. Native faction/task refresh can clear its own icons without removing objectives. The shared map has an authored `ERR_ObjectiveOverlay` frame inside `RTTexture0`. Canvas-to-parent screen offsets and DPI conversion position the icon; viewport culling uses current projected pixels. Cursor input is ignored by the objective layout.
|
|
|
|
The opt-in Workbench `objective-map` fixture requires Core and one round. It opens the real native map menu through its API, then the shared-map root, supplies synthetic already-disclosed marker data, and checks rough/exact updates, pan/culling, asynchronous menu close/reopen, reused configuration with a new root, and teardown. It does not discover a mission location, move a player, alter inventory, simulate user input or change annotation restrictions. Its menu-close request waits for the native next-update callback. Six fixed capture holds permit a read-only observer to inspect the exact private test window.
|
|
|
|
System.MakeScreenshot captures from these runs showed only the world view and are not evidence of map UI rendering. UI qualification must refer to separately retained private-window screenshots and their process/display bindings. The shared fixture disables the render target and binds no physical model, so shared-root UI geometry does not establish visibility of the held texture or the normal 500 ms capture.
|
|
|
|
See the source-bound evidence and current status for completed checks. Manual map interaction, held-map capture, restricted-platform behavior, remote replication/JIP and multiplayer remain separate validation work. The previous packaged handoff remains unchanged until an explicit refresh.
|