Commit 5969b7b
feat(stage6): Cadre Router — linear back-stack as affine resource
Tea_router.ml generates a Wasm 1.0 module encoding IDApTIK's screen
back-stack as an affine resource. Push/pop consume the old stack
linearly and produce a new one — navigation history as a linear type,
making the typed-wasm paper claim real.
RouterModel at offset 64 (screen_w, screen_h, stack_len, popup_tag,
stack_data[8]). 11 exported functions covering push, pop, popup
present/dismiss, resize, and five getters. All RouterMsg payload
params annotated Linear in affinescript.ownership custom section.
affinescript router-bridge subcommand added (mirrors tea-bridge).
8 new E2E tests: structure, export names, custom sections, Wasm magic,
push/present_popup/resize ownership, tea_layout version. 113 total, 0
regressions.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent c9623b9 commit 5969b7b
4 files changed
Lines changed: 643 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
354 | 354 | | |
355 | 355 | | |
356 | 356 | | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
357 | 383 | | |
358 | 384 | | |
359 | 385 | | |
| |||
652 | 678 | | |
653 | 679 | | |
654 | 680 | | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
655 | 686 | | |
656 | 687 | | |
657 | 688 | | |
| |||
862 | 893 | | |
863 | 894 | | |
864 | 895 | | |
865 | | - | |
| 896 | + | |
866 | 897 | | |
867 | 898 | | |
868 | 899 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
0 commit comments