How junjianchi/artiscene works
artiscene converts a natural-language scene brief into an authored, validated USD scene for Isaac Sim. Its principal workflow runs Shell, Furniture, and Physics design stages over shared SceneState, then deterministically authors the composed scene and reviews its quality. The product also exposes generation and session inspection through a CLI and catalog browsing/generation through MCP. The README documents the full stage order and optional integrations; several subsystem links below are omitted or marked unverified where the sampled source does not show their calls.
Main entry points: pipeline.py Stage Pipeline · scene_author.py Scene Author · scene_state.py Shared Scene State · agent.py Furniture Design
Components 26
User Interfaces
- CLI
articscene/cli/main.py - MCP Server
articscene/mcp/server.py - MCP Tools
articscene/mcp/tools.py
Scene Workflow
- Stage Pipeline
articscene/pipeline/pipeline.py - Shared Scene State
articscene/core/scene_state.py - Shell Design
articscene/agents/shell/agent.py - Furniture Design
articscene/agents/furniture/agent.py - Physics Design
articscene/agents/physics/agent.py - Scene Review
articscene/agents/scene_review/agent.py - Designer Critic Loop
articscene/agents/base.py
Asset Authoring
- Articraft Catalog
articscene/mechanical/articraft_catalog.py - Material Retrieval
articscene/mechanical/material_retrieval.py - Scene Author
articscene/mechanical/scene_author.py - Room Composition
articscene/mechanical/compose/room.py - Articulated USD
articscene/mechanical/urdf_to_usd.py - Static Prop Authoring
articscene/mechanical/static_props/authoring.py - Isaac Scene Composition
articscene/mechanical/compose_isaac_scene.py
Runtime and Sessions
- Runtime Configuration
articscene/runtime/context.py - LLM Providers
articscene/runtime/providers/factory.py - Session Layout
articscene/runtime/storage_layout.py - Session Persistence
articscene/storage/session_writer.py
Other components
- Scene Requester
- Isaac Sim
- AmbientCG
- Meshy
- OpenAI
Connections 34
- Scene Requester → CLI: submits prompt
README.md - Scene Requester → MCP Server: requests generation
README.md - MCP Server → MCP Tools: serves tools
articscene/mcp/server.py - MCP Tools → Stage Pipeline: invokes workflow
articscene/mcp/tools.py - CLI → Stage Pipeline: starts generation
- Stage Pipeline → Runtime Configuration: uses configuration
articscene/pipeline/pipeline.py - Stage Pipeline → LLM Providers: creates provider
articscene/pipeline/pipeline.py - Stage Pipeline → Shell Design: runs stages
README.md - Stage Pipeline → Furniture Design: runs stages
README.md - Stage Pipeline → Physics Design: runs stages
README.md - Stage Pipeline → Scene Author: authors scene
articscene/pipeline/pipeline.py - Stage Pipeline → Scene Review: runs stages
README.md - Stage Pipeline → Shared Scene State: hands off state
articscene/pipeline/pipeline.py - Shell Design → Shared Scene State: updates state
articscene/core/scene_state.py - Furniture Design → Shared Scene State: updates state
articscene/core/scene_state.py - Physics Design → Shared Scene State: updates state
articscene/core/scene_state.py - Scene Review → Shared Scene State: records verdict
articscene/core/scene_state.py - Shell Design → Designer Critic Loop: inherits loop
- Furniture Design → Designer Critic Loop: inherits loop
articscene/agents/furniture/agent.py - Physics Design → Designer Critic Loop: inherits loop
articscene/agents/physics/agent.py - Furniture Design → Articraft Catalog: retrieves assets
articscene/agents/furniture/agent.py - Physics Design → Articraft Catalog: inspects assets
articscene/agents/physics/agent.py - Scene Author → Shared Scene State: reads scene data
articscene/mechanical/scene_author.py - Scene Author → Room Composition: composes room
articscene/mechanical/compose/room.py - Scene Author → Articulated USD: authors articulated assets
articscene/mechanical/scene_author.py - Scene Author → Static Prop Authoring: authors props
articscene/mechanical/scene_author.py - Scene Author → Isaac Scene Composition: composes layers
articscene/mechanical/scene_author.py - Room Composition → Material Retrieval: uses material builder
articscene/mechanical/compose/room.py - Stage Pipeline → AmbientCG: resolves textures
articscene/pipeline/pipeline.py - Stage Pipeline → Meshy: generates props
articscene/pipeline/pipeline.py - Stage Pipeline → OpenAI: generates decal images
articscene/pipeline/pipeline.py - Stage Pipeline → Session Layout: resolves session paths
articscene/pipeline/pipeline.py - Stage Pipeline → Session Persistence: persists session
articscene/pipeline/pipeline.py - Isaac Scene Composition → Isaac Sim: loads USD scene
README.md