Commit d22ead6
committed
Let the Forge trace be read, copied and saved, and keep the viewport square
Developer: Seif Hashish
Project: HashCortX
Summary:
The trace drawer records the only account of what a run did — which model
answered, which one rate-limited, where the seconds went — and none of it could
leave the drawer. Selection is switched off application-wide and granted back
to a named list of surfaces; the trace was not on it, so the text was inert,
not merely awkward to select. It now opts in, and Copy and Export sit beside
Clear, both reading the entries through one function so the clipboard and the
file can never disagree. Copy falls back to selecting the text when the
clipboard is refused.
Opening that drawer also distorted the model. The viewport recomputes its
camera on a window resize and nothing else, while the drawer animates the
canvas mount from thirty-two pixels to two hundred without the window changing
at all — so the camera kept an aspect ratio for a box it no longer occupied.
Measured with the drawer open: the canvas held 1.451 against a container of
1.827, a quarter of the height squashed out of the picture. A ResizeObserver on
the mount now catches that, and every other panel or split that moves it.
Verification:
- Drove Forge in a headless browser before and after. Before: computed
user-select none and an empty selection; one button. After: selectable text,
three buttons.
- Neutralised the observer and measured again — canvas aspect 1.451 in a 1.827
container. Restored: 1.829 against 1.827.
- npm run check — 1,384 passed, 0 failed
- cargo test --manifest-path src-tauri/Cargo.toml — 93 passed, 0 failed (no Rust changed)
- Not yet exercised in a packaged build1 parent b2da69d commit d22ead6
4 files changed
Lines changed: 83 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
85 | 90 | | |
86 | 91 | | |
87 | 92 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
897 | 897 | | |
898 | 898 | | |
899 | 899 | | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
900 | 911 | | |
901 | 912 | | |
902 | 913 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
283 | 284 | | |
284 | 285 | | |
285 | 286 | | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
286 | 303 | | |
287 | 304 | | |
288 | 305 | | |
| |||
669 | 686 | | |
670 | 687 | | |
671 | 688 | | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
672 | 705 | | |
673 | 706 | | |
674 | 707 | | |
| |||
3596 | 3629 | | |
3597 | 3630 | | |
3598 | 3631 | | |
| 3632 | + | |
| 3633 | + | |
| 3634 | + | |
| 3635 | + | |
| 3636 | + | |
| 3637 | + | |
| 3638 | + | |
| 3639 | + | |
| 3640 | + | |
| 3641 | + | |
| 3642 | + | |
| 3643 | + | |
| 3644 | + | |
| 3645 | + | |
| 3646 | + | |
| 3647 | + | |
| 3648 | + | |
| 3649 | + | |
| 3650 | + | |
| 3651 | + | |
| 3652 | + | |
| 3653 | + | |
| 3654 | + | |
| 3655 | + | |
| 3656 | + | |
| 3657 | + | |
| 3658 | + | |
| 3659 | + | |
| 3660 | + | |
| 3661 | + | |
| 3662 | + | |
3599 | 3663 | | |
3600 | 3664 | | |
3601 | 3665 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| 193 | + | |
| 194 | + | |
193 | 195 | | |
194 | 196 | | |
195 | 197 | | |
| |||
0 commit comments