From de4f5457f0a84d8339e21ed6b519801279a039e8 Mon Sep 17 00:00:00 2001 From: Severin Magel <116261790+sevmag@users.noreply.github.com> Date: Sun, 2 Aug 2026 13:22:28 -0400 Subject: [PATCH 1/2] README: block diagram of the components at the top Co-Authored-By: Claude Fable 5 --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index b7f6c66..09a5c93 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,17 @@ The first pretext task is **CURTAIN** (occupancy / light-front forecast). The architecture is built so a new self-supervised method is a small plugin under `pretext/`, reusing the data, backbone, and training engine unchanged. +```mermaid +flowchart LR + R["your reader
raw events"] --> T["PretextTask
sample, scale, collate"] + G["geometry asset"] --> T + T -- jagged batch --> B["Backbone
encoder, e.g. DeepIce"] + B -- token embeddings --> H["objective heads + loss"] + H --> M["SSLModule + fit
Lightning"] + M -- best val export --> X["TransferCheckpoint
backbone weights"] + X --> F["your fine tune
e.g. graphnet"] +``` + ## 🧭 Philosophy The core is framework-agnostic and fits neatly into plain PyTorch: it depends only on torch, pytorch-lightning and numpy. Readers are ordinary indexable From f00022a4ed805f6f98ad6dbff8e0effdb5d4ec76 Mon Sep 17 00:00:00 2001 From: Severin Magel <116261790+sevmag@users.noreply.github.com> Date: Sun, 2 Aug 2026 13:25:38 -0400 Subject: [PATCH 2/2] README: simpler, larger component diagram Co-Authored-By: Claude Fable 5 --- README.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 09a5c93..e9431d7 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,10 @@ architecture is built so a new self-supervised method is a small plugin under ```mermaid flowchart LR - R["your reader
raw events"] --> T["PretextTask
sample, scale, collate"] - G["geometry asset"] --> T - T -- jagged batch --> B["Backbone
encoder, e.g. DeepIce"] - B -- token embeddings --> H["objective heads + loss"] - H --> M["SSLModule + fit
Lightning"] - M -- best val export --> X["TransferCheckpoint
backbone weights"] - X --> F["your fine tune
e.g. graphnet"] + D["your data
reader + geometry"] --> T["PretextTask
e.g. CURTAIN"] + T --> B["Backbone
e.g. DeepIce"] + B --> H["objective heads
+ loss"] + H --> X["pretrained backbone
for your fine tune"] ``` ## 🧭 Philosophy