feat(editor): complete keyboard selection and console search workflows #31
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: Visible-order navigation and Diagnostics occurrence views. Implementation commits: 63d4f7dc, 2bb4da40, bc88dc04.
Evidence: complete report, exact-head delivery attachment, portable test-case/raw-measurement/requirement indexes linked by the report. Specific proof: Workflows/Visual: native Hierarchy/Browser/Console input; 10k search/range/scroll/drag/rename journeys.
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 #31 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 E04 from the approved Editor UI closure plan and its original implementation/acceptance requirements.
Baseline facts and risks at issue creation
Console has Collapse, level filters and Clear but no text search. Native tree/selectable behavior does not prove consistent domain selection, anchor and keyboard focus semantics.
Owner and dependency boundary
Existing Interactions selection/actions, shared controls, Hierarchy/FileBrowser and Console over Diagnostics snapshots.
Implementation
- Implement visible-order Up/Down, Home/End, PageUp/PageDown, Shift ranges and existing platform modifier policy; distinguish focus, selection and activation.
- Respect text inputs, popups/modals, Enter and Escape through existing Action/gesture rules.
- Search message/source/file/diagnostic text with case-insensitive substring matching; combine level filters.
- Collapse counts, details and copy use matching occurrences; derive filtering from revision/query/filter without a second log store.
- Use Core Identity for live objects and existing sequence/group keys for neutral Console records.
Acceptance
- Drive public native input across all three views, including filtering/sorting/ranges.
- No input penetration under text editing/popups/modal; no hidden wrong targets.
- Unicode/Chinese/empty/long queries work.
- Collapsed results, details, copy and selection agree; Clear removes stale view state.
- Batch operations and drag/drop remain atomic and identity-safe.
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 #31 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
Focused branch progress
The working candidate now shares visible-index keyboard intents across Hierarchy, Browser list/tree and Console, while domain selection remains in Core Identity/Interactions. Console search filters the existing immutable snapshot by message/source/file and diagnostic text, with case-insensitive substring semantics and matching occurrence counts. Copy targets are view-owned neutral data and are released on clear/retirement.
Focused native evidence:
e04/keyboard-panels-mode.trxhas 14 passed, 0 failed. It covers actual Hierarchy and Browser list/tree range/focus/activation, text-input exclusivity, non-leaf Ctrl+Space without disclosure expansion, Console Unicode/long-query search and copy, native overlay-button priority, and Stats sampling. The clipboard test installs an owned transport through public ImGui PlatformIO callbacks; it does not write to the user's system clipboard or certify OS clipboard behavior.A native tree activation conflict was corrected through the shared widget's existing session/window state and native key ownership. No parallel identity, event or selection service was introduced. Early fixture failures and corrections are retained locally.
Remaining: complete grid/filter/input cases, the full scale and lifetime matrix, final normal SDK/product runs and SDK-owned architecture/Wiki validation (#41). This issue remains open and is not yet marked fully verified. Evidence owner:
D:/InnoEngine-Verification/editor-ui-closure-2026-10-27.FLwolfy commentedon Oct 29, 2026
Confirmed keyboard/presentation regression from the full-scale check
The ordinary SDK test output at
bc88dc0479398135b6debec254968baa2b31d467executes both unchanged Browser controls successfully. The new 10,000-entry tree case then fails the exact native input-window assertion: keyboard-only navigation in the tree activates rename in the list window instead of the focused tree. Source review confirms thatFileBrowserRenameremembers mouse interaction presentation only; keyboard focus/navigation does not update that presentation.Owner: the existing File Browser presentation and rename state. The correction will record the focused tree/list/grid before drawing its contents, using the existing
MarkInteractionoperation. Keep the current Action/rename/History protocol, native text input, persistent data and public APIs. No Core or platform adaptation is needed.Evidence:
e34/official/large-workflows.trx(4 failed, 2 passed). The other three failures occur later at the test's exact-top assertion because its finite wheel event did not scroll the entire 10,000-row extent. Those are a separate fixture-input premise, not evidence of a production scroll defect; increase the actual input travel and preserve the exact-top and identity/drop assertions. All original failures remain retained. This issue remains Open pending the corrected ordinary-project run and final matrix.FLwolfy commentedon Oct 29, 2026
Ordinary-project red/green result
The focused correction now passes all six selected ordinary SDK cases in
e34/focus-correction/large-workflows.trx: four 10,000-entry hierarchy/list/grid/tree workflows and two unchanged Browser identity controls. The native active input window matches the keyboard-focused presentation; filtering, 10,000-entry range selection, inline text commit, rename Undo/Redo, actual top-of-list scroll, retained Core drag identity and move Undo/Redo all pass.Production scope is six lines in the existing tree/list/grid presentation: record the focused presentation through
FileBrowserRename.MarkInteraction. There is no new public API, state service, platform branch or History implementation. The test input now supplies sufficient wheel travel; its exact-top assertion was preserved. The original failed TRX remains available.Official Release compilation reports zero warnings/errors. Debug compilation and the complete final-source profiles, product/performance, architecture/Wiki and CI gates remain pending. This is a verified focused correction, not full issue or parent closure; keep Open until complete branch acceptance and merge.