# vlntnnmlv/ome architecture

> Architecture diagram of the GitHub repository vlntnnmlv/ome, 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/vlntnnmlv/ome
- Repository: https://github.com/vlntnnmlv/ome

## Overview

The tree suggests an Odin-based interactive graphics application with an editor, platform/input layer, rendering stack, and scriptable UI/assets. Its likely user-to-result workflow is not verifiable: the README is empty and no source excerpts were provided. The graph therefore groups the visible runtime subsystems without asserting calls, data flow, or external integrations. Paths identify implementations from the tree; subsystem responsibilities are inferred from filenames only.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_application["Application"]
  node_editor["Editor<br/>[main.odin]"]
  node_engine["Engine<br/>[engine.odin]"]
end

subgraph group_platform["Platform"]
  node_platform_window["Window<br/>[window.odin]"]
  node_platform_events["Platform Events<br/>[event.odin]"]
  node_platform_input["Platform Input<br/>[input.odin]"]
  node_native_platforms["Native Platforms<br/>[native_darwin.odin]"]
  node_api_host["Host API<br/>[host.odin]"]
  node_api_input["Input API<br/>[input.odin]"]
end

subgraph group_graphics["Graphics"]
  node_api_draw["Draw API<br/>[draw.odin]"]
  node_renderer["Renderer<br/>[renderer.odin]"]
  node_draw_batch["Draw Batching<br/>[batch.odin]"]
  node_geometry["Geometry<br/>[geometry.odin]"]
  node_gpu_device["GPU Device<br/>[device.odin]"]
  node_gpu_pipeline["GPU Pipeline<br/>[pipeline.odin]"]
  node_gpu_texture["GPU Textures<br/>[texture.odin]"]
  node_gpu_shader["GPU Shaders<br/>[shader.odin]"]
end

subgraph group_content["Content and UI"]
  node_asset_library["Asset Library<br/>[library.odin]"]
  node_asset_atlas["Texture Atlas<br/>[atlas.odin]"]
  node_asset_font["Fonts<br/>[font.odin]"]
  node_asset_text["Text<br/>[text.odin]"]
  node_script_vm["Script VM<br/>[vm.odin]"]
  node_script_module["Script Modules<br/>[module.odin]"]
  node_ui_scene["UI Scene<br/>[scene.odin]"]
  node_ui_spec["UI Specification<br/>[spec.odin]"]
  node_ui_stage["UI Stage<br/>[stage.odin]"]
  node_ui_panel["UI Panel<br/>[panel.odin]"]
  node_ui_binding["UI Binding<br/>[binding.odin]"]
  node_bindings["Script Bindings<br/>[binder.odin]"]
  node_binding_sync["Binding Sync<br/>[sync.odin]"]
end

click node_editor "https://github.com/vlntnnmlv/ome/blob/main/src/editor/main.odin"
click node_engine "https://github.com/vlntnnmlv/ome/blob/main/src/app/engine.odin"
click node_platform_window "https://github.com/vlntnnmlv/ome/blob/main/src/platform/window.odin"
click node_platform_events "https://github.com/vlntnnmlv/ome/blob/main/src/platform/event.odin"
click node_platform_input "https://github.com/vlntnnmlv/ome/blob/main/src/platform/input.odin"
click node_native_platforms "https://github.com/vlntnnmlv/ome/blob/main/src/platform/native_darwin.odin"
click node_api_host "https://github.com/vlntnnmlv/ome/blob/main/src/api/host.odin"
click node_api_input "https://github.com/vlntnnmlv/ome/blob/main/src/api/input.odin"
click node_api_draw "https://github.com/vlntnnmlv/ome/blob/main/src/api/draw.odin"
click node_renderer "https://github.com/vlntnnmlv/ome/blob/main/src/render/renderer.odin"
click node_draw_batch "https://github.com/vlntnnmlv/ome/blob/main/src/render/batch.odin"
click node_geometry "https://github.com/vlntnnmlv/ome/blob/main/src/render/geometry.odin"
click node_gpu_device "https://github.com/vlntnnmlv/ome/blob/main/src/gpu/device.odin"
click node_gpu_pipeline "https://github.com/vlntnnmlv/ome/blob/main/src/gpu/pipeline.odin"
click node_gpu_texture "https://github.com/vlntnnmlv/ome/blob/main/src/gpu/texture.odin"
click node_gpu_shader "https://github.com/vlntnnmlv/ome/blob/main/src/gpu/shader.odin"
click node_asset_library "https://github.com/vlntnnmlv/ome/blob/main/src/assets/library.odin"
click node_asset_atlas "https://github.com/vlntnnmlv/ome/blob/main/src/assets/atlas.odin"
click node_asset_font "https://github.com/vlntnnmlv/ome/blob/main/src/assets/font.odin"
click node_asset_text "https://github.com/vlntnnmlv/ome/blob/main/src/assets/text.odin"
click node_script_vm "https://github.com/vlntnnmlv/ome/blob/main/src/script/vm.odin"
click node_script_module "https://github.com/vlntnnmlv/ome/blob/main/src/script/module.odin"
click node_ui_scene "https://github.com/vlntnnmlv/ome/blob/main/src/ui/scene.odin"
click node_ui_spec "https://github.com/vlntnnmlv/ome/blob/main/src/ui/spec.odin"
click node_ui_stage "https://github.com/vlntnnmlv/ome/blob/main/src/ui/stage.odin"
click node_ui_panel "https://github.com/vlntnnmlv/ome/blob/main/src/ui/panel.odin"
click node_ui_binding "https://github.com/vlntnnmlv/ome/blob/main/src/ui/binding.odin"
click node_bindings "https://github.com/vlntnnmlv/ome/blob/main/src/bind/binder.odin"
click node_binding_sync "https://github.com/vlntnnmlv/ome/blob/main/src/bind/sync.odin"

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_editor,node_engine toneBlue
class node_platform_window,node_platform_events,node_platform_input,node_native_platforms,node_api_host,node_api_input toneAmber
class node_api_draw,node_renderer,node_draw_batch,node_geometry,node_gpu_device,node_gpu_pipeline,node_gpu_texture,node_gpu_shader toneMint
class node_asset_library,node_asset_atlas,node_asset_font,node_asset_text,node_script_vm,node_script_module,node_ui_scene,node_ui_spec,node_ui_stage,node_ui_panel,node_ui_binding,node_bindings,node_binding_sync toneRose
```

## Components

### Application

- [Editor](https://github.com/vlntnnmlv/ome/blob/main/src/editor/main.odin): `src/editor/main.odin`
- [Engine](https://github.com/vlntnnmlv/ome/blob/main/src/app/engine.odin): `src/app/engine.odin`

### Platform

- [Window](https://github.com/vlntnnmlv/ome/blob/main/src/platform/window.odin): `src/platform/window.odin`
- [Platform Events](https://github.com/vlntnnmlv/ome/blob/main/src/platform/event.odin): `src/platform/event.odin`
- [Platform Input](https://github.com/vlntnnmlv/ome/blob/main/src/platform/input.odin): `src/platform/input.odin`
- [Native Platforms](https://github.com/vlntnnmlv/ome/blob/main/src/platform/native_darwin.odin): `src/platform/native_darwin.odin`
- [Host API](https://github.com/vlntnnmlv/ome/blob/main/src/api/host.odin): `src/api/host.odin`
- [Input API](https://github.com/vlntnnmlv/ome/blob/main/src/api/input.odin): `src/api/input.odin`

### Graphics

- [Draw API](https://github.com/vlntnnmlv/ome/blob/main/src/api/draw.odin): `src/api/draw.odin`
- [Renderer](https://github.com/vlntnnmlv/ome/blob/main/src/render/renderer.odin): `src/render/renderer.odin`
- [Draw Batching](https://github.com/vlntnnmlv/ome/blob/main/src/render/batch.odin): `src/render/batch.odin`
- [Geometry](https://github.com/vlntnnmlv/ome/blob/main/src/render/geometry.odin): `src/render/geometry.odin`
- [GPU Device](https://github.com/vlntnnmlv/ome/blob/main/src/gpu/device.odin): `src/gpu/device.odin`
- [GPU Pipeline](https://github.com/vlntnnmlv/ome/blob/main/src/gpu/pipeline.odin): `src/gpu/pipeline.odin`
- [GPU Textures](https://github.com/vlntnnmlv/ome/blob/main/src/gpu/texture.odin): `src/gpu/texture.odin`
- [GPU Shaders](https://github.com/vlntnnmlv/ome/blob/main/src/gpu/shader.odin): `src/gpu/shader.odin`

### Content and UI

- [Asset Library](https://github.com/vlntnnmlv/ome/blob/main/src/assets/library.odin): `src/assets/library.odin`
- [Texture Atlas](https://github.com/vlntnnmlv/ome/blob/main/src/assets/atlas.odin): `src/assets/atlas.odin`
- [Fonts](https://github.com/vlntnnmlv/ome/blob/main/src/assets/font.odin): `src/assets/font.odin`
- [Text](https://github.com/vlntnnmlv/ome/blob/main/src/assets/text.odin): `src/assets/text.odin`
- [Script VM](https://github.com/vlntnnmlv/ome/blob/main/src/script/vm.odin): `src/script/vm.odin`
- [Script Modules](https://github.com/vlntnnmlv/ome/blob/main/src/script/module.odin): `src/script/module.odin`
- [UI Scene](https://github.com/vlntnnmlv/ome/blob/main/src/ui/scene.odin): `src/ui/scene.odin`
- [UI Specification](https://github.com/vlntnnmlv/ome/blob/main/src/ui/spec.odin): `src/ui/spec.odin`
- [UI Stage](https://github.com/vlntnnmlv/ome/blob/main/src/ui/stage.odin): `src/ui/stage.odin`
- [UI Panel](https://github.com/vlntnnmlv/ome/blob/main/src/ui/panel.odin): `src/ui/panel.odin`
- [UI Binding](https://github.com/vlntnnmlv/ome/blob/main/src/ui/binding.odin): `src/ui/binding.odin`
- [Script Bindings](https://github.com/vlntnnmlv/ome/blob/main/src/bind/binder.odin): `src/bind/binder.odin`
- [Binding Sync](https://github.com/vlntnnmlv/ome/blob/main/src/bind/sync.odin): `src/bind/sync.odin`
