Record verified scenario review fixes and fresh binary evidence
This commit is contained in:
+7
-5
@@ -7,11 +7,13 @@ Direct scenario work is now in isolated `codex/scenario-direct`, checkout
|
|||||||
`D:/CodexBuilds/Capella2-scenario-target`. Scope and acceptance are recorded in
|
`D:/CodexBuilds/Capella2-scenario-target`. Scope and acceptance are recorded in
|
||||||
release-scenario-editing.md. Existing scene/order semantics and typed drafts are
|
release-scenario-editing.md. Existing scene/order semantics and typed drafts are
|
||||||
retained; direct drawing, explicit insertion, same-parent reorder and correlated
|
retained; direct drawing, explicit insertion, same-parent reorder and correlated
|
||||||
activation rendering are implemented in d1d8f0b. Final Windows desktop tests pass
|
activation rendering are implemented in d1d8f0b, with independent-review fixes
|
||||||
274/274, strict all-target desktop Clippy and optimized build pass. Exact artifact
|
in 7a66607 for stale scroll slots, actual Iced scroll coordinates, operand-specific
|
||||||
hash and logs are recorded in release-scenario-editing.md. Independent review and
|
activation segments and repeated picker cost. Final Windows desktop tests pass
|
||||||
native Windows/Linux trials remain pending and root-owned; this branch claims no
|
282/282, strict all-target desktop Clippy and optimized build pass. Exact artifact
|
||||||
native acceptance and does not close process/chain work.
|
hash, before/after failures and timings are in release-scenario-editing.md.
|
||||||
|
Independent recheck and native Windows/Linux trials remain pending and root-owned;
|
||||||
|
this branch claims no native acceptance and does not close process/chain work.
|
||||||
|
|
||||||
The first-release goal remains active and incomplete. Deliver usable Rust/Iced
|
The first-release goal remains active and incomplete. Deliver usable Rust/Iced
|
||||||
Operational Analysis and System Analysis/System Architecture, equivalent graphical,
|
Operational Analysis and System Analysis/System Architecture, equivalent graphical,
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Direct scenario editing — bounded implementation plan
|
# Direct scenario editing — bounded implementation plan
|
||||||
|
|
||||||
Status: implementation and automated Windows checks passed in the isolated
|
Status: implementation and automated Windows checks passed in the isolated
|
||||||
`codex/scenario-direct` checkout, based on ab661f2. Production commit is d1d8f0b.
|
`codex/scenario-direct` checkout, based on ab661f2. Initial production is d1d8f0b;
|
||||||
Independent review and native acceptance remain pending the root's Windows/Linux
|
independent-review fixes are in 7a66607. The fixes are awaiting independent recheck
|
||||||
trials. This does not complete the release or the separate process/chain work.
|
and root-owned Windows/Linux native trials. This does not complete the release
|
||||||
|
or the separate process/chain work.
|
||||||
|
|
||||||
## Decisions
|
## Decisions
|
||||||
|
|
||||||
@@ -17,8 +18,11 @@ parent sequence. It never reparents or changes lifeline columns. A Message tool
|
|||||||
uses the existing MessageStyle, with Call + correlated reply initially selected.
|
uses the existing MessageStyle, with Call + correlated reply initially selected.
|
||||||
Click-click or drag between represented lifelines captures a highlighted explicit
|
Click-click or drag between represented lifelines captures a highlighted explicit
|
||||||
insertion slot `(parent, before occurrence or append)` and opens the existing
|
insertion slot `(parent, before occurrence or append)` and opens the existing
|
||||||
typed draft with those endpoints. Existing exchanges/calls are filtered against
|
typed draft with those endpoints. Exchanges are filtered by layer, viewpoint and
|
||||||
the complete candidate at that slot and shown through search plus 24-item pages.
|
the core's represented-endpoint compatibility. Earlier calls retain complete
|
||||||
|
exact-slot validation, cached by document revision, owner, slot and endpoints.
|
||||||
|
Choices use search plus 24-item pages; every final creation still validates the
|
||||||
|
complete ordinary command at the captured insertion slot.
|
||||||
No compatible exchange produces an actionable retained draft, not a new global
|
No compatible exchange produces an actionable retained draft, not a new global
|
||||||
exchange or a silently changed endpoint. Timer remains available as a local tool.
|
exchange or a silently changed endpoint. Timer remains available as a local tool.
|
||||||
|
|
||||||
@@ -32,8 +36,9 @@ phase and endpoint compatibility. Failed preparation/source writes retain drafts
|
|||||||
Transient events capture document/scenario/revision/epoch, and the App validates
|
Transient events capture document/scenario/revision/epoch, and the App validates
|
||||||
the current Behavior owner before handling them. Selection does not invalidate a
|
the current Behavior owner before handling them. Selection does not invalidate a
|
||||||
gesture within the same scenario. Escape, unfocus, context/tool change and pending
|
gesture within the same scenario. Escape, unfocus, context/tool change and pending
|
||||||
drafts cancel gestures. Ordered pointer events and captured window positions avoid
|
drafts cancel gestures. Scroll, bounds changes and actual window resize also
|
||||||
coalesced-click and changed-scroll-origin commits. No geometry is persisted.
|
cancel the captured source/slot. Ordered raw pointer events are translated by the
|
||||||
|
actual combined inner/page Scrollable offsets. No geometry is persisted.
|
||||||
|
|
||||||
Execution bars derive their ends from actual correlated reply positions; separate
|
Execution bars derive their ends from actual correlated reply positions; separate
|
||||||
conditional reply branches render their corresponding spans. Calls without a
|
conditional reply branches render their corresponding spans. Calls without a
|
||||||
@@ -58,7 +63,7 @@ Root native tasks (not yet performed):
|
|||||||
navigation is blocked, and open/return from a referenced scenario. Verify at
|
navigation is blocked, and open/return from a referenced scenario. Verify at
|
||||||
1440x900 and 1100x700 on Windows and Linux before scoped acceptance.
|
1440x900 and 1100x700 on Windows and Linux before scoped acceptance.
|
||||||
|
|
||||||
## Automated evidence — 2026-09-06
|
## Initial automated evidence — 2026-09-06 (superseded by review fixes)
|
||||||
|
|
||||||
Source checkout: `D:/CodexBuilds/Capella2-scenario-direct`, production commit
|
Source checkout: `D:/CodexBuilds/Capella2-scenario-direct`, production commit
|
||||||
`d1d8f0bbed5aa0112189138a1cc025affe26c09b`. Changes are confined to desktop
|
`d1d8f0bbed5aa0112189138a1cc025affe26c09b`. Changes are confined to desktop
|
||||||
@@ -91,3 +96,73 @@ This artifact has not been native-tested. Widget-tree/event tests do not establi
|
|||||||
visual usability, scrolling behavior or GPU rendering acceptance; the three native
|
visual usability, scrolling behavior or GPU rendering acceptance; the three native
|
||||||
tasks above remain required. Process/chain direct editing remains outside this
|
tasks above remain required. Process/chain direct editing remains outside this
|
||||||
bounded implementation.
|
bounded implementation.
|
||||||
|
|
||||||
|
|
||||||
|
## Independent-review fixes and final automated evidence — 2026-09-06
|
||||||
|
|
||||||
|
Production commit: `7a666076bfcfd1f2258d2f5508328db5adf40825`, same isolated
|
||||||
|
checkout and dedicated target. Only the three previously owned desktop source
|
||||||
|
files changed. No core/source/schema or process/chain features were added.
|
||||||
|
|
||||||
|
The new event regressions failed on the prior implementation: a bounds shift kept
|
||||||
|
the first click's source/slot armed, and a held drag could still publish its old
|
||||||
|
slot after the bounds changed. Both now cancel. After scrolling, resizing or
|
||||||
|
clipping changes, the next click starts a fresh gesture. App tests also verify
|
||||||
|
unchanged-size notifications retain context, actual resize invalidates it, and
|
||||||
|
scrolling preserves property/source history and the pending behavior form.
|
||||||
|
|
||||||
|
Local Iced inspection established that Scrollable translates its supplied cursor
|
||||||
|
but leaves raw CursorMoved coordinates and the canvas layout unchanged. The
|
||||||
|
existing inner and outer scrollables now have a local, passive observer which
|
||||||
|
reads their actual translation through Widget::operate. Ordinary on_scroll cannot
|
||||||
|
report initial/remounted state or passive content-size clamping. The observer
|
||||||
|
forwards layout, drawing, overlays and event capture, and publishes only changed
|
||||||
|
translations or document/owner context. Reporting before child input makes a
|
||||||
|
result using an old slot stale before App processes it; reporting after input
|
||||||
|
captures wheel/scrollbar changes. The real Iced Scrollable test uses its debug
|
||||||
|
null renderer and verifies 0 → 180 wheel offset → 50 passive clamp → 180 on
|
||||||
|
expansion → 0 after remount, with no repeated messages on unchanged redraws.
|
||||||
|
|
||||||
|
The reported ALT fixture also failed before the fix: a root Call, Reply then
|
||||||
|
Action in operand one, another Reply in operand two, and a third operand without
|
||||||
|
a Reply. Derived execution geometry now splits at operand boundaries, stops each
|
||||||
|
returned operand at its own correlated Reply, leaves its following Action outside
|
||||||
|
that segment, and marks the reply-free operand open. It does not imply chronology
|
||||||
|
between alternative operands or add persistent execution records.
|
||||||
|
|
||||||
|
Picker measurement on the same Windows debug target:
|
||||||
|
|
||||||
|
| Probe | Before | After |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 500 compatible exchange choices | 7.87 s | 1.46 ms |
|
||||||
|
| Same choices after one name edit | 8.14 s | 1.48 ms |
|
||||||
|
| 100 exact-slot earlier calls, initial validation | not measured | 595 ms |
|
||||||
|
| Those calls after name/value/search/page edits | not measured | 34–39 µs |
|
||||||
|
|
||||||
|
The exchange list no longer clones and validates the entire project per candidate.
|
||||||
|
Final Apply still rejects a Delete inserted before a later Call on that lifeline;
|
||||||
|
the new regression confirms appending that same Delete succeeds. Reply choices
|
||||||
|
retain exact validation, invalidate for changed slot/document/revision/endpoints,
|
||||||
|
and do not lose their cached eligibility while expressions are being typed.
|
||||||
|
These are bounded picker measurements, not complete native-frame timings.
|
||||||
|
|
||||||
|
Final checks (`--locked --offline`): 27 focused matching tests passed; all 282
|
||||||
|
desktop tests passed, zero failures/ignored tests; strict desktop all-target
|
||||||
|
Clippy passed; optimized desktop build passed; git diff --check passed. Clippy
|
||||||
|
requested one test-only nested-if cleanup, which was applied before the final
|
||||||
|
clean Clippy/build.
|
||||||
|
|
||||||
|
Logs under `D:/CodexBuilds/`:
|
||||||
|
`Capella2-scenario-review-before-tests.log`, `Capella2-scenario-alt-before.log`,
|
||||||
|
`Capella2-scenario-scroll-observer-tests.log`,
|
||||||
|
`Capella2-scenario-review-desktop-tests.log`,
|
||||||
|
`Capella2-scenario-review-clippy.log`, `Capella2-scenario-review-release.log`.
|
||||||
|
|
||||||
|
Current Windows binary:
|
||||||
|
`D:/CodexBuilds/Capella2-scenario-target/release/arcadia-studio.exe`,
|
||||||
|
20,349,952 bytes, SHA-256
|
||||||
|
`1AE729097F267DE596AE0970D3A62AE06C0C89CE2FDE70DF980AD785A0E0A8E6`.
|
||||||
|
It supersedes the initial artifact above. Native acceptance is still pending.
|
||||||
|
Root should repeat the three primary native tasks, including inner/outer wheel
|
||||||
|
and scrollbar cancellation at a middle slot, resize/remount/clamp recovery, and
|
||||||
|
the three-operand ALT fixture. The broader release objective remains incomplete.
|
||||||
|
|||||||
Reference in New Issue
Block a user