DarkString
DarkString
Back to Pico Dev
01
PICO SPATIAL SDK · 0.10.7Emulator verified

Welcome Space

From Window to Volume and Full Space

This is more than a furniture browser: planar navigation handles selection, a Volume handles inspection, and a Stage handles immersive placement.

Capability
Spatial containers and cross-container state
Environment
PICO Emulator 0.10
Result
Build, install, and home rendering verified
RUN EVIDENCE

Emulator capture

Welcome Space home screen in the PICO emulator
Captured from the local PICO Emulator 0.10 run; no mockup is used as test evidence.
01

What the run proved

The home screen opens as a Window. Furniture browsing and room entry lead to different spatial containers. The emulator verifies creation and loading; hand-gesture quality still needs a headset.

  • 01Window: navigation, lists, and explanatory UI.
  • 02Volume: a depth-aware container for the model and toolbar.
  • 03Stage: enters the complete room at 100% immersion.
02

Core code: define space before content

mainApp declares all three container types. Stable IDs become anchors for opening, passing data, and restoring state.

Core code · kotlinMain.kt
DefaultWindowContainer { MainNavHost() }
WindowContainer(
  id = "display_box",
  form = Form.Volumetric,
  worldScale = WorldScale.Fixed
) { ItemDisplayVolume() }
Stage(id = "room", immersion = Immersion(default = 100)) {
  FullSpaceRoom()
}

Window, Volume, and Stage are peer containers inside one app, not three Activities.

03

Core code: gesture coordinates and lifecycle

Drag input starts in global view coordinates and is converted into the content local space before updating the entity. Scale is clamped, and DisposableEffect unregisters the rotation system on exit.

Core code · kotlinItemDisplayVolume.kt
val localRotation = content.convertRotation(
  rotation = dragAmount.toRotation3D().toQuaternion(),
  from = ViewCoordinateSpace.Global,
  to = content.localSpatialCoordinateSpace
)
transform.setQuaternion(localRotation)

A common spatial bug is combining values from different coordinate spaces.