Skip to content

feat(N1): integrate shared primitive catalog into egui authoring with exact XeLaTeX proof - #44

Merged
i-shutov merged 32 commits into
mainfrom
integration/n1-tikz-native-authoring
Oct 31, 2026
Merged

i-shutov merged 32 commits into
mainfrom
integration/n1-tikz-native-authoring

Conversation

@i-shutov

@i-shutov i-shutov commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

N1 — shared TikZ-native authoring and real generated-source PDF proof

Integration branch exact HEAD at opening: 1ffa195f8ca54805e021e87028fa91c117b7bf63. Draft; no merge before exact-head green tests and reconciliation with current main.

Integrates C07 #39's one catalog (six native TikZ commands, 28 Russian-help parameters, source-range patches) with B07/B08 egui gestures, Split editable source alongside exact PDF and F1/hover/inspector from the SAME catalog. Arrow explicitly requires arrows.meta. Unknown user TeX remains source-only and unchanged. Parameter edits, save/reopen and inverse undo use verified sources. Adds a headless actual app Session proof and a Linux XeLaTeX PDF/font/glyph/source-SHA workflow, not merely handwritten TeX fixture.

Gates

See plans/2026-10-31_N1_SHARED_CATALOGUE_AUTHORING.md and insights/2026-10-31_N1_SHARED_CATALOGUE_EVIDENCE.md. Stacked B08 #43 must not be merged independently before C07. No Photoshop/CAS/TeX replacement, no auto package installs.

Integration QA ledger — latest source head 1a274485ca8e728643bc0cf0ed79a18c6b4d5c34

  • Base main remains 0aa78ae22df0ae84705ba461f017fce256325875 (verified 2026-10-31 10:00 UTC). The integration avoids modifying conflicting main CHANGELOG; N1 provenance is in plans/insights. Add one accepted N1 changelog entry after collision-free merge.
  • First exact source head 1ffa195f8ca54805e021e87028fa91c117b7bf63: real N1 application-state→XeLaTeX run 41190253165 PASS. Artifact ID 13038372905 ZIP 68c89937d470061d50145607ccb99911a40f751a96b265aa75b66bc0c0222033 downloaded and independently CRC, 3 PDFs, embedded fonts, Unicode text and PNG reviewed. Not a GUI-pointer run.
  • Next head found a real legacy QA binary-selection bug: cargo test -p tikzarium-app grew two binary result records and strict D UI proof falsely read first one. Fix restricts to --bin tikzarium-app with independent regression; all original required GUI/font test names remain mandatory.
  • Head 8a2bedbe418848120d44b91188481d3191b8a1d5: N1 run 41190462998 PASS, figure fonts PASS, D QA/Rust CI FAIL due: (1) Windows checkout CRLF static fixture vs generated LF; normalized only static golden (not user source), (2) Clippy 1.91 too_many_arguments in C source-edit helper; replaced with typed SourceTarget(range,revision), retaining fail-closed behavior, not weakening warnings.
  • New exact-head checks in progress: Rust 41190945419, D QA 41190945357, N1 real Linux XeLaTeX 41190945352, font proof 41190945413. These must be checked against 1a274485ca8e728643bc0cf0ed79a18c6b4d5c34, no inherited pass.
  • External MiKTeX hosted proof test(D06): isolated real MiKTeX XeLaTeX CI + six TikZ primitives and strict error proofs #40 still separate and not accepted at previous failing head. Physical Windows 10 and M1/M4 NOT_RUN, no release.

Final exact-head acceptance of integration workpack

On 1a274485ca8e728643bc0cf0ed79a18c6b4d5c34 all four required hosted workflows PASS: Rust Linux/Windows/macOS 3/3, D QA Linux/Windows Server/macOS ARM and independent crosshost 7/7, N1 app-state generated-source XeLaTeX 1/1, font/Unicode proof 1/1. The N1 artifact 13037984941 ZIP SHA256 a86d8bf24338105f6b9519323b761dab4d55c9a24ef0798abef307d33ff0d800 was downloaded and independently verified: ZIP CRC, 34 files, 9 manifest SHA, 3 one-page PDFs, embedded fonts, extracted Cyrillic and mathematical text, user TeX preservation, save/reopen/undo/conflict JSON. D05 crosshost artifact 13038961920 ZIP SHA256 22863f21bae9472f6ff19ceeccd32f54d416a6c35da22ae209150c504d302b12 independently verified accepted=true, all three hosted OS, seven QA jobs and physical_gui=NOT_RUN. This is source-authoring-state and real XeLaTeX/PDF proof, NOT graphical pointer/Windows 10/M1/M4 physical smoke. No MiKTeX hosted claim from separate #40.

i-shutov and others added 30 commits October 31, 2026 12:00
… catalogue

Add source-first literal validation, requirements, conservative capability flags, revision-checked range undo, canonical XeLaTeX fixture and negative/help tests; no B/A/D source edits.

Copy link
Copy Markdown
Owner Author

Foreground integration continuation: confirmed merge 6b0fe35 and requested immediate bounded runs for A/B/C/D/E/F. I own new branch qa/i06-n1-desktop-pointer, only .github/workflows/n1-desktop-smoke.yml, scripts/qa_n1_desktop.py and I06-specific plans/insights. Goal: launch actual egui executable under a Linux X11 display, drive real keyboard/pointer events, save source and collect actual screenshots, not just Session calls. This complements B's headless egui event tests and D's real Windows MiKTeX #40. No claims of physical Win10/M1/M4 acceptance. No A/B/C production files or existing D workflows will be changed in this block.

i-shutov added a commit that referenced this pull request Oct 31, 2026
Adapt 17 real public API source/undo cases for #44 including six typed parameter edits, CRLF/Cyrillic, duplicate spans, manual moves and reload provenance. F-owned fixtures/plans/insights only; replace obsolete #39 ancestry, no production changes.

Copy link
Copy Markdown
Owner Author

D06 independent QA handoff (2026-10-31, no physical-host PASS): #40 old SHA 981d2a829eeba94c1f8f364b0ff4c475c80e885b exact hosted MiKTeX run 41190737264 FAILED at a help-text feature gate, after successfully installing pinned official MiKTeX 25.12 in private temp roots and exactly three missing dependencies. Downloaded and inspected real artifact 13038629910: setup.json, both effective root reports, package metadata/versions; real engine MiKTeX-XeTeX 4.16, AutoInstall=0; no compiled PDFs yet. D-only correction + N1 app Session-generated source execution on actual MiKTeX is now one grouped commit b91240852038ee02a0ae5211f12cd8e753f5821d in same PR #40, pending MiKTeX run 41192192094. N1 source producer from merged commit 6b0fe3551cb6ded5cf737e28a7a74326f0b4fe49 (n1-authoring-proof) is invoked, then both generated variants are built with Rust CLI and directly with external private MiKTeX, strict Cyrillic/math/pdffonts/log/source checks. A #38 current head changes independently (D does not edit A); final integrator candidate must be checked at its OWN SHA, not inherit D's result. Windows Server 2022 CI_ONLY; physical Win10/M1/M4 and mouse/egui acceptance NOT_RUN.

Copy link
Copy Markdown
Owner Author

D06 exact real artifacts handoff, 2026-10-31: hosted MiKTeX run 41192192094, exact #40 SHA b91240852038ee02a0ae5211f12cd8e753f5821d, and actually downloaded/examined 42-file artifact 13038964316. Real private hash-pinned MiKTeX 25.12 XeLaTeX compiled six PDFs, both CLI and direct for handwritten primitives and N1 n1-authoring-proof generated authoring.tex/math-authoring.tex. All source hashes retained; strict missing-library and Lua-only negatives 2/2 PASS (no PDF). Independent real Poppler inspection of downloaded PDFs (outside CI, to diagnose incorrect shutil.which): all 1 page, correct Cyrillic and unicode-math mathematical italic Greek, DejaVuSerif and LatinModernMath embedded; no Missing character:. N1 app Session state reports 6 tools, source-preserving save/reopen/undo and manual-edit conflict PASS, not mouse UI. CI overall FAILED because it selected MiKTeX's same-named pdftotext/pdfinfo/pdffonts rather than independent Chocolatey Poppler and post-inventory mixed MiKTeX stderr advisory into stdout; actual 9130 canonical package rows had zero changes. D-only correction now in PR #40 SHA 54a0d0d7befaa745514c18aa97163507b1c3b11c; new exact MiKTeX CI 41192766128 pending. Important: current merged A BuildService does not yet pass --disable-installer on CLI invocation (direct D proof does). A #38 owns that production fix, not D. Integrator final candidate must verify exact merged SHA and compiler argv, not transfer these hosted CI results to Win10/M1/M4/egui physical acceptance.

Copy link
Copy Markdown
Owner Author

D06 FINAL hosted MiKTeX QA proof for integrator (2026-10-31): #40 exact verified code SHA 54a0d0d7befaa745514c18aa97163507b1c3b11c; distinct real MiKTeX Windows Server 2022 run 41192766128 SUCCESS. I downloaded and independently audited all 44 files from artifact 13039002942, not merely CI badges. Private official pinned MiKTeX 25.12 XeTeX 4.16, effective private roots and AutoInstall=0 readback, direct --disable-installer real engine probe. Six actual PDF files: handwritten primitives + N1 merged app n1-authoring-proof Session-generated Cyrillic text and Unicode math, each through real Rust CLI and independent direct MiKTeX. 4/4 D test results PASS, missing-library and Lua-only negative tests require exact messages/nonzero/no PDF. All six PDFs 1 page, real independent Poppler 26.09 UTF-8 Cyrillic/math and embedded DejaVuSerif/LatinModernMath PASS, no missing glyph, source SHA preserved, 9130/9130 MiKTeX package inventory identical before/after. Real source state save/reopen/undo PASS programmatically only; egui pointer screenshots NOT_RUN. Important integration boundary: A #38 open owns additional production --disable-installer CLI arg and engine identity on merged candidate; D direct compiler uses flag but pre-A merged CLI uses verified private AutoInstall=0. Final integration must verify A exact merged SHA/CLI flags, and cannot claim physical Win10/M1/M4 PASS. The #40 PR description now carries the full verified artifact manifest, main SHA may advance independently.

i-shutov added a commit that referenced this pull request Oct 31, 2026
test(F01): N1 source integrity on merged #44 with typed SourceTarget
This was referenced Oct 31, 2026
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