Concepts
This section gathers the big ideas behind IWSDK — how the engine is structured and how to build XR apps that feel great and run smoothly. Jump into a topic below.
ECS (Entity–Component–System)
- Start here for the core programming model.
- How entities, components, and systems fit together; config signals; queries; lifecycle; patterns.
- Begin: /concepts/ecs
Three.js Basics for IWSDK
- Practical Three.js concepts in the context of IWSDK: transforms, scene graph, cameras, lights, geometry/materials, raycasting, and rendering performance.
- Begin: /concepts/three-basics
XR Input
- Controllers and hands with a unified model: visuals, pointers (ray/grab), XR origin spaces, and the
StatefulGamepad
helper. - Begin: /concepts/xr-input
- Highlights: Input Visuals, Pointers, Stateful Gamepad, XR Origin
Spatial UI
- High‑performance 3D UI using UIKit (Yoga‑based layout, MSDF text) with familiar authoring via UIKitML, compiled by a Vite plugin.
- Begin: /concepts/spatial-ui
- Highlights: UIKit, UIKitML, UIKitDocument, Flow
Locomotion
- Comfort‑first movement: slide with vignette, arc‑based teleport, snap/smooth turn — all powered by a lightweight physics engine that can run in a Worker.
- Begin: /concepts/locomotion
- Highlights: Slide, Teleport, Turn, Performance
Suggested Path
- ECS → 2) Three Basics → 3) XR Input → 4) Spatial UI → 5) Locomotion
You can dip into any section as needed, but this order builds intuition steadily: data model → rendering basics → input → UI → movement.