From a17c79fdbe408fd6e415c4d3612cbed8cf28c5c2 Mon Sep 17 00:00:00 2001 From: Codex-956atf Date: Fri, 11 Sep 2026 15:33:02 +0000 Subject: [PATCH] Codex-956atf: freeze C1/C2 source corrections, task/pixel gates and shared form identity union --- BehaviorCanvasPhase120260911.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/BehaviorCanvasPhase120260911.md b/BehaviorCanvasPhase120260911.md index 4ac857a..4ef8185 100644 --- a/BehaviorCanvasPhase120260911.md +++ b/BehaviorCanvasPhase120260911.md @@ -1,15 +1,17 @@ -# Shared behavior canvas phase 1 — prepared source +# Shared behavior canvas phase 1 — corrected source, execution pending -Codex-956atf /root/behavior_canvas_resume, 2026-09-11. Postboot root authorization resumed isolated codex/behavior-canvas-20260911 at e511c415. The source freeze is uncommitted in .local/behavior-canvas-worktree-20260911; root owns integration, compilation, native acceptance and publication. This is not issue #2 completion. +Codex-956atf /root/behavior_canvas_resume, 2026-09-11. Isolated codex/behavior-canvas-20260911 remains at checkpoint e511c415 plus uncommitted source. Root owns independent review, integration, compiler/native gates and publication. This is not issue #2 closure. -Both production process/chain and scenario scenes now mount the shared Fill viewport and narrow tooltip palette. The existing single typed draft/source-child/selection outline uses a bounded right overlay; the canvas remains mounted at stable bounds. Draw, hit and markers share pan plus scale. Middle/Space/unused blank Select drag and focused arrow keys pan; focused wheel anchors zoom at the cursor. Fit is explicit and resolved once. Camera start cancels semantic gestures even at zero distance. Camera events validate document/owner/revision while semantic events retain full epoch and exact destination guards. Delayed canvas focus validates an enabled document/owner/revision/epoch target. +Both actual production scenario and process/chain views use the shared Fill viewport, permanent narrow palette and stable right overlay for the existing single draft/source-child/details editor. Draw/hit/markers share pan plus scale. Camera is transient; constrained domain commands and source/history APIs remain the existing ones. Accepted placement is still derived. -Scenario whole glyphs drag only inside their current operand; invalid destinations are visible and emit no command. Lifeline point input opens the existing typed editor, with accepted lane order still derived. Process caller frames and scenario presentations restore exact caller use/camera; the outline retains its own one-shot scroll receipt. Camera, search and focus do not author model geometry or history. Existing source prerequisites and semantic command adapters remain intact. +The independent review (issue2 comment332, harness/release-behavior-canvas-phase1-review-20260911.md) found C1 stale camera lifetime and C2 inaccessible toolbar controls. Correction lease comment340 is now source-frozen. Both Camera messages carry a separate input lifetime. External context/owner/bounds/tool/Fit/panel/chooser changes invalidate it; own ordered relative deltas preserve it while semantic epochs still invalidate authoring gestures. Viewport also cancels on changed actual bounds, disabled ownership and conflicting pointer input. Presentation toolbar events can cross only semantic epochs produced within their uninterrupted camera batch, so a real Fit after a prior movement in that same batch is accepted. Retained pre-Fit or pre-A→B→Back packets are refused. -Six prepared tests mount actual App::view and the production WGPU renderer, feed ordered pointer/key batches through real widgets, and assert exact destinations, stable bounds, pinned actions, raw draft/source/history retention, caller return, modal/stale guards and one-command scenario reorder/Undo/Redo. Two further tests exercise shared camera math and ordered Viewport events. Scoped rustfmt parse/format and git diff --check PASS. No Cargo/rustc, unit execution, native UI or Linux acceptance was performed; WGPU mounted tests explicitly fail if their renderer is unavailable. +Palette, Canvas/Fit/zoom/Details and panel controls now register real focusable targets, activate on Enter/Space, and draw a contrasting focus ring even on selected tools. F6 explicitly enters the canvas; Tab/Shift+Tab cycle enabled controls; Escape/F6 release canvas focus and the next ordinary Tab returns to existing Inspector entry. Live root widget Tasks verify an enabled current-lifetime viewport before focusing/revealing a member. Dirty editing, source children, chooser and Review/modal owners disable the background targets. The only app/reference_authoring.rs change is the root-authorized read-only reference_input_active accessor. A replayed process tool action now refuses dirty drafts instead of implicitly applying them. -Root must union concurrent I1/I2 parent/source focus corrections (scope/session/mount Name target, rearmed Back/Use/Escape, root focus guard and tests) plus chooser Id/Send fixes. B4 remains owned by ytr83r; its clipped label and child text must both receive pan plus scale when integrated. No B4 file was edited here. +Root's frozen generic behavior/form_session.rs (SHA256 F5027FB3A5A5599A182E7D1A10DBA56DD66EB1F23A4BA4C4A1744C9A6A5B6E61) is adopted by both scenario session and process invocation. It explicitly resets field child state on replacement; Iced's one-child keyed_column cannot guarantee that reset. The retained outline Observer process flag wiring is coherent; obsolete Canvas ScrollReveal is not restored. -Durable report: harness/release-behavior-canvas-phase1-source-20260911.md. It supersedes the interrupted canvas implementation status in the reboot handoff, lists all fifteen Rust paths, exact prepared tests, source limitations and integration boundaries. Root owns common ledgers. +Thirteen actual App::view/WGPU mounted tests and two shared math/input tests are prepared. Seven new production tests cover held drag interrupted by real controls/resize, retained App packets/caller return, keyboard-only entry/traversal/activation/exit and raw Inspector retention, selected palette/Fit screenshot focus pixels, real chooser/Review ownership with delayed returned Tasks, disable/reenable cancellation and process session replacement without a closed render. Existing semantic/source/history/direct authoring tests remain. The helper awaits returned Task streams and Widget chains, processes real overlays and renders screenshots; backend failure is explicit, not skipped. Scoped rustfmt parse/format and scoped git diff --check pass. No tests/Cargo/rustc/native/WSL were run by this worker. -Remaining: persisted process placement/lane arrangements need the shared core/source/REST view contract; process body movement, message endpoint expansion, fragment wrapping/explicit operand transfer, keyboard naming/editing, native readability and accessibility gates remain open. Accepted positions are still derived; no desktop-only persistence or new schema was invented. \ No newline at end of file +Durable exact handoff: harness/release-behavior-canvas-phase1-corrections-20260911.md, SHA256 3949C3774C244E04D14DD5C017711D729AEE53F85A707F4A0F4B1BDA7FDE2204. It lists all nineteen Rust path fingerprints; combined ordered source manifest SHA256 2EF8CED44BF26C43CEEDC296EBDF8A0E6573EB07424B106399D58DBF2E2A8CD5. The original source report is retained with a supersession pointer. + +Root must union I1/I2 mount-bound Name/FormShown/rearm/root owner/same-axis focus changes and five parent-focus regressions, retain the scenario replacement-scroll gate, and preserve current chooser/API/compiler corrections. B4 remains ytr83r-owned: pan plus scale must transform BOTH clip rectangles and clipped child text. No B4 file was changed. Windows compilation/tests/pixels/native acceptance remain pending for this source; Linux/WSL execution is deferred by the user's latest instruction until WSL2 networking is resolved. Persistent authored placement/view contracts, full process/body/endpoint/fragment gestures and broader naming/editing remain separate phases. \ No newline at end of file