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
|
||||
release-scenario-editing.md. Existing scene/order semantics and typed drafts are
|
||||
retained; direct drawing, explicit insertion, same-parent reorder and correlated
|
||||
activation rendering are implemented in d1d8f0b. Final Windows desktop tests pass
|
||||
274/274, strict all-target desktop Clippy and optimized build pass. Exact artifact
|
||||
hash and logs are recorded in release-scenario-editing.md. Independent review and
|
||||
native Windows/Linux trials remain pending and root-owned; this branch claims no
|
||||
native acceptance and does not close process/chain work.
|
||||
activation rendering are implemented in d1d8f0b, with independent-review fixes
|
||||
in 7a66607 for stale scroll slots, actual Iced scroll coordinates, operand-specific
|
||||
activation segments and repeated picker cost. Final Windows desktop tests pass
|
||||
282/282, strict all-target desktop Clippy and optimized build pass. Exact artifact
|
||||
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
|
||||
Operational Analysis and System Analysis/System Architecture, equivalent graphical,
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# Direct scenario editing — bounded implementation plan
|
||||
|
||||
Status: implementation and automated Windows checks passed in the isolated
|
||||
`codex/scenario-direct` checkout, based on ab661f2. Production commit is d1d8f0b.
|
||||
Independent review and native acceptance remain pending the root's Windows/Linux
|
||||
trials. This does not complete the release or the separate process/chain work.
|
||||
`codex/scenario-direct` checkout, based on ab661f2. Initial production is d1d8f0b;
|
||||
independent-review fixes are in 7a66607. The fixes are awaiting independent recheck
|
||||
and root-owned Windows/Linux native trials. This does not complete the release
|
||||
or the separate process/chain work.
|
||||
|
||||
## 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.
|
||||
Click-click or drag between represented lifelines captures a highlighted explicit
|
||||
insertion slot `(parent, before occurrence or append)` and opens the existing
|
||||
typed draft with those endpoints. Existing exchanges/calls are filtered against
|
||||
the complete candidate at that slot and shown through search plus 24-item pages.
|
||||
typed draft with those endpoints. Exchanges are filtered by layer, viewpoint and
|
||||
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
|
||||
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
|
||||
the current Behavior owner before handling them. Selection does not invalidate a
|
||||
gesture within the same scenario. Escape, unfocus, context/tool change and pending
|
||||
drafts cancel gestures. Ordered pointer events and captured window positions avoid
|
||||
coalesced-click and changed-scroll-origin commits. No geometry is persisted.
|
||||
drafts cancel gestures. Scroll, bounds changes and actual window resize also
|
||||
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
|
||||
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
|
||||
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
|
||||
`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
|
||||
tasks above remain required. Process/chain direct editing remains outside this
|
||||
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