Skip to content

feat(editor): complete keyboard selection and console search workflows #31

Closed

Description

@FLwolfy

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.

Dependencies: #29, #30.

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

  1. FLwolfy commented on Oct 27, 2026

    @FLwolfy
    MemberAuthor

    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.trx has 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.

  2. FLwolfy commented on Oct 29, 2026

    @FLwolfy
    MemberAuthor

    Confirmed keyboard/presentation regression from the full-scale check

    The ordinary SDK test output at bc88dc0479398135b6debec254968baa2b31d467 executes 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 that FileBrowserRename remembers 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 MarkInteraction operation. 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.

  3. FLwolfy commented on Oct 29, 2026

    @FLwolfy
    MemberAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions