Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
121 lines
7.6 KiB
Plaintext
121 lines
7.6 KiB
Plaintext
FROZEN NATIVE QUALIFICATION PROPOSAL — no engine launched by author
|
|
|
|
Apply /tmp/erri-objective-map-proposal/fix.patch first (updated to width360,
|
|
root/text Clipping False, icon-centered vertical anchor, SetObjective caching and
|
|
actual element setter test), then this directory's fix.patch. Exact source/baseline
|
|
hashes are recorded in both source-manifest.json files. Neither target nor original
|
|
workspace was edited. Both patches apply-check against current target.
|
|
|
|
Invocation on the assembled private frozen source, using root-owned disposable
|
|
prefix/profile and the existing hidden/muted runner:
|
|
python3 tools/headless_workbench.py --project core --smoke objective-map --rounds 1 --timeout 240 --compat <private-disposable-compat> --profile <new-private-profile>
|
|
Optional --steam or external dependency options remain runner policy, unchanged.
|
|
Wrong project or rounds now fails immediately after parse_args before any profile
|
|
or prefix processing. Actual CLI refusal tested for chat and rounds2, no outputs.
|
|
|
|
Fixture selector is errBaseSmoke=1 + errSmokeOutcome=objective-map. Ordinary core
|
|
NativeBaseSmoke skips this independent fixture; Chat smoke is not enabled. The
|
|
fixture has180s total preparation budget and fixed90s budget after construction.
|
|
Do not invoke --project chat (prelaunch refused).
|
|
|
|
Measures actual standard MapMenu FULLSCREEN configuration and actual shared
|
|
SharedMapRenderTarget.layout/MapPlain configuration. New overlay root/handler,
|
|
native text/image dimensions, disclosed coordinates, pixel placement and icon
|
|
screen center, pan/zoom/culling, close/reopen, reusedconfig/differentroot, own stop,
|
|
and unchanged annotation count are asserted. No permission flags are altered.
|
|
|
|
Six bounded native screenshots under profile logs:
|
|
err-objective-map-standard-rough
|
|
err-objective-map-standard-exact
|
|
err-objective-map-standard-reopened
|
|
err-objective-map-shared-root
|
|
err-objective-map-shared-long-warning
|
|
err-objective-map-shared-reused-root
|
|
The long-warning stage waits750ms before screenshot. Inspect images manually.
|
|
Shared layout RT is disabled and NOT bound to a model. That is intentional: these
|
|
screenshots/geometry prove only the shared-root UI layout if it actually renders.
|
|
They do NOT qualify physical held texture, actual500ms capture, manual user input,
|
|
restricted-platform behavior, multiplayer or remote JIP. A blank shared screenshot
|
|
must remain an explicit failed/unproven visual gate; do not count widget identities
|
|
as pixel proof. Native icon resource size does not identify the chosen atlas glyph;
|
|
rough/exact glyph appearance requires screenshots.
|
|
|
|
Focus checks:
|
|
probe-green.log: actual OwnsMap/Stop methods + native doubles; duplicate and foreign
|
|
map cleanup behavior; actual wrong-selector CLI refusal; fixed budget/gating checks.
|
|
Producer overlay-green, mine-green and element-green logs are adjacent proposal.
|
|
Legacy ERR_NativeDiscoveryMapProbe is unchanged and is not evidence for this path.
|
|
|
|
Potential native failure boundary deliberately retained: a real foreign map adopted
|
|
while the fixture owns an old MapMenu prevents closing that menu, since its native
|
|
OnMenuClose would close the foreign map. No such interference is arranged; a failed
|
|
run must be reset through private runner cleanup. No broad menu cleanup is used.
|
|
|
|
SUPPORTED PARENT CORRECTION (after retained native CanvasWidget refusal)
|
|
The fixture independently resolves ERR_ObjectiveOverlay for the authored shared
|
|
root, otherwise UIIconsContainer.GetParent() for the standard menu. Objectives
|
|
are siblings of native icon ownership, not children removed by native faction
|
|
refresh. Exact actual widget parent, presentation parent and native canvas are
|
|
asserted. FrameSlot coordinates include canvas-screen minus container-screen
|
|
origin before DPI conversion; actual icon screen center is independently checked.
|
|
probe-parent-green.log executes the entire actual Inspect method, including
|
|
nonzero unequal origins, DPI2/1.25, wrong parent/root/canvas, wrong screen box,
|
|
rough coordinates, and dedicated-overlay priority. Prior cleanup/selector cases
|
|
still pass. Removing the screen-origin adjustment compiled and runtime-failed;
|
|
log: /tmp/erri-objective-map-review-0744/parent-offset-mutation/red.log.
|
|
No native operations were run for this correction. Existing native compile/GUI
|
|
errors remain retained; parent decides separately whether script-specific geometry
|
|
assertions succeed. Screenshots must still establish glyph appearance, long-label
|
|
fit and clipping. This fixture does not prove manual input or held-map capture.
|
|
|
|
ASYNCHRONOUS MENU-CLOSE AND EXTERNAL UI CAPTURE CORRECTION
|
|
Installed core SDK MenuManager.CloseMenu queues closure for the next manager
|
|
update. The fixture now records one accepted request, keeps its original menu
|
|
pointer, and waits under the unchanged90s deadline for its exact-config OnMapClose
|
|
callback AND closed native map. The overlay-root absence assertion still applies
|
|
after these real lifecycle conditions. Foreign open map replacement fails without
|
|
closing it; Stop does not queue the same request twice. Actual methods cover
|
|
callback-before-IsOpen=false, unrelated callback, no callback, leaked widget,
|
|
repeated polling, cancellation and foreign replacement (probe-async-green.log).
|
|
Restoring the immediate-close assumption compiles then runtime-fails in
|
|
/tmp/erri-objective-map-review-0744/async-close-mutation/red.log.
|
|
|
|
System.MakeScreenshot(path) has NO include-UI argument in installed core SDK;
|
|
attempt3 outputs showed the3D view only, so these world captures are NOT UI proof.
|
|
Six exact log checkpoints now hold each inspected state1500ms before mutation:
|
|
ERR OBJECTIVE CAPTURE READY: standard-rough
|
|
ERR OBJECTIVE CAPTURE READY: standard-exact
|
|
ERR OBJECTIVE CAPTURE READY: standard-reopened
|
|
ERR OBJECTIVE CAPTURE READY: shared-root
|
|
ERR OBJECTIVE CAPTURE READY: shared-long-warning
|
|
ERR OBJECTIVE CAPTURE READY: shared-reused-root
|
|
Parent's separately authorized private-display capture may read these windows.
|
|
After each hold, exact active map ownership is checked again before any following
|
|
mutation, pan, close or teardown. No display capture is performed by this fixture.
|
|
|
|
FINAL STANDARD VISUAL QUALIFICATION CHECKPOINT
|
|
Synthetic marker now uses player origin+(1037.25,0,1063.75), without moving any
|
|
actor. Existing rough quantization and exact projection assertions remain. This
|
|
separates the centered annotation from the nearby native player arrow/coordinates.
|
|
The original six checkpoints remain. A seventh checkpoint is now emitted on the
|
|
ordinary STANDARD map, after actual Inspect of the long mine-warning label:
|
|
ERR OBJECTIVE CAPTURE READY: standard-long-warning
|
|
The label is held1500ms, then restored to Radio station before menu close, so
|
|
standard reopening/shared stages retain their prior assertions. Actual extracted
|
|
phase blocks5/22/23 prove label inspection, bounded delay, single capture, no early
|
|
close/reset and final restoration. Existing actual cleanup/async/geometry tests
|
|
still pass (probe-final-visual-green.log).
|
|
|
|
Parent's preceding owned-window run passed91 assertions and displayed standard
|
|
overlay text; those earlier markers overlapped native center glyphs. The disabled
|
|
shared RT root rendered only the world, so shared-root evidence remains GEOMETRY
|
|
ONLY. No physical held texture/input experimentation is added or claimed.
|
|
|
|
CENTER-CURSOR SEPARATION
|
|
Center(zoom) now pans to disclosedX+100.0/zoom, disclosedZ. This places
|
|
the annotation100screenpixels left of the centered native cursor at both0.3
|
|
and0.6zoom without moving input or changing marker data. Actual Center method
|
|
regression verifies both scales, unchanged data and native pan arguments; all
|
|
previous checks pass (probe-final-center-green.log). Existing image projection
|
|
assertions are unchanged.
|