Start with the model
P3DF (Portable 3D Format) connects four parts of a spatial digital twin: geometry, meaning, navigation and history. The current reference specification describes a portable package. An integrating application can read the scene graph, resolve an asset’s geometry, and work with the telemetry bound to that asset.
The reference engine executes structured JSON queries. A language model or other caller translates a user’s intent into those queries. Keeping that boundary explicit makes spatial results testable without making the file format dependent on a particular AI model.
Explore the illustrative browser previewUnderstand the package
example.p3df
├── manifest.json
├── scene.json
├── geometry/*.glb
├── navmesh/{profile}/*.parquet
├── telemetry/{node_id}/*.parquet
└── thumbnails/*.pngThe package is a ZIP archive. The manifest describes its identity, format version, coordinates, entries and checksums. The scene graph connects sites, buildings, levels, spaces, assets and components. Geometry, navigation and telemetry entries are optional.
Read the format overviewDigital-twin queries for AI agents
- Identify the relevant space, asset or component.
- Resolve its relationships and spatial representation.
- Read the relevant time window or most recent recorded telemetry.
- Pass the context to the application’s planner, respecting data freshness and permissions.
- Verify the physical environment before acting.
P3DF does not make a stale observation current, grant permission to access a camera, or guarantee that a physical action is safe. Those checks belong in the integrating system.
Independent implementations
Independent implementations are required to establish interoperability. The public release plan includes a language-neutral format specification, schemas, valid and invalid sample packages, and expected validation results.
The Python reference engine and P3DF Creator are implementations of the idea. Their internal code structure should not be a requirement for your reader. We welcome interest from TypeScript, Rust, C++, Java, C#, robotics and 3D-tool developers.
P3DF is an evolving open standard. The public specification and reference code are intended for an Apache License 2.0 release. The repository link, install commands and validated sample files will be published when ready; this site does not invent a package installation command.
Related documentation
Receive project updates
Get release updates or register your interest in shaping the specification.