Decode persisted actor-visible root EVL evidence for one source row.
Returns None when the immutable source store did not materialize a backbone. Required voxel-frame blocks fail with rebuild guidance rather than being replaced by zero tensors; optional head/evidence blocks are represented as None by :class:EvlBackboneOutput.
Discover immutable VIN stores below root from their two index files.
Discovery checks filenames only and does not validate or open shard arrays. Ordinary collection directories are traversed without following directory symlinks. Recognized VIN stores and Zarr payloads are traversal boundaries: their payloads are not collections of nested VIN stores. Returned absolute paths are sorted for deterministic manifest-hash matching.
Validate root schema and capability without opening shard payloads.
Readers and metadata-only bundle inspection share this admission contract. V11 roots carry actor inputs and must exclude scene-supervision blocks; V10 roots retain the scene-labelled contract. This check does not establish payload integrity or objective-specific training readiness.
# data_handling.vin_store.store { #aria_nbv.data_handling.vin_store.store }`data_handling.vin_store.store`Low-level storage primitives for the VIN offline dataset format.This module owns the immutable on-disk layout of the VIN offline dataset:- path and split configuration,- per-shard block materialization helpers,- manifest and sample-index loading, and- Zarr-backed random-access reads for fixed-size tensor blocks.- indexed per-row MessagePack reads for optional diagnostic payloads.## Attributes| Name | Description || ---| ---||[ACTOR_ONLY_DATASET_VERSION](#aria_nbv.data_handling.vin_store.store.ACTOR_ONLY_DATASET_VERSION)| Explicit actor-root capability: actor inputs and label assets, no scene supervision. ||[OFFLINE_DATASET_VERSION](#aria_nbv.data_handling.vin_store.store.OFFLINE_DATASET_VERSION)| Version of the unchanged scene-labelled VIN offline dataset format. |## Classes| Name | Description || ---| ---||[VinOfflineStoreConfig](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig)| Filesystem configuration for one immutable VIN offline dataset. ||[VinOfflineStoreReader](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader)| Read immutable VIN offline datasets with Zarr-backed random access. |### VinOfflineStoreConfig { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig }```pythondata_handling.vin_store.store.VinOfflineStoreConfig()```Filesystem configuration for one immutable VIN offline dataset.#### Attributes| Name | Description || ---| ---||[paths](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.paths)| Project path resolver. ||[store_dir](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.store_dir)| Root directory containing the immutable VIN offline dataset. ||[manifest_filename](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.manifest_filename)| Filename of the top-level manifest. ||[sample_index_filename](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.sample_index_filename)| Filename of the global sample index. ||[shards_dirname](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.shards_dirname)| Directory containing immutable shard subdirectories. ||[splits_dirname](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.splits_dirname)| Directory containing split membership arrays. ||[manifest_path](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.manifest_path)| Return the resolved path to the store-owned ``manifest.json``. ||[sample_index_path](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.sample_index_path)| Return the resolved path to the global ``sample_index.jsonl``. ||[shards_dir](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.shards_dir)| Return the absolute shard root directory. ||[splits_dir](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.splits_dir)| Return the absolute split-array directory. |#### Methods| Name | Description || ---| ---||[split_path](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.split_path)| Return the split-array path for one split. ||[write_split_indices](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.write_split_indices)| Persist split membership arrays. ||[read_split_indices](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.read_split_indices)| Load the global sample indices for one split. |##### split_path { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.split_path }```pythondata_handling.vin_store.store.VinOfflineStoreConfig.split_path(split)```Return the split-array path for one split.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||--------|--------------|----------------------------------------------------------|------------|| split |[str](`str`)| Split name such as ``"all"``, ``"train"``, or ``"val"``. | _required_ |###### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|------------------------|----------------------------|||[Path](`pathlib.Path`)| Absolute split-array path. |##### write_split_indices { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.write_split_indices }```pythondata_handling.vin_store.store.VinOfflineStoreConfig.write_split_indices( split_to_indices,)```Persist split membership arrays.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||------------------|--------------------------------------------------------------------------|----------------------------------------------|------------|| split_to_indices |[dict](`dict`)\[[str](`str`), [np](`numpy`).[ndarray](`numpy.ndarray`)\]| Split membership arrays keyed by split name. | _required_ |##### read_split_indices { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreConfig.read_split_indices }```pythondata_handling.vin_store.store.VinOfflineStoreConfig.read_split_indices(split)```Load the global sample indices for one split.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||--------|--------------|----------------------------------------------------------|------------|| split |[str](`str`)| Split name such as ``"all"``, ``"train"``, or ``"val"``. | _required_ |###### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|------------------------------------------|------------------------------------------------|||[np](`numpy`).[ndarray](`numpy.ndarray`)| Global sample indices for the requested split. |### VinOfflineStoreReader { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader }```pythondata_handling.vin_store.store.VinOfflineStoreReader(config)```Read immutable VIN offline datasets with Zarr-backed random access.#### Methods| Name | Description || ---| ---||[get_split_records](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.get_split_records)| Return index records for the requested split. ||[read_actor_snippet](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_actor_snippet)| Decode the actor-visible VIN blocks for one immutable source row. ||[read_backbone_evidence](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_backbone_evidence)| Decode persisted actor-visible root EVL evidence for one source row. ||[read_numeric_block](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_numeric_block)| Read one numeric block row for a sample. ||[read_optional_record](#aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_optional_record)| Read one optional per-row diagnostic record. |##### get_split_records { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.get_split_records }```pythondata_handling.vin_store.store.VinOfflineStoreReader.get_split_records(split)```Return index records for the requested split.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||--------|-----------------------------------------|--------------------------------------------------------------|------------|| split |[Stage](`aria_nbv.utils.Stage`)\| None | Lifecycle stage to select, or ``None`` for every stored row. | _required_ |###### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|------------------------------------------------------------------------------------------------------------|--------------------------------------|||[list](`list`)\[[VinOfflineIndexRecord](`aria_nbv.data_handling.vin_store.format.VinOfflineIndexRecord`)\]| Ordered index records for the split. |##### read_actor_snippet { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_actor_snippet }```pythondata_handling.vin_store.store.VinOfflineStoreReader.read_actor_snippet( record,*, device='cpu',)```Decode the actor-visible VIN blocks for one immutable source row.Tensors never alias Zarr buffers; shard handles reopen after worker forks.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||--------|------------------------------------------------------------------------------------------|------------------------------------------------------|------------|| record |[VinOfflineIndexRecord](`aria_nbv.data_handling.vin_store.format.VinOfflineIndexRecord`)| Global sample-index record selecting the source row. | _required_ || device |[str](`str`)\|[torch](`torch`).[device](`torch.device`)| Device receiving the decoded tensors. |`'cpu'`|###### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|---------------------------------------------------------------------------|-----------------------------------------------------------------------------------|||[VinSnippetView](`aria_nbv.data_handling.vin_store.views.VinSnippetView`)| class:`VinSnippetView` with world points ``Tensor["P C", float32]``, |||[VinSnippetView](`aria_nbv.data_handling.vin_store.views.VinSnippetView`)| valid point length ``Tensor["1", int64]``, |||[VinSnippetView](`aria_nbv.data_handling.vin_store.views.VinSnippetView`)| and world-from-rig :class:`PoseTW` history ``Tensor["T 12", float32]``. |||[VinSnippetView](`aria_nbv.data_handling.vin_store.views.VinSnippetView`)| The persisted world-from-snippet gauge is ``PoseTW`` ``Tensor["1 12", float32]``. |##### read_backbone_evidence { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_backbone_evidence }```pythondata_handling.vin_store.store.VinOfflineStoreReader.read_backbone_evidence( record,*, device='cpu',)```Decode persisted actor-visible root EVL evidence for one source row.Returns ``None`` when the immutable source store did not materialize abackbone. Required voxel-frame blocks fail with rebuild guidance ratherthan being replaced by zero tensors; optional head/evidence blocks arerepresented as ``None`` by :class:`EvlBackboneOutput`.##### read_numeric_block { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_numeric_block }```pythondata_handling.vin_store.store.VinOfflineStoreReader.read_numeric_block( record, block_name,)```Read one numeric block row for a sample.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||------------|------------------------------------------------------------------------------------------|-----------------------------|------------|| record |[VinOfflineIndexRecord](`aria_nbv.data_handling.vin_store.format.VinOfflineIndexRecord`)| Global sample-index record. | _required_ || block_name |[str](`str`)| Logical block name. | _required_ |###### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|------------------------------------------|------------------------------------------------|||[np](`numpy`).[ndarray](`numpy.ndarray`)| NumPy array view for the requested sample row. |##### read_optional_record { #aria_nbv.data_handling.vin_store.store.VinOfflineStoreReader.read_optional_record }```pythondata_handling.vin_store.store.VinOfflineStoreReader.read_optional_record( record, block_name,)```Read one optional per-row diagnostic record.###### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||------------|------------------------------------------------------------------------------------------|-----------------------------|------------|| record |[VinOfflineIndexRecord](`aria_nbv.data_handling.vin_store.format.VinOfflineIndexRecord`)| Global sample-index record. | _required_ || block_name |[str](`str`)| Logical block name. | _required_ |###### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|-----------------------------|-------------------------------------------|||[Any](`typing.Any`)\| None | Stored per-row Python object or ``None``. |## Functions| Name | Description || ---| ---||[discover_vin_store_dirs](#aria_nbv.data_handling.vin_store.store.discover_vin_store_dirs)| Discover immutable VIN stores below ``root`` from their two index files. ||[validate_vin_offline_manifest](#aria_nbv.data_handling.vin_store.store.validate_vin_offline_manifest)| Validate root schema and capability without opening shard payloads. |### discover_vin_store_dirs { #aria_nbv.data_handling.vin_store.store.discover_vin_store_dirs }```pythondata_handling.vin_store.store.discover_vin_store_dirs(root)```Discover immutable VIN stores below ``root`` from their two index files.Discovery checks filenames only and does not validate or open shard arrays.Ordinary collection directories are traversed without following directorysymlinks. Recognized VIN stores and Zarr payloads are traversal boundaries:their payloads are not collections of nested VIN stores. Returned absolutepaths are sorted for deterministic manifest-hash matching.### validate_vin_offline_manifest { #aria_nbv.data_handling.vin_store.store.validate_vin_offline_manifest }```pythondata_handling.vin_store.store.validate_vin_offline_manifest(manifest)```Validate root schema and capability without opening shard payloads.Readers and metadata-only bundle inspection share this admission contract.V11 roots carry actor inputs and must exclude scene-supervision blocks;V10 roots retain the scene-labelled contract. This check does not establishpayload integrity or objective-specific training readiness.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||----------|------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|------------|| manifest |[VinOfflineManifest](`aria_nbv.data_handling.vin_store.format.VinOfflineManifest`)| Decoded manifest whose schema, block declarations, and free-input provenance are checked without mutation. | _required_ |#### Raises {.doc-section .doc-section-raises}| Name | Type | Description ||--------|----------------------------|---------------------------------------------------------------------------------------------------------------------|||[ValueError](`ValueError`)| The schema, capability, block declarations, or declared backbone free-input provenance violate the reader contract. |