Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user