Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
715036e132 | ||
|
|
a9cd364eac | ||
|
|
8ddfadf440 | ||
|
|
897d9f0494 | ||
|
|
4deced53b9 |
@@ -1,6 +1,7 @@
|
||||
use super::*;
|
||||
use crate::app::multiselect::{self, Choice};
|
||||
use crate::diagram_usage::Target as SelectionTarget;
|
||||
use iced::widget::text_editor;
|
||||
|
||||
#[path = "group/connection_lifetime.rs"]
|
||||
mod connection_lifetime;
|
||||
|
||||
@@ -37,7 +37,7 @@ fn routed_group() -> (Group, Id) {
|
||||
g.f.app.fit_to_view = false;
|
||||
choose(&mut g.f.app, SelectionTarget::Edge(edge), Choice::Replace);
|
||||
assert_eq!(g.f.app.selected, edge);
|
||||
let view = project_view(g.f.app.project(), g.f.diagram);
|
||||
let view = projection::project_view(g.f.app.project(), g.f.diagram);
|
||||
assert!(view.edges.iter().any(|e| e.id == edge));
|
||||
assert_eq!(
|
||||
crate::route_edit::attachment_node(
|
||||
|
||||
@@ -10,6 +10,11 @@ async fn press_escape(mounted: &mut Mounted, app: &mut App) -> Vec<Message> {
|
||||
std::slice::from_ref(&input),
|
||||
mouse::Cursor::Unavailable,
|
||||
);
|
||||
assert_eq!(
|
||||
statuses,
|
||||
[iced::event::Status::Captured],
|
||||
"the mounted picker must capture Escape before App subscriptions"
|
||||
);
|
||||
crate::app::escape::tests::subscriptions(app, input, statuses[0], &mut messages);
|
||||
for message in messages.iter().cloned() {
|
||||
let task = app.update(message);
|
||||
@@ -41,17 +46,11 @@ async fn mounted_state_missing_picker_escape_preserves_exact_document_then_reope
|
||||
send(&mut app, Message::BehaviorDiagram(choice));
|
||||
let mut mounted = Mounted::new(&mut app).await;
|
||||
assert_eq!(state_edit::unplaced(app.project(), diagram), vec![f.b]);
|
||||
let focus_id = iced::advanced::widget::Id::from("diagram-keyboard-owner");
|
||||
let (_, canvas, _) = mounted
|
||||
.geometry(&app)
|
||||
.focused
|
||||
.into_iter()
|
||||
.find(|(id, _, _)| id.as_ref() == Some(&focus_id))
|
||||
.unwrap();
|
||||
// The existing picker is immediately above the measured canvas, separated
|
||||
// by 8px. Its 12px text and 8px padding give a 31.6px row.
|
||||
let picker = iced::Point::new(canvas.center_x(), canvas.y - 24.);
|
||||
let option = iced::Point::new(picker.x, canvas.y + 8.);
|
||||
// Locate the stable picker slot itself: selection controls may sit between
|
||||
// it and the canvas. The single menu option opens below this slot.
|
||||
let bounds = mounted.geometry(&app).bounds("state-missing-picker");
|
||||
let picker = bounds.center();
|
||||
let option = iced::Point::new(picker.x, bounds.y + bounds.height * 1.5);
|
||||
let before = app.document.snapshot();
|
||||
let original = app.project().clone();
|
||||
let source = app.document.bundle().clone();
|
||||
|
||||
@@ -187,7 +187,7 @@ pub fn view<'a>(app: &'a App, machine: Id, mut out: Column<'a, Message>) -> Elem
|
||||
.into();
|
||||
out = out.push(
|
||||
column
|
||||
@@ -18,7 +19,19 @@ The nine event regressions and existing completed-Text-Apply cases are retained.
|
||||
Direct formatting and whitespace checks pass; this source checkpoint does not
|
||||
claim combined Cargo, native, packaged or release acceptance. The independent
|
||||
[event-fix review](reviews/prerelease37-event-admission-20260924.md) found no
|
||||
further material source defect in its stated scope.
|
||||
further material source defect in its stated scope. A subsequent peer compile
|
||||
found a missing `projection::` qualification in the new Route test helper;
|
||||
the current code includes that one-line correction. The original compile failed
|
||||
before running tests. The first combined compile at `897d9f04` subsequently
|
||||
found a missing `text_editor` import in the Allocation Text Apply regression;
|
||||
the current source includes that one-line correction too. Both failures remain
|
||||
recorded in the source handoff. The subsequent full test run at `8ddfadf4`
|
||||
failed the mounted State picker fixture: added selection controls invalidated
|
||||
its canvas-relative clicks. Source successor `a9cd364eacbbffa0693bab05b5a2b65f9d105535`
|
||||
measures an identified fixed-height picker slot and checks Escape capture,
|
||||
retaining the exact preservation/reopen/Place/Undo assertions. The source
|
||||
handoff links the preserved failed and interrupted attempts. Corrected combined
|
||||
Windows execution and package acceptance remain pending.
|
||||
|
||||
Live build, final-source and publication results belong in
|
||||
[issue37](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/37).
|
||||
|
||||
@@ -80,8 +80,50 @@ 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.
|
||||
|
||||
@@ -2,6 +2,14 @@
|
||||
|
||||
2026-09-24. Independent source review; no confirmed actionable finding in the bounded change.
|
||||
|
||||
Parent follow-up: the later peer compile found E0425 at
|
||||
`route_lifetime.rs:40`, which this source review missed. Peer correction
|
||||
`e68a83959900e556768d8470640e28a7df7d8cb8` qualifies the call as
|
||||
`projection::project_view`; combined code `4deced53b98cd4d7649ba7aa60fa4b9b30d2f3b8`
|
||||
incorporates it. This is test-only and does not change the guard analysis below.
|
||||
The failed compile ran no tests; passing corrected execution must be recorded
|
||||
separately. The original review is retained below with its original scope.
|
||||
|
||||
Reviewed exact delta `340a5c56b0783e22d7336a07ce96ddb7c2b79b0d..6f247af795b7bec1818c588b2dabf203f8f68d8a` (code commits `44217307`, `72b1bb7`, `6f247af`) against combined candidate `17eaa03fd69741dff746f21d150dc04c341411b3`. This is compatibility review before the parent's integration, not verification of an already integrated commit. Read AGENTS.md, App update/connection/route handlers, Allocation retirement adapter, both new regression modules, group fixtures/history evaluator, and existing combined Allocation connection regressions. Formed independent judgment before reading peer reviews at `c655c5eeaaa32c1c21074a7543844ae99a1d6fd5`.
|
||||
|
||||
The 21-line early guards precede pending-reveal reconciliation, allocation_before, inner dispatch and post-dispatch reconciliation. The preceding preview/selection-boundary computations are reads. Connection Endpoint/Restart require both current route Context and extant matching session; Choose/Begin retain their intentional new-owner behavior. Current Restart remains admitted and creates a fresh Choose session. Route Commit/CommitAttachment require current Context and payload edge equal to current selected edge, without incorrectly demanding a Connection session or armed attachment.
|
||||
|
||||
Reference in New Issue
Block a user