P3DF/Developers

P3DF developer documentation

A starting point for developers building spatial applications, robotics systems and agent workflows with P3DF.

Developer preview · Public code and conformance assets coming soon

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 preview

Understand the package

example.p3df
├── manifest.json
├── scene.json
├── geometry/*.glb
├── navmesh/{profile}/*.parquet
├── telemetry/{node_id}/*.parquet
└── thumbnails/*.png

The 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 overview

Digital-twin queries for AI agents

  1. Identify the relevant space, asset or component.
  2. Resolve its relationships and spatial representation.
  3. Read the relevant time window or most recent recorded telemetry.
  4. Pass the context to the application’s planner, respecting data freshness and permissions.
  5. 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.

Newsletter

Subscribe to P3DF updates

Enter your email for updates on P3DF releases, research and community progress.