Skip to main content

Module container_10d

Module container_10d 

Source
Expand description

.10d living-container v1 — normative header, axis-role taxonomy, and metric-completeness descriptor for the 10-D tensor substrate. P0.1 barrier task. Available to browser/WASM builds (P0.8 parity target). See docs/plans/native-computational-geometry-EXECUTION.md P0.1. .10d living-container v1 — the normative header, axis-role taxonomy, and metric-completeness descriptor that serialize the 10-D tensor runtime.

This is the P0.1 barrier task: the surface every later P0 task (section table, CRC-32C integrity, quantized-mesh section, Tensor10D node section, renderer upload path, conformance vectors, WASM parity) consumes. It lands alone first; no swarm fan-out on P0.1 itself.

Scope of P0.1 (what is implemented-in-code here vs. spec-reserved):

  • Implemented: AxisRole taxonomy + the proposed (not-yet-frozen) Option A table; MetricCompletenessDescriptor + the verify_descriptor_against_reality gate that introspects Tensor10D::full_distance; Container10dHeader POD (64 bytes, repr(C), zero padding asserted) with encode/parse running every P0.1 acceptance gate (bad magic / unknown version / undefined axis role / non-zero padding / metric-completeness divergence).
  • Spec-reserved (NOT yet implemented — do not report as working): header_crc32c (P0.3 wires the shared CRC-32C delegated from q42/p64_weight.rs); the section table, tiered alignment, and per-section CRC (P0.2); the quantized-mesh section (P0.4); the Tensor10D node section (P0.5); the renderer upload path (P0.6); conformance vectors (P0.7); WASM parity build gate (P0.8).

Two ⚑ format decisions were resolved by Timothy Charles Holborn on 2026-07-04 and are encoded here as the not-yet-frozen defaults:

  1. Axis-role taxonomy (Option A): q,v,w = Selector; x,y,z,t,α,σ = Coordinate; μ = CoordinateCarrier (dual-role: a coordinate that is also the in-band provenance carrier).
  2. Metric-completeness (option b — document the limitation): the header encodes the current full_distance reality. v=0 Euclidean folds all seven COORDINATEs; v=1 Cyclic and v=2 Hyperbolic fold x,y,z only; v>=3 Boundary clique folds no coordinate axes (byte-equality on v). P7.9 (making the non-Euclidean metrics axis-complete via product / warped-product manifolds and a weighted clique-graph) is deferred as future geometry design work — see the progress log.

Reference: docs/plans/native-computational-geometry.md §4.1, docs/plans/native-computational-geometry-EXECUTION.md P0.1, and the cross-cutting gate “Honest axis-role taxonomy & metric-completeness (queryability claim == code)”.

Re-exports§

pub use axis_role::AxisRole;
pub use axis_role::AXIS_ORDER;
pub use axis_role::COORDINATE_AXES;
pub use axis_role::MU_AXIS;
pub use axis_role::PROPOSED_AXIS_ROLES;
pub use axis_role::SELECTOR_AXES;
pub use crc32c::crc32c;
pub use crc32c::crc32c_update;
pub use header::Container10dHeader;
pub use header::HeaderParseError;
pub use header::FLAG_DEFAULT_DISPOSITION_REFUSE;
pub use header::HEADER_BYTE_SIZE;
pub use header::HEADER_VERSION;
pub use header::MAGIC_10D;
pub use header::MAX_SECTION_COUNT;
pub use integrity::compute_whole_file_crc32c;
pub use integrity::seal_whole_file_crc32c;
pub use integrity::verify_whole_file_crc32c;
pub use integrity::IntegrityError;
pub use mesh_section::decode_mesh_section;
pub use mesh_section::encode_mesh_section;
pub use mesh_section::parse_mesh_header;
pub use mesh_section::MeshMiniHeader;
pub use mesh_section::MeshSectionError;
pub use mesh_section::FLAG_U16_INDICES;
pub use mesh_section::MAX_TRIANGLE_COUNT;
pub use mesh_section::MAX_VERTEX_COUNT;
pub use mesh_section::MESH_MINI_HEADER_SIZE;
pub use metric_check::proposed_metric_descriptor;
pub use metric_check::verify_descriptor_against_reality;
pub use metric_check::MetricBranchDescriptor;
pub use metric_check::MetricCompletenessDescriptor;
pub use metric_check::MetricDivergence;
pub use metric_check::MetricKind;
pub use metric_check::BOUNDARY_CLIQUE_BRANCH_INDEX;
pub use metric_check::METRIC_BRANCH_COUNT;
pub use node_section::parse_node_header;
pub use node_section::read_node;
pub use node_section::read_node_aos;
pub use node_section::read_node_soa;
pub use node_section::read_node_soa_lane;
pub use node_section::transpose_aos_to_soa;
pub use node_section::transpose_soa_to_aos;
pub use node_section::write_node_q_at;
pub use node_section::write_node_section_aos;
pub use node_section::write_node_section_soa;
pub use node_section::NodeMiniHeader;
pub use node_section::NodeSectionError;
pub use node_section::AXIS_COUNT;
pub use node_section::LAYOUT_AOS;
pub use node_section::LAYOUT_SOA;
pub use node_section::MAX_NODE_COUNT;
pub use node_section::NODE_MINI_HEADER_SIZE;
pub use node_section::TENSOR10D_SIZE;
pub use provenance_section::decode_provenance_section;
pub use provenance_section::encode_provenance_section;
pub use provenance_section::encoded_len as provenance_encoded_len;
pub use provenance_section::validate_provenance;
pub use provenance_section::ProvenanceMiniHeader;
pub use provenance_section::ProvenanceSectionError;
pub use provenance_section::ProvenanceSidecar;
pub use provenance_section::ProvenanceSidecarView;
pub use provenance_section::FLAG_HAS_VC;
pub use provenance_section::PROVENANCE_MAGIC;
pub use provenance_section::PROVENANCE_MINI_HEADER_SIZE;
pub use provenance_section::PROVENANCE_SECTION_VERSION;
pub use section::encode_container;
pub use section::parse_section_table;
pub use section::AlignmentTier;
pub use section::SectionDescriptor;
pub use section::SectionInput;
pub use section::SectionTableError;
pub use section::SectionType;
pub use section::SECTION_DESCRIPTOR_SIZE;
pub use spatial_index_section::decode_spatial_index_section;
pub use spatial_index_section::encode_spatial_index_section;
pub use spatial_index_section::DecodedSpatialIndex;
pub use spatial_index_section::SpatialIndexMiniHeader;
pub use spatial_index_section::SpatialIndexSectionError;
pub use spatial_index_section::SPATIAL_INDEX_MINI_HEADER_SIZE;
pub use topology_section::decode_topology_section;
pub use topology_section::encode_topology_section;
pub use topology_section::TopologyMiniHeader;
pub use topology_section::TopologySectionData;
pub use topology_section::TopologySectionError;
pub use topology_section::TOPOLOGY_MINI_HEADER_SIZE;

Modules§

axis_role
Normative axis-role taxonomy for the .10d container header.
conformance
.10d v1 normative-spec conformance vectors + layout-table drift gate (P0.7 scaffold).
crc32c
Shared CRC-32C (Castagnoli, reflected) — the canonical integrity primitive for the .10d container and the q42/p64_weight.rs weight container.
header
Normative .10d container header — the barrier surface every later P0 task consumes.
integrity
Whole-file content hash + canonical-encoding integrity gates (P0.3).
mesh_section
.10d QuantizedMesh section — the geometry half of a mesh asset in the container (P0.4).
metric_check
Metric-completeness descriptor + the “queryability claim == code” gate.
node_section
.10d Tensor10D NODE section — the 40-byte epistemic atom in the container (P0.5).
provenance_section
.10d ProvenanceSidecar section (P1) — the provenance half of an asset, bundled physically inside the container so context is byte-inseparable from the data it attests.
section
.10d self-describing section table + tiered alignment + caller-buffered writer (P0.2).
spatial_index_section
.10d Spatial-index section — BVH node array + kd-tree node array serialized as a self-describing section (P3.7).
topology_section
.10d Topology section — half-edge graph + CSR adjacency + connectivity summary serialized as a self-describing section (P2.8).

Constants§

CONTAINER_10D_ABI_VERSION
Versioned .10d container ABI. Increment only when public POD layouts or caller-buffer contracts change. P0.1 sets this to 1; P0.2/P0.3 may raise it when the section table + CRC lands.