# Integrated Windows prerelease candidate This is the source handoff for Gitea issue37, owned by Codex-956atf. Reserved version: `v0.2.0-preview.integrated.20260924`. Remote branch: `codex/prerelease-integrated-956atf-20260924`. This checkpoint does not claim combined compilation, native acceptance, packaging or publication of a release. The exact candidate commit and subsequent validation belong in issue37. ## Integrated contributions - Base `1006b496ae5db4d850a6b7f3f5b59bf4ca99a3f8` combines the earlier e34 Scenario/Text/attachment/State work with ordinary/State multiple selection and actual Text Apply stale-action tests. - Merge `c1b78acb9aa8c5024a3178b890102712078fc226` adds Process and Allocation group source `495464e84b5bae8ddad93e9fc69ef353e7f1c884`, including its Process and pure planner ancestors. The new Allocation evaluator's Diagram literal explicitly sets the combined schema's `layout: None`. - Merge `62d3ffe9` adds Allocation drawing/Traceability source `301126f6098286bf440c1bd1b1ed685753984723` and picker Escape candidate `3e916f623c7709d6c443552cd9ec95df5918eb00`. The latter includes a test-import correction but has no standalone runtime acceptance. The single textual conflict was menu action dispatch in `app.rs`. Resolution retains exact group/Process dispatch first, then Traceability's captured-view placement, then State's exact placement and selection reconciliation. Independent source review found no confirmed defect in that resolution, the shared Escape wrapper, or direct Allocation drawing versus group-gesture precedence. This is source review, not a substitute for the combined tests below. Test-only successor `542b10ac587b932c0404580a98159bd497775ef0` adds real Text Apply followed by captured Process reorder and Allocation Press/Release replay in both OA and SA. It compares complete model/source, selection and primary, history, draft, status and newer gesture ownership. Allocation protects an actual new drag; an idle obsolete Press intentionally reports a stale-view explanation. Direct rustfmt and whitespace checks pass; these new tests remain uncompiled until the combined gate. The [independent source review](reviews/prerelease37-integration-20260924.md) records the inspected merge blobs and remaining discriminating checks. Peer evidence remains attached to its actual source, not relabeled as this candidate: Allocation group `57aec979f640ba1b8aa6fcbb7d9e26b29cf51596`, drawing `45605001f690ad9ee2ed786c3cd77ffbde8e10aa`, and e34 Windows gates `be7470afca4894c265d61800f9b94d31444e7234`. Drawing evidence has a separate ancestry and is linked rather than merged for source. Private mixed-parser work, unfinished Scenario group reordering and aggregate removal are excluded. ## Captured event admission successor Combined code `a6b9f6029aad618a84d136c5293353688d36809f` cherry-picks the narrow peer code commits `44217307`, `72b1bb7`, and `6f247af795b7bec1818c588b2dabf203f8f68d8a`. The peer's exact source and initial evidence are published at [`c655c5e`](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/c655c5eeaaa32c1c21074a7543844ae99a1d6fd5/harness/prerelease37-connection-admission-20260924.md). Only `app.rs`, group-test registration and two new test modules change in this code integration. Historical evidence archives are linked rather than merged. Captured Connection Endpoint/Restart now require the current route context and a matching live drawing session before shared Allocation retirement. Captured Route Commit/CommitAttachment require the current context and selected edge; selection may change without advancing the context. Stale packets preserve newer Arrange/drag state and feedback. Current route edits require no invented drawing session, and unscoped commands retain their existing behavior. The three Connection and six Route regressions are in: - `crates/oa-desktop/src/app/allocation_drag_tests/group/connection_lifetime.rs` - `crates/oa-desktop/src/app/allocation_drag_tests/group/route_lifetime.rs` The real Text Apply cases added at `542b10ac` remain in: - `crates/oa-desktop/src/app/process_multiselect/tests.rs`: `completed_text_apply_rejects_captured_process_reorder_without_retiring_current_state` - `crates/oa-desktop/src/app/allocation_drag_tests/group.rs`: `completed_text_apply_rejects_old_allocation_packets_without_retiring_a_new_drag` - Ordinary/State coverage is in `app/multiselect_tests.rs`; earlier navigation tests in `navigation_union.rs` are a separate scope. Parent read the complete patch and tests, integrated without conflicts, and passed direct rustfmt and whitespace checks. A fresh independent [source review](reviews/prerelease37-event-admission-20260924.md) found no actionable defect in the stated boundary. These do not substitute for the final combined execution. The vendor patch-description correction is incorporated at `17eaa03fd69741dff746f21d150dc04c341411b3`. ## Mounted State picker correction The combined Windows test run at `8ddfadf440b5c208b1adb6b211a97ba0c99cff04` failed the mounted State missing-picker Escape regression. The test located the picker relative to the canvas, but the integrated selection toolbar adds 56px plus an 8px gap between them. Both the opening and option clicks were stale. Parent and independent source inspection agreed on this fixture defect; they found no reason to change the production Escape policy from this failure. Successor `a9cd364eacbbffa0693bab05b5a2b65f9d105535` adds a zero-padding identified container around the existing fixed-height picker slot. The fixture measures that slot, checks Escape capture before App subscriptions, and retains zero messages, exact document/source/selection/camera/revision/history, reopen-and-Place, and exact source Undo checks. The option coordinate assumes this fixture's single downward-opening menu at 1800 by 1100; it is not a general overlay geometry evaluator. No production Escape handler changes. The peer records 2,199 passes, one failure and eight ignores for that failed full run, with lint and product builds not run. The earlier final-02 attempt was interrupted during harness listing before test bodies; neither attempt is a passed gate. [Preserved attempts and v2 recipe](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/184c1307d1ae3d49007480020fa1c080c94ececa/harness/prerelease37-windows-gates-20260924/attempts-8dd) retain their distinct boundaries. The corrected source requires current combined Windows gates and packaged native acceptance. ## Combined gates and package handoff The first peer compilation exposed E0425 in the new Route fixture: its `project_view` call lacked the `projection::` qualification used by the parent helpers. Combined successor `4deced53b98cd4d7649ba7aa60fa4b9b30d2f3b8` cherry-picks peer `e68a83959900e556768d8470640e28a7df7d8cb8` to correct that single test line. Production code is unchanged. This concrete finding supersedes the earlier `9e99618c` build handoff; the failed compile ran no tests and remains part of the peer's evidence. Source review and formatting did not catch it. The first combined Windows attempt on `897d9f04` then found E0433 in the Allocation Text Apply test added at `542b10ac`: the test's module lacked `iced::widget::text_editor`. The current successor incorporates peer `7c2b06b63f8a0fe14b3f001996bdf965b36a4e85`, adding that import only. Production code remains unchanged. The failed combined compile ran no tests, lint or product build; its 3,709 source inputs stayed unchanged and formatting passed. [Preserved failure evidence](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/2bd0e615204be728b5c2b77cc7e28504c18a2277/harness/prerelease37-windows-gates-20260924/README.md) records that distinct failure. The corrected successor requires fresh combined execution; no earlier pass is substituted. Codex-ytr83r owns the exact-candidate Windows build/package on its separate machine. Codex-9e8r6t owns independent source/seam review and a downloaded-package check. Codex-956atf remains the sole integration, tag and release publication owner. Retrieve the published candidate before starting; never build from an assumed matching local branch. Record the complete input membership, raw bytes, compiler, environment, literal command, exit, output and produced artifact hashes. With the existing locked Windows toolchain/cache, jobs1 and incremental0: ```text cargo test --locked --offline --workspace --no-fail-fast -- --test-threads=1 cargo clippy --locked --offline --workspace --all-targets -- -D warnings cargo build --locked --offline -p oa-desktop -p oa-server ``` Bind the actual test-name inventory and documented ignores to the final test artifacts. Preserve initial failures and corrections. Run format checks and distinguish inherited unrelated formatting from new changes. Validate the actual Text Apply stale-action tests for ordinary/State, Process and Allocation, picker overlay priority, Traceability placement and both Allocation interaction modes. Use [the established packaging recipe](../docs/windows-packaging.md) from the fixed candidate with the exact selected gnullvm runtime and BuildEvidence. A development-profile prerelease is acceptable when explicitly labeled. Package Studio and server, examples, offline guide and dependency notices; verify all archive entries and imports. Test a fresh extraction from an unrelated working directory, inspect real GUI editing/history/Save/reopen and picker Escape, and check server persistence through restart. Publish artifacts to the owner-created draft release only after its ID is supplied in issue37. Do not silently replace an existing published version. ## Known limits for the human preview Process crossed routes can overlap and obscure endpoints after reordering. Multiline State labels can overlap. Aggregate model removal and remaining Scenario group adapters are unfinished. Existing native evidence omits some held modifier/drag, compact-window and SA-reopen cases; compilation cannot establish those interactions. Picker Escape is a candidate until the combined native gate passes. Full OA/SA feature completeness, broad accessibility/DPI coverage and public source8 support are not claimed. Linux/WSL remains explicitly deferred by the user. See the [human checks](../docs/preview-human-checks.md).