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:
AxisRoletaxonomy + the proposed (not-yet-frozen) Option A table;MetricCompletenessDescriptor+ theverify_descriptor_against_realitygate that introspectsTensor10D::full_distance;Container10dHeaderPOD (64 bytes, repr(C), zero padding asserted) withencode/parserunning 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 fromq42/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:
- 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). - Metric-completeness (option b — document the limitation): the header
encodes the current
full_distancereality.v=0Euclidean folds all seven COORDINATEs;v=1Cyclic andv=2Hyperbolic foldx,y,zonly;v>=3Boundary clique folds no coordinate axes (byte-equality onv). 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
.10dcontainer header. - conformance
.10dv1 normative-spec conformance vectors + layout-table drift gate (P0.7 scaffold).- crc32c
- Shared CRC-32C (Castagnoli, reflected) — the canonical integrity primitive
for the
.10dcontainer and theq42/p64_weight.rsweight container. - header
- Normative
.10dcontainer header — the barrier surface every later P0 task consumes. - integrity
- Whole-file content hash + canonical-encoding integrity gates (P0.3).
- mesh_
section .10dQuantizedMesh 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 .10dTensor10D NODE section — the 40-byte epistemic atom in the container (P0.5).- provenance_
section .10dProvenanceSidecar section (P1) — the provenance half of an asset, bundled physically inside the container so context is byte-inseparable from the data it attests.- section
.10dself-describing section table + tiered alignment + caller-buffered writer (P0.2).- spatial_
index_ section .10dSpatial-index section — BVH node array + kd-tree node array serialized as a self-describing section (P3.7).- topology_
section .10dTopology section — half-edge graph + CSR adjacency + connectivity summary serialized as a self-describing section (P2.8).
Constants§
- CONTAINER_
10D_ ABI_ VERSION - Versioned
.10dcontainer 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.