REGISTRY
This directory ships the SceneView SDK as **agent skills** for AI coding assistants. Each skill is a self-contained `SKILL.md`…
OpenAI's unit of distribution is the **plugin**: a folder with a manifest at `.codex-plugin/plugin.json`, optional skills, an optional MCP server and optional UI, listed in one **Plugins Directory shared by ChatGPT and Codex** (<https://developers.openai.com/plugins>). This
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
OpenAI's unit of distribution is the **plugin**: a folder with a manifest at `.codex-plugin/plugin.json`, optional skills, an optional MCP server and optional UI, listed in one **Plugins Directory shared by ChatGPT and Codex** (<https://developers.openai.com/plugins>). This
OpenAI's unit of distribution is the **plugin**: a folder with a manifest at `.codex-plugin/plugin.json`, optional skills, an optional MCP server and optional UI, listed in one **Plugins Directory shared by ChatGPT and Codex** (<https://developers.openai.com/plugins>). This repository *is* that plugin: the manifest sits at the repo root and points at the skills that already live under `agents/` and at the `sceneview-mcp` server.
| Component | Where | Directory type | |---|---|---| | Manifest | [`.codex-plugin/plugin.json`](../.codex-plugin/plugin.json) | required | | Skills (3) | [`agents/sceneview`](sceneview/SKILL.md), [`agents/sceneview-ios`](sceneview-ios/SKILL.md), [`agents/sceneview-web`](sceneview-web/SKILL.md) | skills-only submission works with these alone | | Skill display metadata | `agents/<skill>/agents/openai.yaml` | optional | | Bundled MCP (stdio, Codex) | [`.codex-plugin/mcp.json`](../.codex-plugin/mcp.json) → `npx -y sceneview-mcp` | optional | | Remote MCP (ChatGPT) | `npx sceneview-mcp --http` — Streamable HTTP at `/mcp`, see [`mcp/README.md`](../mcp/README.md) | needs a public URL | | 3D viewer UI | `ui://widget/3d-viewer.html` served by the same server (MCP Apps, `text/html;profile=mcp-app`) | optional | | Codex discovery in any checkout | [`.agents/skills/*`](../.agents/skills) symlinks → `agents/*`; [`.agents/plugins/marketplace.json`](../.agents/plugins/marketplace.json) for local install | — |
Why the repo root and not a copy: the skills are validated against the library source by `.claude/scripts/check-sceneview-skill.sh`, and a second copy under `plugins/` would be one more surface to drift. Codex follows symlinks in `.agents/skills`, so the canonical files stay under `agents/`.
1. **Skills-only** — zero infrastructure, self-serve, no domain verification. The three `SKILL.md` files carry the API contract (`llms.txt` link), recipes, migration guide and demo references. Submit this first. 2. **Skills + MCP** — adds the 32 tools and the inline 3D viewer. Requires a public production URL serving `sceneview-mcp --http`, domain verification and a CSP declaration. The hosted gateway was deleted on 2026-08-31, so this shape waits for an explicit hosting decision; nothing in the package assumes one.
Both shapes are compliant with the directory's monetization rule (no selling or promoting subscriptions inside the plugin): the plugin contains no purchase or subscription flow. The remote surface omits the three tools that need your own third-party credentials, because a shared anonymous endpoint cannot hold them. The skills link to Apache-2.0 sources.
the first try.
sync by editing the manifest, this file only mirrors it.
<https://github.com/sceneview/sceneview/issues>
<https://github.com/sceneview/sceneview/blob/main/mcp/TERMS.md>
**composer icon:** `website-static/favicon-192.png`. One screenshot of the 3D widget (DamagedHelmet, 800 × 600, headless Chrome + SwiftShader) exists for the listing form; it is kept with the maintainer's listing assets, not in the repository.
1. Build a Jetpack Compose screen that loads a `.glb` model with SceneView, orbit camera and a light. 2. Add ARCore plane detection with SceneView and place the model where the user taps. 3. Write a SwiftUI view that shows a USDZ model with SceneViewSwift on iOS and visionOS. 4. Render a GLB in the browser with `sceneview-web` and add a WebXR "View in AR" button. 5. Migrate this SceneView 2.x snippet to the 4.x composable API. 6. Show me this 3D model URL inline and tell me how to load it in Compose. 7. Open the `.3mf` file a print flow gave me in a Compose viewer, then place it in AR at its real size. 8. Preview the `.3mf` you just generated for 3D printing, in 3D.
| # | Prompt | Expected behaviour | Result shape | |---|---|---|---| | P1 | "Load `models/helmet.glb` in a Compose screen with SceneView" | Skill `sceneview` triggers; code uses `SceneView { }`, `rememberEngine`, `rememberModelLoader`, `rememberModelInstance`; dependency `io.github.sceneview:sceneview:4.51.0` | Kotlin snippet that compiles against 4.51.0 | | P2 | "Place that model on a detected plane when I tap" | `ARSceneView { }` with plane detection and a hit-test on tap; dependency `arsceneview` | Kotlin snippet | | P3 | "Same thing on iOS with SwiftUI" | Skill `sceneview-ios`; `SceneView { }` / `ARSceneView { }` from SceneViewSwift, SPM tag `4.51.0` | Swift snippet | | P4 | "Show me `https://…/DamagedHelmet.glb` in 3D" (MCP shape only) | Tool `view_3d_model` is called; the widget renders the model inline; text names the URL | `structuredContent.modelUrl` + widget | | P5 | "Which SceneView sample fits an AR anchor demo?" (MCP shape only) | `list_samples` then `get_sample` | Sample id + Kotlin source | | P6 | "Open this `.3mf` in Compose and place it in AR at its real size" | Skill `sceneview` triggers; the answer uses the ordinary `rememberModelInstance(modelLoader, uri)` path and invents no `loadThreeMf` API; the millimetre → metre scaling is named | Kotlin snippet | | P7 | "Show me the `.3mf` you just made for printing" (MCP shape only) | `view_3d_model` is called with the `.3mf` URL; the widget converts it to glTF in the browser and renders it, and the format pill reads 3MF | `structured
The AI-first 3D & AR SDK for Jetpack Compose, SwiftUI and the web. Declarative 3D and AR for app developers who want a model on screen, or in the room, without a game engine: Filament + ARCore on Android, RealityKit + ARKit on Apple, Filament.js + WebXR in
This directory ships the SceneView SDK as **agent skills** for AI coding assistants. Each skill is a self-contained `SKILL.md`…
This page covers the rewrites AI agents most often need when bringing existing Apple-platform 3D code onto SceneViewSwift. The…
**Do not improvise.** Every pattern below has a matching SwiftUI demo file in `samples/ios-demo/SceneViewDemo/Views/Demos/`. Read…