Skip to content

Use Docxodus 12.6.2 and reduce editor input latency - #46

Merged
JSv4 merged 7 commits into
mainfrom
perf/docxodus-12-6-2
Sep 17, 2026
Merged

JSv4 merged 7 commits into
mainfrom
perf/docxodus-12-6-2

Conversation

@JSv4

@JSv4 JSv4 commented Sep 16, 2026

Copy link
Copy Markdown
Owner

Styled typing inside the NVCA footnote previously reached 816 ms because its leading tab forced a complete native transaction. This change uses the released Docxodus 12.6.2 operation and removes additional React-side blocking found in browser traces. The final five production NVCA runs pass all nine interaction phases against the strict 150 ms gate; their maxima are 104, 120, 136, 96, and 144 ms.

Pins docxodus and optional @docxodus/export to 12.6.2 with unmodified, digest-verified runtime assets. Incoming document preparation waits for idle input, yields during sanitization, and observes layout readiness instead of forcing layout during setup. Canvas anchor resolution reuses native formatting reads; canonical aliases share results and invalidate together while retaining story identity, native version, and transaction guards. Public APIs, native pagination decisions, and atomic fallbacks for excluded structures are preserved.

The isolated native footnote insertion improves from 600–622 ms to 29.5–32.7 ms; its final production interior-typing phase takes 32 ms. Traced incoming setup tasks fall from 55.5–80.9 ms to 15.5–20.5 ms. Browser regressions cover leading tabs, formatting alias invalidation, Enter without a full anchor scan before its first frame, and cancellation of incoming layouts during real IME composition.

Measurement summaries and reproduction commands. Generated benchmark JSON and trace artifacts are kept outside version control.

The earlier failed measurements remain in the documented summaries. Two original 184 ms delays did not reproduce under tracing, so their exact causes remain unproven. The final result covers the measured phases on one machine; background layout, individual native calls, and unmeasured workloads can still exceed 150 ms.

Validation at application revision af634f9:

  • npm run check: lint, 82 unit tests, types, library/demo builds, complete API identity audit, and generated pagination check pass.
  • Full browser suite: 55 pass, 2 opt-in skips; application CI is green.
  • NVCA integrity and native/cooperative pagination differential: 2 pass. Save/reopen preserves unrelated paragraph XML, fields, bookmarks, notes, sections, and package parts after 31 commits across the 65-page fixture.
  • Production module/studio smoke: 7 pass, 1 source-only skip.
  • Packed consumer imports, types, and runtime-copy verification pass. Node export API passes; PDF rendering skips because this host denies the unprivileged user namespaces required by Chromium's sandbox.

Upstream fix: Docxodus #802, PR #803.

@JSv4 JSv4 changed the title Upgrade to Docxodus 12.6.2 for leading-tab typing Use Docxodus 12.6.2 and reduce editor input latency Sep 16, 2026
@JSv4
JSv4 marked this pull request as ready for review September 17, 2026 06:33
@JSv4
JSv4 merged commit d5f8304 into main Sep 17, 2026
4 checks passed
@JSv4
JSv4 deleted the perf/docxodus-12-6-2 branch September 17, 2026 06:33
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.

Support atomic formatted insertion in text runs with a leading tab (12.6.1 NVCA footnotes)

1 participant