Design and implement visionOS SwiftUI scenes that integrate RealityKit content. Use when building spatial UI with RealityView, Model3D, attachments, volumetric windows, ImmersiveSpace, or spatial gestures, or when choosing SwiftUI vs RealityKit APIs for 3D presentation.
spatial-app-architecture first.Chart3D, SurfacePlot, 3D chart marks, or
Chart3DPose, switch to $swiftui-chart3d-developer.Model3D for simple asset display, RealityView
for custom entity graphs and attachments.build-run-debug.| Reference | When to Use |
|-----------|-------------|
| swiftui-spatial-overview.md | When you need the general feature map, examples, and routing guidance for this skill. |
| model3d.md | When using Model3D for async model loading, assets, animation, or manipulation. |
| realityview.md | When setting up RealityView, attachments, or RealityKit integration patterns. |
| interaction.md | When implementing gestures or manipulation patterns for spatial input. |
| buttons-and-controls.md | When implementing visible SwiftUI buttons, links styled as buttons, toolbars, forms, or control surfaces. |
| swiftui-scene-lifecycle.md | When checking official Window, WindowGroup, ImmersiveSpace, open/dismiss, restoration, and launch contracts. |
| windowing-immersion.md | When managing windows, volumetric surfaces, or immersive space transitions. |
| spatial-layout.md | When using SwiftUI spatial layout APIs, sizing, or debug tools. |
Model3D, RealityView, window, volume, or
immersive scene..buttonBorderShape(...) (.capsule
for labeled actions, .circle for icon-only,
.roundedRectangle(radius:) matching the background for card-like
buttons - on visionOS this is also what shapes the button's hover
highlight). Non-button hover surfaces pair .hoverEffect() with a matching
.contentShape(.hoverEffect, ...). Load
buttons-and-controls.md before
writing any control code - this applies even when buttons are incidental to
a larger task.RealityView make or update closures or in a
system, not in SwiftUI body code.Model3D only when you need simple display and layout, not a custom ECS graph.ImmersiveSpace as a separate scene with its own lifecycle and environment actions.defaultSize as an initial hint only; the system can clamp or restore geometry.$swiftui-chart3d-developer for Chart3D and spatial data visualization.build-run-debug when the question is about launch, build,
simulator, codesign, or debugging workflow.spatial-app-architecture when the question is about scene boundaries,
ownership, or feature decomposition rather than API usage.inputKinds:
filtering (see interaction.md) plus cross-platform toolbar and navigation
refinements that also apply on visionOS.Provide:
Model3D, RealityView, windowing, interaction,
or layout)Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer