Skip to content

feat: runtime polish pass across core/node/native layers#39

Merged
RtlZeroMemory merged 1 commit into
mainfrom
feat/runtime-polish-foundation-pass
Feb 12, 2026
Merged

feat: runtime polish pass across core/node/native layers#39
RtlZeroMemory merged 1 commit into
mainfrom
feat/runtime-polish-foundation-pass

Conversation

@RtlZeroMemory

Copy link
Copy Markdown
Owner

Summary

This PR implements the runtime polish backlog before starting a new ink-compat implementation.

Implemented tasks

  1. Layout: fixed nested stack measurement starvation and added regression coverage.
  2. Render: clamped stale scroll offsets in virtualized render paths (virtualList/table/tree/file widgets).
  3. Widgets: enabled true fuzzy command palette matching (no strict substring gate) + tests.
  4. Focus: zone traversal now uses authoritative runtime last-focused map + same-cycle regression.
  5. Node backend: ZR_ERR_LIMIT oversized event batches are recoverable (worker + inline), not fatal.
  6. Native FFI: hardened js_u64 BigInt parsing to reject negative/overflow values + regression tests.
  7. Dim style pipeline: encoded dim attr bit in drawlists, emitted dim/normal intensity transitions in native diff, added tests.
  8. Test/CI hardening: reduced e2e profile for macOS/Windows, stronger native smoke checks, profile-driven e2e gating.

Validation approach

  • Used paired implementer/validator agent workflow per task.
  • Integrated and reran local checks end-to-end.

Local checks run

  • npm run lint
  • npm run typecheck
  • npm run build
  • npm test
  • npm run test:e2e:reduced
  • npm run test:e2e
  • npm run test:native:smoke

All above pass locally in this branch.

@RtlZeroMemory
RtlZeroMemory merged commit 33ae3fe into main Feb 12, 2026
14 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a37a32c353

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +114 to +116
const totalHeight = getTotalHeight(items, itemHeight);
const effectiveScrollTop = clampScrollTop(state.scrollTop, totalHeight, rect.h);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Persist clamped scroll offsets before row hit-testing

This clamps scrollTop only for rendering, but the clamped value is never written back to state, so pointer hit-testing still uses the stale offset (WidgetRenderer computes indices from raw state.scrollTop, e.g. yInContent = state.scrollTop + localY). After data shrink, users can see rows rendered at the top but clicks/context actions map to out-of-range or wrong rows until some other event rewrites scroll state.

Useful? React with 👍 / 👎.

Comment on lines +188 to +189
// Sort and remove non-matches via fuzzy score to allow non-substring fuzzy hits.
const sorted = sortByScore(allItems, effectiveQuery);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve metadata-based command matches when fuzzy sorting

Removing the filterItems(...) step means getFilteredItems now keeps only sortByScore results, and fuzzyScore evaluates label text only. Queries that used to match by description or shortcut (for example, searching by a keybinding string) will now return no results, which is a functional regression in command palette filtering behavior.

Useful? React with 👍 / 👎.

@RtlZeroMemory
RtlZeroMemory deleted the feat/runtime-polish-foundation-pass branch February 19, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant