# icornfoce/itclash-jam architecture

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

- Interactive diagram: https://gitdiagram.com/icornfoce/itclash-jam
- Repository: https://github.com/icornfoce/itclash-jam

## Overview

This repository is a small Unity rendering utility: it exposes command-buffer interfaces and wrapper implementations for general, compute, raster, and unsafe command recording. A caller uses the appropriate wrapper to issue commands, which are forwarded to Unity’s underlying CommandBuffer. The excerpts show forwarding calls and the interfaces’ command surfaces, but not the wrapper declarations or full type relationships; those links are therefore omitted rather than inferred.

Main entry points: [`ComputeCommandBuffer.cs`](https://github.com/icornfoce/itclash-jam/blob/main/ComputeCommandBuffer.cs) (Compute Wrapper), [`RasterCommandBuffer.cs`](https://github.com/icornfoce/itclash-jam/blob/main/RasterCommandBuffer.cs) (Raster Wrapper), [`UnsafeCommandBuffer.cs`](https://github.com/icornfoce/itclash-jam/blob/main/UnsafeCommandBuffer.cs) (Unsafe Wrapper)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_base_interface["Base Contract"]
node_compute_interface["Compute Contract"]
node_raster_interface["Raster Contract"]
node_unsafe_interface["Unsafe Contract"]
node_compute_wrapper["Compute Wrapper"]
node_raster_wrapper["Raster Wrapper"]
node_unsafe_wrapper["Unsafe Wrapper"]
node_unity_command_buffer["Unity CommandBuffer"]

node_compute_wrapper -->|"forwards commands"| node_unity_command_buffer
node_raster_wrapper -->|"forwards commands"| node_unity_command_buffer
node_unsafe_wrapper -->|"forwards commands"| node_unity_command_buffer

click node_base_interface "https://github.com/icornfoce/itclash-jam/blob/main/IBaseCommandBuffer.cs"
click node_compute_interface "https://github.com/icornfoce/itclash-jam/blob/main/IComputeCommandBuffer.cs"
click node_raster_interface "https://github.com/icornfoce/itclash-jam/blob/main/IRasterCommandBuffer.cs"
click node_unsafe_interface "https://github.com/icornfoce/itclash-jam/blob/main/IUnsafeCommandBuffer.cs"
click node_compute_wrapper "https://github.com/icornfoce/itclash-jam/blob/main/ComputeCommandBuffer.cs"
click node_raster_wrapper "https://github.com/icornfoce/itclash-jam/blob/main/RasterCommandBuffer.cs"
click node_unsafe_wrapper "https://github.com/icornfoce/itclash-jam/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_base_interface,node_compute_interface,node_raster_interface,node_unsafe_interface,node_compute_wrapper,node_raster_wrapper,node_unsafe_wrapper toneTeal
class node_unity_command_buffer toneIndigo
```

## Components

### Other components

- [Base Contract](https://github.com/icornfoce/itclash-jam/blob/main/IBaseCommandBuffer.cs): `IBaseCommandBuffer.cs`
- [Compute Contract](https://github.com/icornfoce/itclash-jam/blob/main/IComputeCommandBuffer.cs): `IComputeCommandBuffer.cs`
- [Raster Contract](https://github.com/icornfoce/itclash-jam/blob/main/IRasterCommandBuffer.cs): `IRasterCommandBuffer.cs`
- [Unsafe Contract](https://github.com/icornfoce/itclash-jam/blob/main/IUnsafeCommandBuffer.cs): `IUnsafeCommandBuffer.cs`
- [Compute Wrapper](https://github.com/icornfoce/itclash-jam/blob/main/ComputeCommandBuffer.cs): `ComputeCommandBuffer.cs`
- [Raster Wrapper](https://github.com/icornfoce/itclash-jam/blob/main/RasterCommandBuffer.cs): `RasterCommandBuffer.cs`
- [Unsafe Wrapper](https://github.com/icornfoce/itclash-jam/blob/main/UnsafeCommandBuffer.cs): `UnsafeCommandBuffer.cs`
- **Unity CommandBuffer**

## Connections

- Compute Wrapper → Unity CommandBuffer: forwards commands (evidence: `ComputeCommandBuffer.cs`)
- Raster Wrapper → Unity CommandBuffer: forwards commands (evidence: `RasterCommandBuffer.cs`)
- Unsafe Wrapper → Unity CommandBuffer: forwards commands (evidence: `UnsafeCommandBuffer.cs`)
