Repository navigation
Description
Verified on branch / awaiting merge
Production implementation: dd5979c613b0fe8ebd9f7026f25001ceee9f8cee. Delivered head: dbae93e8f211d45a69cdffdb6afa3a33a0af0fa5; the subsequent diff contains documentation/acceptance evidence only. Exact-head CI: Engine CI and NuGet dependency graph passed; all six checks on this exact head are successful. All applicable acceptance conditions for this issue are verified; unavailable physical/manual device checks are explicitly scoped, not reported passed.
Owner: Real ImGui public input/geometry and matched content review. Implementation commits: d7f383f0, e3f02ebe, bc88dc04.
Evidence: complete report, exact-head delivery attachment, portable test-case/raw-measurement/requirement indexes linked by the report. Specific proof: Visual: independent Zoom/DPI/size matrix and occlusion/text/state cases; Final current and retained original 6000-preparation-frame capture; Physical monitor/IME/manual Mac explicitly unexecuted.
Commands: official tests/Invoke-EditorUiAcceptance.ps1 Contracts/Workflows/Visual/Lifecycle/Products with SDK-selected independent outputs; complete source/entry preparation; formal InnoEngine.Build scripts --ide for the three companions; tests/Invoke-WikiChecks.ps1; controlled public performance fixtures where applicable. The report records original command owners, TRX/binlogs, negative tests, failures, skips, input hashes and device limits.
Profiles overlap; do not sum their pass counts into a distinct-test claim. Windows-only sharing fixtures and Unix-only filesystem fixtures are scoped to the executing host. Real native contexts/simulated display metrics and hidden product feature journeys are not a claim of physical display, OS IME or manual Mac testing. No BGCS/vendor/package/generated-binding modification, parallel Core system, test hook, IVT or private reflection was used.
Keep this issue Open. PR #26 includes an individual Fixes #36 and will close it only when the user merges to master. No automatic merge or premature master-resolution claim.
Original defect, ownership and accepted work
The following baseline observations describe the issue as opened. The verification above supersedes intermediate pending checkpoints; original failed/negative logs remain preserved. Acceptance checkboxes are checked only after the exact delivery-head verification completes.
Parent and original requirement
Parent: #27. Work item E09 from the approved Editor UI closure plan and its original implementation/acceptance requirements.
Baseline facts and risks at issue creation
Some genuine native scale/layout tests and a FlappyBird screenshot exist; they do not cover the original complete matrix or matching before/after visual evidence.
Owner and dependency boundary
Existing native Editor fixtures and public input contracts; domain views retain their presentation ownership.
Dependencies: #30, #31, #32, #33, #34, #35.
Implementation
- Run Zoom 75/85/90/100/110/125/150 percent with DPI 100/125/150/200 percent: at least 28 combinations.
- Cover 1280x720 and 1920x1080, narrow Inspector, small/floating/docked windows.
- Use real ImGui context and public native Host input; distinguish simulated metrics from physical display checks.
- Capture matching layout/data/scale/size baseline and final screenshots.
Acceptance
- Long labels, Unicode/Chinese, text/clipboard, mixed/read-only/Missing/error/busy/empty states.
- Popup/modal/floating occlusion, one scroll owner and bounded combos.
- Same-frame movement/click/double-click/disclosure/overlay and keyboard focus/shortcuts.
- State remains understandable without color alone.
- Record automated geometry separately from human visual conclusions and unavailable devices.
Failure and lifecycle constraints
Preserve diagnostics, cancellation, atomic rollback/publication, Missing recovery and generation retirement. Reuse Core Events, Identity, IO, Serialization and History. Do not modify BGCS/vendor/generated code or add global/implicit imports, compatibility paths, IVT or private reflection.
Evidence and closure
Commits, exact commands, logs/TRX/data and remaining limits will be added during implementation. Until all acceptance passes this issue remains open. After verification mark Verified on branch / awaiting merge; add Fixes #36 with this issue's actual number to PR #26 only when complete. Close on merge to master, not on branch implementation.
Activity
FLwolfy commentedon Oct 27, 2026
The unified Visual profile completed 135 test cases successfully on the current working candidate, including real ImGui contexts and public input. The independent FlappyBird D3D12 product also verified Settings cancellation/reopen and Play/stop without losing Browser contents. Physical multi-monitor DPI and the full matched original/current screenshot set remain separate, unverified requirements; simulated metric combinations do not establish those results.
FLwolfy commentedon Oct 27, 2026
Final product smoke exposed an acceptance configuration error: the Editor boot log reports the actual API (Direct3D11), while my run supplied
BGFXas its expected pattern. The process itself completed 300 frames and full teardown, but this run is retained as failed acceptance and will be rerun with explicit platform-owned expectations. The new unified Products profile also has the same unsuitable default; I will require an explicit expected initialization pattern rather than embedding a backend assumption or weakening the smoke assertions.FLwolfy commentedon Oct 27, 2026
Corrected product expectations have now passed all six Windows Editor combinations: Debug/Release × Direct3D11/Direct3D12/Vulkan, 300 frames each, sRGB enabled, process exit 0 and complete adapter teardown. Logs are
products/stable-<configuration>-<api>.logand matching.boot.logunder the acceptance evidence owner. Commitaf6eac31removes the unified Products profile's backend-specific default assertion and requires an explicit product expectation. This is rendering smoke evidence, not a substitute for the remaining complete visual/input matrix.FLwolfy commentedon Oct 28, 2026
The macOS ARM64 job for 660962a reports seven failures in native input acceptance (Settings search/selection, primary-modifier tree activation and visible-range navigation). The fixtures explicitly compose a Control keyboard policy, but their native ImGui contexts retain the runner-dependent macOS keyboard convention. I am checking the native input contract and will align fixture composition with its declared keyboard policy, then verify the actual input paths and rerun ARM64 CI. This is not a reason to disable macOS acceptance or change BGCS, platform dependencies, or production failure semantics. Issue remains open pending evidence.
FLwolfy commentedon Oct 28, 2026
Source inspection found an additional production boundary issue, beyond fixture composition: the installed Dear ImGui swaps Control/Super inside AddKeyAnalogEvent when ConfigMacOSXBehaviors is enabled. EditorUiInput and list selection currently interpret those normalized flags as physical Core modifiers, while the macOS composition correctly declares Super as primary. I will normalize the presentation snapshot back to the explicit Core modifier meaning, reuse it for list selection, and exercise both native keyboard modes with real input. Native text controls keep their own conventions; no OS detection or platform references are added to shared Editor code.
FLwolfy commentedon Oct 28, 2026
Committed the native modifier and fixture correction in f7dce89. The complete SDK-built PlayMode/native suite passes 141 cases, including four real-input Control/Super × native-mode combinations; Workflows passes 305 and Visual passes 136. The shared presentation layer uses the current native context configuration, not OS detection or a platform project reference. Mac ARM64 CI for this exact commit is running at https://github.com/Wolfiora/InnoEngine/actions/runs/40653896090 . This verifies the focused correction, not the entire E09 screenshot/device matrix; issue remains open.
FLwolfy commentedon Oct 28, 2026
The current continuation expands the real Hierarchy and both Browser input workflows across the existing 56 simulated display combinations (seven Zoom values × four framebuffer scales × two logical window sizes). These are public native-input fixtures with complete range/focus/text-exclusivity assertions, not physical-monitor certification. Test-owned panel dimensions now stay inside each logical display. The existing generic form/docking cases remain separate; no production API or UI behavior was added for testing. Final TRX and exact candidate evidence are pending.
FLwolfy commentedon Oct 28, 2026
Deeper visual-matrix review found that the fixture helper changed managed zoom metrics without reapplying the native layout style. The production Host already prepares style before NewFrame; this is an acceptance-fixture gap, not a confirmed production regression. The next fixture candidate will apply the public SetupStyle contract before frame creation, replay actual Console search/keyboard workflows at all 28 scale combinations and both logical sizes, and expand actual Shader canvas resize coverage to independent zoom/density. Current frozen-candidate verification is preserved separately; no partial result is being labelled complete.
FLwolfy commentedon Oct 29, 2026
The final orchestration review found that Invoke-EditorSmoke.ps1 did not accept the hidden-window mode already used by the full workflow journey. Add an explicit opt-in HiddenWindow switch and pass it from unattended UI Products acceptance; ordinary renderer CI retains its existing visible-window behavior. Hidden initialization/frame checks are reported separately from physical-display/pixel-level acceptance. This prevents unattended runs from taking over the user's desktop without introducing computer use or a production API.
FLwolfy commentedon Oct 29, 2026
The test-owned public presentation/rendering SPI collector now records the historical product's actual native UI triangles, CPU font atlas and both real GPU viewport textures. The replay has zero unavailable texture commands and zero unexecuted draw callbacks. Readback is scheduled through the ordinary render graph and consumed at the following frame safety points; no BGCS, native source or generated binding was changed. The diagnostic color targets explicitly request CopySource in both producer compositions. This remains a software replay of actual submitted UI data/pixels, not a final backbuffer or physical-display screenshot. The current producer capture and normal shutdown are being verified; early invalid-phase/underprepared/time-limited diagnostic attempts remain retained and do not count as passes.