# 2606360985/assembly-zero architecture

> Architecture diagram of the GitHub repository 2606360985/assembly-zero, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/2606360985/assembly-zero
- Repository: https://github.com/2606360985/assembly-zero

## Overview

The repository combines a Unity factory-line demo/simulation with root-level Unity render-command-buffer interfaces and wrappers. The principal demo workflow is inferred from the scene, scenario asset, and runtime filenames; their source was not sampled, and the README excerpt provides no further detail. The sampled command-buffer code confirms forwarding to Unity’s wrapped command buffer, but not how these APIs are used by the demo.

Main entry points: [`Assets/_AssemblyZero/Runtime/SimulationDriver.cs`](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SimulationDriver.cs) (Simulation driver), [`Assets/_AssemblyZero/Runtime/Authoring.cs`](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/Authoring.cs) (Scene authoring), [`Assets/_AssemblyZero/Scenes/EP01_Demo.unity`](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Scenes/EP01_Demo.unity) (EP01 demo scene), [`Assets/_AssemblyZero/Domain/Simulations.cs`](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Domain/Simulations.cs) (Simulation domain)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_demo["Factory Simulation"]
  node_scene["EP01 demo scene<br/>[EP01_Demo.unity]"]
end

subgraph group_runtime["Simulation Runtime"]
  node_driver["Simulation driver"]
  node_config["Scenario config<br/>[ScenarioConfig.cs]"]
  node_domain["Simulation domain<br/>[Simulations.cs]"]
  node_model["Domain model<br/>[Model.cs]"]
  node_source["Cargo source<br/>[SourceAuthoring.cs]"]
  node_belt["Conveyor belts<br/>[BeltAuthoring.cs]"]
  node_gate["Routing gates<br/>[GateAuthoring.cs]"]
  node_sink["Cargo sink<br/>[SinkAuthoring.cs]"]
  node_authoring["Scene authoring<br/>[Authoring.cs]"]
  node_metrics["Metrics HUD<br/>[MetricsHud.cs]"]
  node_orders["Order display<br/>[R01OrderDisplay.cs]"]
  node_presentation["Stage presentation"]
  node_renderer["Batch item renderer"]
end

subgraph group_render["Command Buffers"]
  node_base["Base command API"]
  node_compute["Compute command API"]
  node_raster["Raster command API"]
  node_unsafe["Unsafe command API"]
  node_computeimpl["Compute command wrapper"]
  node_rasterimpl["Raster command wrapper"]
  node_unsafeimpl["Unsafe command wrapper"]
end

subgraph group_assets["Scene Assets"]
  node_scenario["EP01 scenario<br/>[EP01Scenario.asset]"]
  node_assets["Factory models and materials"]
end

node_user(("Demo user"))
node_unity["Unity command buffer"]

node_user -->|"opens"| node_scene
node_scene -->|"hosts"| node_driver
node_scenario -->|"configures"| node_config
node_driver -->|"advances"| node_domain
node_domain -->|"uses"| node_model
node_authoring -->|"authors"| node_source
node_authoring -->|"authors"| node_belt
node_authoring -->|"authors"| node_gate
node_authoring -->|"authors"| node_sink
node_driver -->|"updates"| node_metrics
node_driver -->|"updates"| node_orders
node_driver -->|"drives"| node_presentation
node_driver -->|"updates"| node_renderer
node_scene -->|"uses"| node_assets
node_computeimpl -->|"forwards calls"| node_unity
node_rasterimpl -->|"forwards calls"| node_unity
node_unsafeimpl -->|"forwards calls"| node_unity

click node_scene "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Scenes/EP01_Demo.unity"
click node_scenario "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Configs/EP01Scenario.asset"
click node_driver "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SimulationDriver.cs"
click node_config "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/ScenarioConfig.cs"
click node_domain "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Domain/Simulations.cs"
click node_model "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Domain/Model.cs"
click node_source "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SourceAuthoring.cs"
click node_belt "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/BeltAuthoring.cs"
click node_gate "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/GateAuthoring.cs"
click node_sink "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SinkAuthoring.cs"
click node_authoring "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/Authoring.cs"
click node_metrics "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/MetricsHud.cs"
click node_orders "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/R01OrderDisplay.cs"
click node_presentation "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/StagePresentationController.cs"
click node_renderer "https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/BatchItemRenderer.cs"
click node_base "https://github.com/2606360985/assembly-zero/blob/main/IBaseCommandBuffer.cs"
click node_compute "https://github.com/2606360985/assembly-zero/blob/main/IComputeCommandBuffer.cs"
click node_raster "https://github.com/2606360985/assembly-zero/blob/main/IRasterCommandBuffer.cs"
click node_unsafe "https://github.com/2606360985/assembly-zero/blob/main/IUnsafeCommandBuffer.cs"
click node_computeimpl "https://github.com/2606360985/assembly-zero/blob/main/ComputeCommandBuffer.cs"
click node_rasterimpl "https://github.com/2606360985/assembly-zero/blob/main/RasterCommandBuffer.cs"
click node_unsafeimpl "https://github.com/2606360985/assembly-zero/blob/main/UnsafeCommandBuffer.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_scene,node_user toneBlue
class node_driver,node_config,node_domain,node_model,node_source,node_belt,node_gate,node_sink,node_authoring,node_metrics,node_orders,node_presentation,node_renderer toneAmber
class node_base,node_compute,node_raster,node_unsafe,node_computeimpl,node_rasterimpl,node_unsafeimpl toneMint
class node_scenario,node_assets toneRose
class node_unity toneIndigo
```

## Components

### Factory Simulation

- [EP01 demo scene](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Scenes/EP01_Demo.unity): `Assets/_AssemblyZero/Scenes/EP01_Demo.unity`

### Simulation Runtime

- [Simulation driver](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SimulationDriver.cs): `Assets/_AssemblyZero/Runtime/SimulationDriver.cs`
- [Scenario config](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/ScenarioConfig.cs): `Assets/_AssemblyZero/Runtime/ScenarioConfig.cs`
- [Simulation domain](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Domain/Simulations.cs): `Assets/_AssemblyZero/Domain/Simulations.cs`
- [Domain model](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Domain/Model.cs): `Assets/_AssemblyZero/Domain/Model.cs`
- [Cargo source](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SourceAuthoring.cs): `Assets/_AssemblyZero/Runtime/SourceAuthoring.cs`
- [Conveyor belts](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/BeltAuthoring.cs): `Assets/_AssemblyZero/Runtime/BeltAuthoring.cs`
- [Routing gates](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/GateAuthoring.cs): `Assets/_AssemblyZero/Runtime/GateAuthoring.cs`
- [Cargo sink](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/SinkAuthoring.cs): `Assets/_AssemblyZero/Runtime/SinkAuthoring.cs`
- [Scene authoring](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/Authoring.cs): `Assets/_AssemblyZero/Runtime/Authoring.cs`
- [Metrics HUD](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/MetricsHud.cs): `Assets/_AssemblyZero/Runtime/MetricsHud.cs`
- [Order display](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/R01OrderDisplay.cs): `Assets/_AssemblyZero/Runtime/R01OrderDisplay.cs`
- [Stage presentation](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/StagePresentationController.cs): `Assets/_AssemblyZero/Runtime/StagePresentationController.cs`
- [Batch item renderer](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Runtime/BatchItemRenderer.cs): `Assets/_AssemblyZero/Runtime/BatchItemRenderer.cs`

### Command Buffers

- [Base command API](https://github.com/2606360985/assembly-zero/blob/main/IBaseCommandBuffer.cs): `IBaseCommandBuffer.cs`
- [Compute command API](https://github.com/2606360985/assembly-zero/blob/main/IComputeCommandBuffer.cs): `IComputeCommandBuffer.cs`
- [Raster command API](https://github.com/2606360985/assembly-zero/blob/main/IRasterCommandBuffer.cs): `IRasterCommandBuffer.cs`
- [Unsafe command API](https://github.com/2606360985/assembly-zero/blob/main/IUnsafeCommandBuffer.cs): `IUnsafeCommandBuffer.cs`
- [Compute command wrapper](https://github.com/2606360985/assembly-zero/blob/main/ComputeCommandBuffer.cs): `ComputeCommandBuffer.cs`
- [Raster command wrapper](https://github.com/2606360985/assembly-zero/blob/main/RasterCommandBuffer.cs): `RasterCommandBuffer.cs`
- [Unsafe command wrapper](https://github.com/2606360985/assembly-zero/blob/main/UnsafeCommandBuffer.cs): `UnsafeCommandBuffer.cs`

### Scene Assets

- [EP01 scenario](https://github.com/2606360985/assembly-zero/blob/main/Assets/_AssemblyZero/Configs/EP01Scenario.asset): `Assets/_AssemblyZero/Configs/EP01Scenario.asset`
- **Factory models and materials**

### Other components

- **Demo user**
- **Unity command buffer**

## Connections

- Demo user → EP01 demo scene: opens
- EP01 demo scene → Simulation driver: hosts
- EP01 scenario → Scenario config: configures
- Simulation driver → Simulation domain: advances
- Simulation domain → Domain model: uses
- Scene authoring → Cargo source: authors
- Scene authoring → Conveyor belts: authors
- Scene authoring → Routing gates: authors
- Scene authoring → Cargo sink: authors
- Simulation driver → Metrics HUD: updates
- Simulation driver → Order display: updates
- Simulation driver → Stage presentation: drives
- Simulation driver → Batch item renderer: updates
- EP01 demo scene → Factory models and materials: uses
- Compute command wrapper → Unity command buffer: forwards calls
- Raster command wrapper → Unity command buffer: forwards calls
- Unsafe command wrapper → Unity command buffer: forwards calls
