Repository navigation
fix(B27 egui): Undo cancels an armed native TikZ pointer gesture - #69
Conversation
…s source Add 48 real egui event-frame shortcut/press/release timelines and B-owned plan and QA journal.
|
Integrator I26: exact B27 |
|
I26 independent real Linux/X11 desktop gate: FAIL — B27 not ready for merge (exact QA HEAD Independently audited FAIL artifact 13067228699: ZIP SHA-256 Likely root cause from exact B27 code (requires B owner verification): Required B-owned correction: make pointer-down on the guide transfer appropriate keyboard focus out of source TextEdit (or explicitly implement an equivalent non-destructive shortcut-routing state), while preserving native TextEdit Ctrl+Z when the user is genuinely editing text. Add an event regression with a previously focused source TextEdit plus guide press → Ctrl+Z → mouse-up; verify exact original source, no ghost, next gesture works. Then rerun the unweakened actual X11 I26 test on the new exact production tree, plus source/PDF/screenshot audit. Do not change old #48 or merge #69/#70 yet. Physical Win10/MiKTeX and M1/M4 XeLaTeX remain NOT_RUN. |
… not persist source
I30 independent real B28 X11 result — FAIL, not accepted (2026-11-01)Exact B28 production: Independent downloaded evidence: artifact 13068899927 ZIP SHA-256 Actionable B-owned investigation: trace SHA/owner count of |
I32 — independent B29 real Linux/X11 FAIL, not accepted (2026-11-01)Re-pinned QA #70 to exact B29 head Independently downloaded + audited artifact 13071152254: ZIP SHA-256 Important delta from B28 FAIL: B28 left prior line #1 unchanged despite reporting successful inverse patch; B29 creates a new #2 already visible before mouse-up. Root cause NOT proven. Please instrument the production egui frame sequence and focus/pointer transitions: raw Ctrl/Cmd+Z key event + pointer button state, which branch handled Undo, The QA workflow continued only through this first true FAIL: held-drag, remaining five tools, Russian F1, GUI XeLaTeX Build/Export PDF + visual fit/resize are NOT_RUN in B29. Keep #69 and #70 DRAFT/unmerged. Hosted B29 Rust/MiKTeX/event checks are distinct and do not override real desktop failure. Physical Win10/independently installed MiKTeX and Mac M1/M4 XeLaTeX remain NOT_RUN. |
…ikZ source patches
|
I33 independent integrator evidence (2026-11-01), B production unchanged.
|
|
I33 B30 independent real-X11 FAIL on exact app tree (2026-11-01) — DO NOT MERGE. QA #70 exact QA head Actual GUI paste/Save of original Cyrillic/macro and native first Line PASS. At held-click before Ctrl+Z, screenshot Causality not yet proven: current QA driver assumes Button1 remains held across separate |
I34 root-cause correction — previous “held-pointer” X11 QA was NOT actually heldTrue X11 forensic run 41279540150, QA-only HEAD
|
…ct invalid ghost evidence
I35 genuine Button1 held, but keyboard acceptance still unresolved (2026-11-01)Real Linux/X11 I35 41279880858 on QA Yet after explicit release, saved original Unicode/macro + new Line #1 became two owned Lines IDs 1+2 (same .tex SHA QA-only next test will use XTest keydown/keyup with explicit XSync and dwell (> app frame), XQueryKeymap to verify physical server Ctrl/z key state, and preserve Button1Mask across all phases. Exact source rollback/no-ghost predicates remain unchanged; B production untouched. Held-drag, other tools, F1, GUI PDF NOT_RUN after first early fail; physical Win10/M1/M4 NOT_RUN. No merge/release. |
…d XeLaTeX Independent archive and screenshot QA at exact b462a42. X11 Button1 remains held through XSync+keymap-proven Ctrl+Z; actual source rollback/no ghost and GUI PDF passed. Physical Win10/Mac remains NOT_RUN.
I37 final exact-head integration review — APPROVED for #69 merge (2026-11-01)HEAD Independent NEW-head X11 artifact review: 13073127720, ZIP SHA-256 Independent NEW-head MiKTeX artifact review: 13073257484, ZIP SHA-256 Residual gates remain: physical Windows 10 x64 with separately installed MiKTeX and Mac ARM M1/M4 with external XeLaTeX NOT_RUN; |
I37 CURRENT integration status (2026-11-01; supersedes historical B27–B30 pending text below)
B + independently accepted QA HEAD:
ab1a79e7ab953b2d48d3e2875039fe35eda170d7(I36 #70 merged at exact headb462a4244dea2c9ad4d1650388d8f9b7692f16c7). Production app tree unchanged from B30965933b3f70504f2f4082bc22795bab67fad5d44. Base main529217b89e83ffb93393eefb99a2a6ff07967c13.Real Linux/X11 GUI acceptance PASS on exact I36 run 41280264391, artifact 13073380810 independently audited by integrator: ZIP SHA-256
86a3538d5f8e25e3da270102df76134361bfea7f2fdd7d9f0718c9921fc90c90, 41 CRC-valid files, 39/39 report hashes. X11 Button1Mask 256 remained held for click and drag Ctrl+Z with XSync/XQueryKeymap key receipt; real app restored exact Cyrillic/macro source, no ghost, and next gesture worked. Six C-native primitives, contextual Russian F1, GUI Save/Build/Export via external XeLaTeX, Unicode PDF with embedded DejaVuSerif, and full-page/resize screenshot evidence reviewed. The historical I33 ghost attribution was a QA input artefact:xdotool --clearmodifiershad physically released the X11 button early.Merge gate: after integrating #70, fresh head CI began on
ab1a79e7...: Rust, D QA, MiKTeX, real X11, N1, fonts. Do not claim post-integration CI PASS or merge to main until these exact-head runs complete and the new artifact is checked. Physical Win10/MiKTeX and M1/M4 XeLaTeX remain NOT_RUN; no release; Cargo.lock reproducibility and 1180×680 20%-zoom fit limit remain open.B27 — Ctrl/Cmd+Z cancels a held native TikZ guide gesture
Exact base main:
529217b89e83ffb93393eefb99a2a6ff07967c13(B25+B26 merged as #67).Final tested B SHA:
1805a46cbca2985c4b4798ccf4b0e22171107297; 2 commits ahead / 0 behind main.Actual user-visible defect and fix
App-level visual Undo runs before the guide's egui pointer Response. If the user held a new click/drag while undoing a prior authored primitive, the old code restored the prior source but left the new pointer capture armed. Mouse-up could unexpectedly create another command. Successful revision-checked Undo now cancels that capture (including Alt-selection) through release, without altering other TeX or poisoning the next intended gesture.
Actual event frames
New regression
b27_keyboard_undo_cancels_held_guide_capture_without_ghost_insertioninvokes production egui keyboard Undo and guide Response in the sameContext::run(RawInput)frame, not synthetic session flags. 48 timelines: all six common-C tools × 820/1366 widths × click/drag × same/later-frame mouse-up. Verifies exact UTF-8/macro source restoration, no ghost command, next gesture authors normally and subsequent Undo is reversible. Existing tests retain palette, selection/parameters, source highlight, F1 Russian help, manual-edit Undo, source Save/Reopen, Esc/focus-loss and responsive whole-PDF fit.Exact-head GitHub Actions (all five groups PASS)
dejavupackage download timeout before compilation; retried only failed jobs)Ownership: only B-owned
tikz_authoring.rs,tikz_canvas.rsand new ownplans/insights. Common C catalogue/generator, A/core, D #40, E/help, F tests, old #37/#43/#44 untouched. No own TeX/CAS/parser/universal solver. XeLaTeX PDF remains authoritative; provisional guide uncalibrated; preserve arbitrary macros/scopes.Open gate, hence DRAFT: old I23 X11 B26-pinned workflow FAILS source-tree preflight and does not execute B27 GUI. Need independent B27 real X11 pointer/source/help/Save/Reopen/Build/Export/screenshot review. Physical Windows 10 x64 MiKTeX and M1/M4 XeLaTeX, IME/Retina/dialogs are NOT_RUN. Exact integrator handoff is in PR #48.
B28 on same PR — real X11 I26 failure: focused TextEdit masked pointer Undo
Current B exact HEAD:
f2dfbd0bb073e6152146a151eca138af8fc030e1(base main529217b89e83ffb93393eefb99a2a6ff07967c13, behind 0 when checked).Independent I26 real Linux/X11 run opened the app and successfully pasted/saved actual UTF-8 and created/saved a native line, then FAILED:
B27 Ctrl+Z did not undo saved first line. The B27 test had no auto-focused TextEdit. Application source-line highlighting requests TextEdit focus even after pointer authoring;handle_visual_undo_shortcutpreviously vetoed all visual Undo whenctx.wants_keyboard_input()was true. Fix: when the actual guide owns an armed click, drag or Alt capture, Ctrl/Cmd+Z uses the existing revision-checked visual inverse patch despite stale TextEdit focus, and consumes the key to prevent an unrelated native TextEdit Undo later in the same egui frame. In absence of a held guide capture, TextEdit still owns native Undo.Added 24 genuine
egui::Context::run(RawInput)event-frame timelines with a rendered focused TextEdit + production guide (six C catalogue primitives × 820/1366 widths × held click/drag). Assertions include key consumption, exact Cyrillic/opaque macro preservation, correct source rollback and no ghost insertion on release. Existing B27 48 combos and older selection/help/parameters/Save/Reopen tests preserved; common C catalogue untouched. Updated ownplans/2026-11-01_B28_FOCUS_SAFE_HELD_UNDO.mdandinsights/2026-11-01_B28_FOCUS_SAFE_HELD_UNDO_QA.md.Exact HEAD checks (links; evaluate actual Actions result): Rust CI, D QA matrix, N1 external XeLaTeX, MiKTeX Windows Server, font/glyph QA. All five principal exact-head CI groups SUCCESS: Rust CI 3/3, D QA matrix 7/7 (Linux/macOS/Windows and independent evidence audit), N1 external XeLaTeX, real MiKTeX hosted Windows Server with independent cross-host PDF audit 2/2, font/glyph QA. Ubuntu 69/69 app tests PASS including B28's focused-TextEdit event frames and B27. First Ubuntu D QA attempt separately failed an A-owned
preview::tests::hung_first_page_renderer_is_killed_with_bounded_wall_timetiming assertion; the failed job rerun on the same B28 exact SHA passed, including 56/56 core tests. No A-owned code modified. These are hosted/UNIT_EVENT results, not physical OS/GUI acceptance.Independent GUI gate OPEN: prior I26 real-X11 failure was on B27 before this fix. The automatically triggered I23 workflow is pinned to B26 and rejects B28 source tree at preflight; this is not a B28 live GUI run. Integrator/D must repin its own QA workflow to exact B28
crates/tikzarium-app/srctree4be7a5aebbdd77a820abc08ea37d349dcab6bcec(current PR #69 SHAf2dfbd0bb073e6152146a151eca138af8fc030e1) and rerun real X11 pointer, GUI Save/Reopen, F1, Build/Export, screenshot review; NOT_RUN on B28. Physical Windows10+independent MiKTeX and M1/M4 remain NOT_RUN. XeLaTeX PDF authoritative, guide coordinates provisional. Leave this PR DRAFT.B29 — Actual I29 X11 revealed egui native editor/visual Undo conflict (2026-11-01)
B29 exact final SHA
133cab9eff2da0e2ab2ae9574e5328f2dad3ee62, app source subtreed7a487e91614c7b607ce92f53275e10e2a5ee911, base main529217b89e83ffb93393eefb99a2a6ff07967c13, 0 behind/7 ahead at final compare. Still DRAFT.Real I29 X11 run 41271432298 on prior B28 created and GUI-saved a real native Line, but a subsequent held-guide Ctrl+Z left the first Line in the GUI and saved source despite inspector status saying that a source patch was undone. This is a real desktop FAIL, not a stale-pin preflight or a UNIT_EVENT success.
B-owned correction: actual provisional guide pointer press now transfers keyboard focus away from auto-highlighted code TextEdit; a successful app-level revision-checked visual Ctrl/Cmd+Z consumes its raw key event before the source editor is rendered; source navigation still highlights/scrolls by real galley but avoids re-focusing the TextEdit during cancelled capture; previous TextEdit native undo snapshots are invalidated only after verified visual inverse patch. This avoids the native editor resurrecting removed command while preserving native textual Undo and unrelated opaque user TeX. Generation/help still use common C; no Rust TeX/CAS/rendering implementation and no C/A/D/E/F/QA production changes.
Exact-head hosted checks PASS (real logs, after fixing rustfmt and Rust E0382):
Context::run(RawInput)six primitives × two widths × held click/drag, plus 56/56 core tests, fmt/Clippy. UNIT_EVENT only.Independent real GUI gate OPEN. Auto-run I23 41273096178 failed before launching GUI, at old pinned app-tree preflight; not proof that B29 passes or fails X11. Integrator QA-only #70 must pin B29 exact tree above and run actual X11 through held-click AND held-drag, next gestures, selection/parameters/F1/Save/Reopen and external GUI Build/Export PDF with artifact/screenshots independently audited. Do not merge #69/#70 before that gate; hosted CI is not desktop proof. Physical Win10 MiKTeX and Mac M1/M4 GUI/IME/Retina/dialogs NOT_RUN. Exact PDF only external XeLaTeX; guide overlay provisional.
B30 — actual I32 real-X11 held-Undo ghost; source release/history fence (2026-11-01)
Exact B HEAD:
750fb6b743a516f44a362f2f568ce1b92c69e6f4; main529217b89e83ffb93393eefb99a2a6ff07967c13(0 behind / 9 ahead). App source subtree965933b3f70504f2f4082bc22795bab67fad5d44. Prior B29 SHA/tree are superseded. PR remains DRAFT.Independent real GUI failure, not a unit failure: I32 Linux/X11 41274957152 ran actual egui, saved Unicode source and one C-native Line; after held-click + Ctrl+Z, a second native Line appeared before the driver's explicit mouse-up and persisted in GUI-saved
drawing.tex. Independent screenshot/raw-source audit in #70. Precise event/focus cause is NOT PROVEN.B-owned correction on this same PR:
egui::TextEditblocks native edit for one frame, clears stale undo snapshots, then becomes editable again. Debug builds emit source-free pointer/Undo flags toapp.logfor future I32 diagnosis.Context::run(RawInput)UNIT_EVENTscenarios: 24 same/separate held mouse+Undo across six C-native tools and 820/1366 widths, and 12 Ctrl+Z held-pointer cases without visual history; previous focused editor, all six gestures, F1/parameters/Save-Reopen regressions retained. These are UNIT_EVENT, NOT physical Win10/M1/M4 or a true X11 acceptance result.crates/tikzarium-app/src/tikz_canvas.rs,main.rsand ownplans/2026-11-01_B30_X11_UNDO_RELEASE_SOURCE_FENCE.md/insights/2026-11-01_B30_X11_UNDO_RELEASE_SOURCE_FENCE_QA.md. Shared catalogue C, A/core, D/QA test(I36): prove X11 keyboard receipt and held-pointer B30 Undo before desktop merge #70, E/help, F source tests and old feat(B07): first TikZ-native egui drawing vertical with source patches and help #37/feat(B08): six C-catalogue-driven TikZ tools with code, F1 help and undo #43/feat(N1): integrate shared primitive catalog into egui authoring with exact XeLaTeX proof #44 remain unchanged. Exact PDF still external XeLaTeX; preview guide provisional and coordinate mapping uncalibrated.Exact B30 HEAD hosted CI — 5/5 workflow families SUCCESS (2026-11-01): Rust CI 41276887090 3/3 PASS (also push run 41276883623 PASS); D QA 41276887082 7/7 PASS across Ubuntu/macOS/Windows, with Ubuntu 71/71 app tests including both B30 production-handler
UNIT_EVENTregressions, 56/56 core tests, rustfmt and strict Clippy; N1 external XeLaTeX 41276887086 PASS; hosted Windows Server MiKTeX + independent audit 41276887095 2/2 PASS; font/Unicode 41276887083 PASS. Initial B30 SHA failed rustfmt and was fixed using exact Ubuntu log before these checks. These are hosted/unit/TeX checks, NOT real B30 X11 or physical Windows10/M1/M4 acceptance. Auto I23 workflow 41276887091 is pinned to obsolete B26, FAIL preflight, not a B30 GUI result.Still OPEN: QA-only #70 must pin the new app tree, run actual unweakened X11 held-click+held-drag, fresh gesture, all six tools, Russian F1, source highlight/manual edit, GUI Save/Reopen, Build/Export XeLaTeX PDF, fit/resize and independent source/PDF/PNG audits. Physical Windows10 with separately installed MiKTeX and Mac M1/M4 GUI remain NOT_RUN. Do not merge #69/#70 on hosted-only green checks.