Reference projects¶
tinymesh has one runtime dependency: tinygrad. Pinned, read-only submodules constrain executable evidence and active staged research without becoming runtime imports.
| Project | Revision | What tinymesh studies | What tinymesh does not copy |
|---|---|---|---|
| tinygrad | 33755a34 |
Tensor, autograd, compilation, devices, direct module shape, minimal code | mesh semantics or a compatibility wrapper |
| PyTorch Geometric Temporal | fe555bc3 |
recurrent and period-attention equations, pinned temporal datasets, fixed-topology carriage | PyTorch, batch-specific aliases, trainer surfaces, dense adjacency construction |
| PyTorch Geometric | 5c6461b2 |
continuous-time event identity, batching, and topology diagnostics | PyTorch, generic storage machinery, graph transforms, or an event-container API |
| Torch Spatiotemporal | aa5f313e |
masks, covariates, windows, horizons, scalers, and connectivity derivation | its dataset, trainer, configuration, dense similarity, or conversion framework |
| TorchGeo | a9822d4b |
coordinate-aware dataset composition and raster sampling boundaries | imagery machinery for transit events or a geospatial base class |
| TerraTorch | 703f002b |
the boundary between scalar operations and Earth-observation foundation models | model registries, trainers, or foundation-model dependencies |
| LibCity | 5a6391d4 |
urban-forecast task taxonomy, controls, and model coverage | its unified executor, configuration, dataset format, or model warehouse |
The priority is deliberate:
- tinygrad governs API shape and implementation style;
- tinymesh owns sparse mesh semantics and evidence;
- PyG, PyG Temporal, TSL, and LibCity constrain event and forecast comparisons;
- TorchGeo and TerraTorch bound optional geographic context and remain unused unless error evidence gives that context a causal role.
The additional study checkouts are shallow, durable, revision-bound references. A stage that names one must cite the exact files that can change its design. Retention does not authorize runtime imports or require routine pin updates; gitlinks move only when an intentional study needs a different revision.
This produces direct classes with ordinary Tensor attributes and __call__,
not a framework inside a framework. tinymesh.nn contains only components
already used by current experiments. Sequence unrolling, task heads, trainers,
datasets, and evaluation policy stay outside those classes.
At the pinned tinygrad revision, Linear and LSTMCell are ordinary classes
with Tensor state and __call__; there is no module base class or forward
protocol. Tinymesh keeps that shape. Stateful graph compositions are direct
classes, while stateless math remains Tensor and Graph operations.
Gitlinks move only for an intentional executable study or when re-grounding an active staged specification that names their source. A pin update records its upstream delta and compatibility evidence; it never silently changes runtime behavior. An experiment envelope records only the gitlinks declared by its catalog entry.