Skip to content

fix: improve native editing latency and fit expanded tables - #30

Merged
ashtree74 merged 4 commits into
mainfrom
codex/table-fit-and-editing-latency
Oct 6, 2026
Merged

ashtree74 merged 4 commits into
mainfrom
codex/table-fit-and-editing-latency

Conversation

@ashtree74

@ashtree74 ashtree74 commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Editing the 127 kB sample from #24 paid expensive AppKit-backed string statistics and whole source-pane updates during rich editing. Materialize document UTF-8 once, defer hidden source work, and patch changed UTF-16 text and highlighting while preserving editor identity, selection, Unicode and fence handling. Hidden source cannot publish stale input; line splits and Undo recolor the moved suffix.

Expanded tables clamp their preferred minimum to available width, excluding classic scrollbar space. Intrinsically wider content remains fully scrollable inside its rounded surface. The expansion action stays clear of headers and the preceding table, including the smallest custom text size. The width policy follows jedrzejsieracki's #27 proposal.

Validation:

  • 177 XCTest + 5 Swift Testing passed; the opt-in native profiler skips in normal CI and passed separately on the original sample.
  • Final four-mode native recheck preserves the gain: Markdown insertion median 26.87 → 8.56 ms; split Markdown 27.43 → 8.93 ms. Measurements exclude physical screen presentation and do not establish continuous-typing or IME latency.
  • Three new regression tests failed before the review fixes and pass afterward. Coverage includes long-header scroll-to-end, expand/collapse, overlay/reserved scrollbar space, custom 13 px clearance, LF/CRLF and moved heading/list/link suffixes. Existing bounded highlighting, Unicode and serialization tests remain green. The scroll-publication test now awaits the actual expected callback instead of a fixed 50 ms delay; its correctness assertion is unchanged.
  • 9 Python + 8 Node tests, shell/plist checks, complete Universal 2 app and Quick Look build, strict ad-hoc signature checks and current resource/legal matching passed.

Two independent subagents reviewed native editing and rendering without inherited implementation history. They found stale suffix colors, clipped intrinsic table content and small-text action overlap. All were fixed; both reviewers repeated their review and left no unresolved findings in scope. This independent agent review is separate from a GitHub approval submission.

Method, final raw data and limits: docs/EDITING_PERFORMANCE.md.

Fixes #27. Refs #24; keep it open for the reporter's retest after release.
Based on current main 9b0cae9. The signed/notarized 1.8 release artifacts remain intact; no new public release is made here. Windows #22 / PR #28 are outside scope.

Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
@ashtree74
ashtree74 merged commit bef87f2 into main Oct 6, 2026
2 checks passed
@ashtree74
ashtree74 deleted the codex/table-fit-and-editing-latency branch October 6, 2026 20:35
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.

[Idea]: Expanded tables should fill the available surface instead of creating a marginal scroll

1 participant