Workflow

Contracts first, examples second, adapters last.

The current workflow keeps the public surface small enough to review while still giving downstream app shells a shared vocabulary.

Implementation Loop

  1. Choose the smallest public crate that owns the concept.
  2. Add or refine framework-neutral contracts before moving behavior.
  3. Add synthetic tests and public docs.
  4. Run formatting, tests, and clippy.
  5. Only then route downstream consumers through the public contract.

Validate

cargo fmt --all --check, cargo test --workspace, and cargo clippy --workspace --all-targets -- -D warnings.

Document

Update the implementation plan, relevant topical docs, and the Pages layer when a crate becomes materially more useful.

Publish

Tag usable crate sets only after examples and docs show how downstream shells should consume them.

Environment Depth Mapping

The Quest composite-layer example now has a scene-owned particle map for real-time environment-depth inspection. Keep depth samples in OpenXR local space, merge them by metric scene cell, and use high-confidence current depth only to clear visible free-space cells in front of the observed surface.

Use the log markers projection=local-space-scene-particle-map, activeCorrectionPolicy=visible-free-space-ray-clear, particleMask=default-disc, and particleOpacity=alpha-clipped-opaque when validating the mapping profile. See ENVIRONMENT_DEPTH_PARTICLE_ANCHORING.md.

Quest Streaming Diagnostics

For camera-composite and broker H.264 work, keep the cost matrix separate: synthetic compositor, direct Camera2 projected stereo, broker receive/decode, and broker live projected stereo. Compare the baseline soft-border profiles against the direct raw-projection profiles at rustyxr.xrRenderScale=0.75 and 0.65, then summarize the artifacts with tools/quest-streaming-diagnostics.

The current public-example evidence points to the projection shader/load path as the parity lever after MediaCodec, broker receive/decode, Java image acquisition, HardwareBuffer extraction, and native bridge handoff are held fixed. Use camera-stereo-gpu-composite-scale075 and broker-h264-stereo-live-openxr-projection-scale075-probe only for performance/compatibility checks. Use full-feed control profiles for coordinate-alignment gates. See QUEST_STREAMING_DIAGNOSTICS_WORKFLOW.md.

Pages Deployment

Serve GitHub Pages from the repository docs/ folder. See PAGES_SETUP.md for the exact repository setting and local preview command.