# Level of Detail and Streaming

Tensormorph is designed to open a checkpoint from a few megabytes to trillions of parameters without a difference in how it feels to use - the mechanism that makes that possible is level-of-detail (LOD) streaming, built directly on the [mergeable tile statistics](/docs/inspect-and-analyze/tensor-statistics#why-mergeable-matters) every tensor carries.

## The LOD pyramid

A tensor's statistics exist at multiple levels of detail simultaneously - the same way an image pyramid stores an image at multiple resolutions - because coarser-level statistics are just merges of finer-level ones, not separately computed. Zooming out in the [Architecture](/docs/editors/architecture-editor) or [Tensor Volume](/docs/editors/tensor-volume-editor) view doesn't mean "load less data and hope it's representative"; it means reading a coarser, already-correct level of the same pyramid. This pyramid - the value-level tile data across LOD levels, distinct from the summary statistics in `.tmidx` - is what `.tmtiles` stores; see [File Formats](/docs/reference/file-formats).

## What's resident where

At any moment, only a small fraction of a large model's data is actually resident in fast memory - the tiles you're currently looking at, plus whatever the prefetcher believes you're about to look at. Everything else stays on slower storage until it's needed.

Tensormorph's compute scheduler prioritizes work - and by extension, what stays resident - using a fixed order: the scalar directly under your cursor first, then the current selection, then visible tiles, then near-visible tiles prefetched ahead of a likely pan or zoom, then [explicit analysis](/docs/inspect-and-analyze/svd-pca-and-effective-rank) requests, then queries, then background indexing of whatever's left. This ordering is why panning toward an area you haven't visited yet still feels responsive - the prefetch lane is already working before you arrive.

## Streaming from remote sources

The same LOD principle extends to a checkpoint that hasn't been fully downloaded yet: a format like [safetensors](/docs/working-with-models/safetensors) lets Tensormorph fetch just a header to populate the coarsest level (names, shapes, dtypes) before any weight bytes arrive, with finer levels streaming in only as you actually navigate toward them.

## Indexing ahead of time

Interactive LOD streaming assumes an index already exists - `tmorph index` (optionally with `--pyramids` to precompute the full LOD pyramid rather than just the base statistics) builds the `.tmidx`/`.tmtiles` files a session streams from. See [Batch Inspection](/docs/cli-and-automation/batch-inspection) for indexing a checkpoint ahead of an interactive session, which avoids paying the indexing cost the first time someone opens a very large model.

## Related resources

-   [Tensor Statistics](/docs/inspect-and-analyze/tensor-statistics) - the mergeable statistics the LOD pyramid is built from.
-   [GPU Backend Compatibility](/docs/reference/gpu-backend-compatibility) - how backend placement interacts with LOD residency.
-   [File Formats](/docs/reference/file-formats) - `.tmidx` and `.tmtiles` in full.
