What this page defines
This page explains the current reference architecture. It is not a ratified standard, a complete normative specification, or a claim of tested conformance. The language-neutral public specification and conformance corpus are upcoming release deliverables.
P3DF is intended as a portable operational spatial-twin package. A file exported or shared at a particular moment is a point-in-time reference, including whatever history the author elected to embed.
Read the same overview as plain Markdown or inspect the machine-readable project status.
A deterministic container
manifest.json Required
scene.json Required
geometry/*.glb Optional
navmesh/{profile}/*.parquet Optional
navmesh/{profile}/meta.json Optional navigation metadata
telemetry/{node_id}/*.parquet Optional
thumbnails/*.png OptionalThe reference specification defines a ZIP container with stored entries, fixed entry timestamps and sorted paths, placing the manifest first. The manifest covers each other entry with its path, byte length, SHA-256 checksum, media type and role.
These checksum and serialization rules support corruption detection and reproducible packaging. They do not establish who authored a package. Signing and encryption are reserved future work.
Scene hierarchy and semantics
Site → Building → Level → Space → Asset → Component
UUID identifiers give scene nodes stable identities within the package. Parent-child relationships establish containment, while additional semantic relationships describe how entities connect. JSON carries the scene, with a JSON-LD context for vocabulary names.
The draft recommends building and appliance vocabularies such as Brick and SAREF. Readers should preserve domain semantics rather than replace them with labels meaningful only to a single application.
Coordinate and geometry conventions
| Concern | Draft convention |
|---|---|
| Local frame | Right-handed, Z-up, metres |
| Rotation | Unit quaternion stored as x, y, z, w |
| Global anchoring | WGS84 with local-frame anchoring |
| Visual geometry | glTF 2.0 binary (GLB), with axis conversion at the I/O boundary |
| Levels of detail | From simple spatial bounds to visual meshes |
| Identity | UUIDv4 strings for scene nodes and twin identity |
What needs to be validated
- Required entries, supported format version and valid manifest.
- Entry checksums and resolvable references.
- Unique node identifiers and a valid scene hierarchy.
- Finite poses and valid unit quaternions.
- Valid spatial polygons and navigation topology.
- Telemetry schemas, UTC timestamps and chronological ordering.
The release plan includes valid and deliberately invalid examples with expected outcomes. Until those assets are public and an implementation has passed them, “P3DF-compatible” should be treated as an unverified implementation claim.
Receive project updates
Get release updates or register your interest in shaping the specification.