Commit 32f8fea
web: split the rail into fields, overlays and marks with one view state
The layer rail is three sections, one kind of press each. The field
section is a radio: each dataset's core tiles (FORECAST_MODELS[].railCore;
temperature, precipitation, wind and cloud on a forecast model, the solar
radiation in cloud's place on SFLUX, the reflectivity on a radar mosaic),
the tile of the field on screen when it is not a core one, and MORE, which
opens a sheet listing every field the run publishes, grouped by quantity,
with a chip per surface and variant under a family. The overlay section is
switches drawn over the field: the pressure lines (the PRESSURE tile now
toggles them rather than replacing the field), the particles (moved out of
the capsule), the experiment's derived layers. The mark section is the
storm sheet trigger and the two station switches. Switch tiles carry a
ring, sheet triggers a chevron; an empty section hides with its rule; the
dense variant is decided by the visible tile count against the rail's box.
The level row's lines group gains ALONE, the way to the lines-alone view
and back to the field last on screen.
What is on screen is one object, ViewState (viewstate.ts), whose parseView
and searchForView are inverses of each other over every parameter the
shell reads; main.ts holds it as `view` and derives the rail's pressed
states (syncRail) and the address bar (syncUrl) from it, replacing the
composition, particle, derived-layer, storm and station variables.
FamilyInfo.members splits into levels (the same quantity on other
surfaces: the isobaric set, the cloud layers) and variants (related
quantities behind one tile: sea ice cover and thickness, wave height and
period). The level row draws levels only, under a fixed LEVEL caption; a
family tile's gloss follows the member on screen; pressing a pressed
variants family cycles through them.
The web fixture gains a gust bundle, a field outside the core tiles, so
the e2e suite can drive MORE.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016peFTwXxKVuwLqZYYDqr2W1 parent a20c774 commit 32f8fea
25 files changed
Lines changed: 1821 additions & 493 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
710 | 710 | | |
711 | 711 | | |
712 | 712 | | |
713 | | - | |
714 | | - | |
715 | | - | |
716 | | - | |
717 | | - | |
718 | | - | |
719 | | - | |
720 | | - | |
721 | | - | |
722 | | - | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
723 | 752 | | |
724 | 753 | | |
725 | 754 | | |
| |||
740 | 769 | | |
741 | 770 | | |
742 | 771 | | |
743 | | - | |
744 | | - | |
745 | | - | |
746 | | - | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
747 | 777 | | |
748 | 778 | | |
749 | 779 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
286 | | - | |
287 | | - | |
288 | | - | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
289 | 293 | | |
290 | 294 | | |
291 | 295 | | |
| |||
0 commit comments