A work-in-progress cross-platform game engine written in C#.
InnoEngine is a personal learning project focused on building a clean, modular, and practical engine architecture from the ground up. The long-term goal is not just to render things on screen, but to explore how an engine should be structured: runtime, asset pipeline, rendering abstraction, editor tooling, scene/prefab workflow, and cross-platform support. If you think the engine interesting and want to support this repo, please βοΈ star this project, thank you!
This project is still evolving quickly, and many parts are being redesigned as the engine grows. That is:
I am NOT trying to ship a finished engine overnight.
I do NOT guarantee any backward compatibility between versions.
A few principles I want to keep pushing toward:
- modular β systems should have clear responsibilities and boundaries
- practical β architecture should support real workflows, not just toy demos
- inspectable β editor and tooling matter as much as runtime code
- cross-platform β no platform should be treated as an afterthought
- extensible β adding new backends, tools, or content types should feel natural
- clean β readable code and maintainable project structure over clever shortcuts
The repository is split into several major areas such as engine/runtime code, editor code, tools, samples, tests, native interop, and documentation. The following is an example of an IDEAL repo structure. This will NOT be exactly the same as the real one.
Inno/
ββ global.json
ββ Directory.Build.props
ββ Directory.Packages.props
ββ NuGet.config
ββ .editorconfig
ββ .gitignore
ββ README.md
ββ LICENSE
β
ββ build/
β ββ Build.cs
β ββ build.ps1
β ββ build.sh
β ββ clean.ps1
β ββ clean.sh
β ββ pack.ps1
β ββ pack.sh
β ββ targets/
β ββ common.props
β ββ managed.props
β ββ native.props
β ββ tests.props
β ββ editor.props
β ββ packaging.props
β ββ publish.props
β
ββ docs/
β ββ architecture/
β β ββ overview.md
β β ββ dependency-rules.md
β β ββ runtime-loop.md
β β ββ asset-pipeline.md
β β ββ graphics-abstraction.md
β β ββ editor-architecture.md
β β ββ scene-and-prefab.md
β β ββ serialization.md
β ββ guides/
β β ββ getting-started.md
β β ββ create-a-game-project.md
β β ββ build-editor.md
β β ββ build-runtime.md
β β ββ add-a-render-backend.md
β β ββ import-assets.md
β β ββ packaging-a-game.md
β β ββ writing-editor-extensions.md
β ββ api/
β ββ diagrams/
β
ββ extern/
β ββ SDL3/
β β ββ include/
β β ββ lib/
β β ββ runtimes/
β β ββ tools/
β β ββ licenses/
β ββ bgfx/
β β ββ include/
β β ββ lib/
β β ββ tools/
β β ββ runtimes/
β β ββ licenses/
β ββ imgui/
β β ββ include/
β β ββ src/
β β ββ licenses/
β ββ stb/
β β ββ include/
β β ββ licenses/
β ββ yaml/
β β ββ include/
β β ββ licenses/
β ββ other/
β
ββ native/
β ββ Inno.Native.Common/
β β ββ include/
β β β ββ inno_common.h
β β β ββ inno_export.h
β β β ββ inno_platform.h
β β ββ src/
β β β ββ inno_common.cpp
β β β ββ inno_platform.cpp
β β ββ CMakeLists.txt
β β ββ README.md
β β
β ββ Inno.Native.Windowing/
β β ββ include/
β β β ββ inno_windowing.h
β β β ββ inno_input.h
β β β ββ inno_clipboard.h
β β ββ src/
β β β ββ inno_windowing.cpp
β β β ββ inno_input.cpp
β β β ββ inno_clipboard.cpp
β β ββ CMakeLists.txt
β β ββ README.md
β β
β ββ Inno.Native.Graphics/
β β ββ include/
β β β ββ inno_graphics.h
β β β ββ inno_graphics_device.h
β β β ββ inno_graphics_buffer.h
β β β ββ inno_graphics_texture.h
β β β ββ inno_graphics_shader.h
β β β ββ inno_graphics_swapchain.h
β β ββ src/
β β β ββ inno_graphics.cpp
β β β ββ inno_graphics_device.cpp
β β β ββ inno_graphics_buffer.cpp
β β β ββ inno_graphics_texture.cpp
β β β ββ inno_graphics_shader.cpp
β β β ββ inno_graphics_swapchain.cpp
β β ββ CMakeLists.txt
β β ββ README.md
β β
β ββ Inno.Native.Editor/
β β ββ include/
β β β ββ inno_imgui_bridge.h
β β β ββ inno_editor_bridge.h
β β ββ src/
β β β ββ inno_imgui_bridge.cpp
β β β ββ inno_editor_bridge.cpp
β β ββ CMakeLists.txt
β β ββ README.md
β β
β ββ Inno.Native.Generated/
β ββ headers/
β ββ bindings/
β ββ scripts/
β
ββ tools/
β ββ Inno.Tools.Build/
β β ββ Inno.Tools.Build.csproj
β β ββ Program.cs
β β ββ Commands/
β β ββ Services/
β β
β ββ Inno.Tools.ShaderCompiler/
β β ββ Inno.Tools.ShaderCompiler.csproj
β β ββ Program.cs
β β ββ Compiler/
β β ββ Reflection/
β β ββ Profiles/
β β
β ββ Inno.Tools.AssetImporter/
β β ββ Inno.Tools.AssetImporter.csproj
β β ββ Program.cs
β β ββ Importers/
β β ββ Pipeline/
β β ββ Metadata/
β β
β ββ Inno.Tools.ProjectGen/
β β ββ Inno.Tools.ProjectGen.csproj
β β ββ Program.cs
β β ββ Templates/
β β ββ Commands/
β β
β ββ Inno.Tools.HeaderGen/
β β ββ Inno.Tools.HeaderGen.csproj
β β ββ Program.cs
β β ββ Parsing/
β β ββ Emitters/
β β
β ββ Inno.Tools.Packager/
β ββ Inno.Tools.Packager.csproj
β ββ Program.cs
β ββ Packaging/
β ββ Manifests/
β ββ Commands/
β
ββ templates/
β ββ project/
β β ββ Inno.Game.Template/
β β β ββ Game/
β β β ββ Game.Content/
β β β ββ Game.Editor/
β β β ββ Assets/
β β β ββ Config/
β β ββ Inno.Plugin.Template/
β β ββ Plugin/
β β ββ Plugin.Editor/
β ββ assets/
β β ββ default-materials/
β β ββ default-shaders/
β β ββ icons/
β β ββ fonts/
β ββ scripts/
β
ββ src/
β ββ Core/
β β ββ Inno.Core/
β β β ββ Inno.Core.csproj
β β β ββ GlobalUsings.cs
β β β ββ Diagnostics/
β β β β ββ Guard.cs
β β β β ββ ThrowHelper.cs
β β β β ββ Assertion.cs
β β β β ββ DiagnosticsScope.cs
β β β ββ Exceptions/
β β β β ββ InnoException.cs
β β β β ββ AssetException.cs
β β β β ββ GraphicsException.cs
β β β ββ Interfaces/
β β β β ββ IInitializable.cs
β β β β ββ IDisposableEx.cs
β β β β ββ IDeepCloneable.cs
β β β ββ Results/
β β β β ββ Result.cs
β β β β ββ ResultT.cs
β β β β ββ ErrorInfo.cs
β β β ββ Utilities/
β β β β ββ HashUtility.cs
β β β β ββ EnumUtility.cs
β β β β ββ StringUtility.cs
β β β β ββ PathUtility.cs
β β β ββ Internals/
β β β
β β ββ Inno.Core.Logging/
β β β ββ Inno.Core.Logging.csproj
β β β ββ Abstractions/
β β β β ββ ILogger.cs
β β β β ββ ILoggerFactory.cs
β β β β ββ LogLevel.cs
β β β ββ Default/
β β β β ββ ConsoleLogger.cs
β β β β ββ FileLogger.cs
β β β β ββ CompositeLogger.cs
β β β ββ Formatting/
β β β ββ Sinks/
β β β
β β ββ Inno.Core.Collections/
β β β ββ Inno.Core.Collections.csproj
β β β ββ Pools/
β β β ββ SparseSets/
β β β ββ NativeLike/
β β β ββ Utilities/
β β β
β β ββ Inno.Core.Math/
β β β ββ Inno.Core.Math.csproj
β β β ββ Scalars/
β β β ββ Vectors/
β β β ββ Matrices/
β β β ββ Geometry/
β β β ββ Colors/
β β β ββ Transforms/
β β β
β β ββ Inno.Core.Memory/
β β β ββ Inno.Core.Memory.csproj
β β β ββ Buffers/
β β β ββ Allocators/
β β β ββ Handles/
β β β ββ Unsafe/
β β β
β β ββ Inno.Core.IO/
β β β ββ Inno.Core.IO.csproj
β β β ββ Paths/
β β β ββ Streams/
β β β ββ FileSystem/
β β β ββ Watchers/
β β β
β β ββ Inno.Core.Serialization/
β β β ββ Inno.Core.Serialization.csproj
β β β ββ Abstractions/
β β β ββ Binary/
β β β ββ Yaml/
β β β ββ Json/
β β β ββ Codecs/
β β β ββ Metadata/
β β β
β β ββ Inno.Core.Reflection/
β β β ββ Inno.Core.Reflection.csproj
β β β ββ Types/
β β β ββ Attributes/
β β β ββ Accessors/
β β β ββ Metadata/
β β β ββ Caching/
β β β
β β ββ Inno.Core.Threading/
β β ββ Inno.Core.Threading.csproj
β β ββ Jobs/
β β ββ Scheduling/
β β ββ Synchronization/
β β ββ Collections/
β β
β ββ Platform/
β β ββ Inno.Platform/
β β β ββ Inno.Platform.csproj
β β β ββ Abstractions/
β β β β ββ IPlatform.cs
β β β β ββ IApplicationPlatform.cs
β β β β ββ IWindowPlatform.cs
β β β β ββ IInputPlatform.cs
β β β β ββ IClipboardPlatform.cs
β β β ββ Application/
β β β ββ Windowing/
β β β ββ Input/
β β β ββ Timing/
β β β ββ Clipboard/
β β β ββ Monitors/
β β β ββ FileDialogs/
β β β
β β ββ Inno.Platform.Interop/
β β β ββ Inno.Platform.Interop.csproj
β β β ββ Native/
β β β ββ Marshalling/
β β β ββ Handles/
β β β ββ Generated/
β β β
β β ββ Inno.Platform.SDL3/
β β ββ Inno.Platform.SDL3.csproj
β β ββ Application/
β β ββ Windowing/
β β ββ Input/
β β ββ Clipboard/
β β ββ Internal/
β β
β ββ Graphics/
β β ββ Inno.Graphics/
β β β ββ Inno.Graphics.csproj
β β β ββ Abstractions/
β β β β ββ IGraphicsDevice.cs
β β β β ββ IGraphicsAdapter.cs
β β β β ββ IGraphicsContext.cs
β β β β ββ ISwapchain.cs
β β β β ββ IBuffer.cs
β β β β ββ ITexture.cs
β β β β ββ ISampler.cs
β β β β ββ IShader.cs
β β β β ββ IPipeline.cs
β β β β ββ IRenderPass.cs
β β β β ββ ICommandList.cs
β β β ββ Descriptors/
β β β ββ Resources/
β β β ββ Pipeline/
β β β ββ Commands/
β β β ββ Shaders/
β β β ββ Formats/
β β β ββ Utilities/
β β β
β β ββ Inno.Graphics.Shaders/
β β β ββ Inno.Graphics.Shaders.csproj
β β β ββ Source/
β β β ββ Reflection/
β β β ββ Variants/
β β β ββ Metadata/
β β β
β β ββ Inno.Graphics.Interop/
β β β ββ Inno.Graphics.Interop.csproj
β β β ββ Native/
β β β ββ Marshalling/
β β β ββ Handles/
β β β ββ Generated/
β β β
β β ββ Inno.Graphics.Bgfx/
β β β ββ Inno.Graphics.Bgfx.csproj
β β β ββ Device/
β β β ββ Resources/
β β β ββ Pipeline/
β β β ββ Commands/
β β β ββ Swapchain/
β β β ββ Shaders/
β β β ββ Capabilities/
β β β ββ Internal/
β β β
β β ββ Inno.Graphics.Null/
β β ββ Inno.Graphics.Null.csproj
β β ββ Device/
β β ββ Resources/
β β ββ Commands/
β β ββ Internal/
β β
β ββ Assets/
β β ββ Inno.Assets/
β β β ββ Inno.Assets.csproj
β β β ββ Database/
β β β β ββ AssetDatabase.cs
β β β β ββ AssetRegistry.cs
β β β β ββ AssetLookup.cs
β β β ββ Files/
β β β β ββ AssetFileSystem.cs
β β β β ββ AssetPath.cs
β β β β ββ AssetWatcher.cs
β β β ββ Metadata/
β β β β ββ AssetMeta.cs
β β β β ββ AssetGuid.cs
β β β β ββ ImportSettings.cs
β β β ββ Handles/
β β β ββ Importing/
β β β ββ Artifacts/
β β β ββ Dependencies/
β β β ββ Runtime/
β β β
β β ββ Inno.Assets.Importers/
β β β ββ Inno.Assets.Importers.csproj
β β β ββ Textures/
β β β ββ Meshes/
β β β ββ Materials/
β β β ββ Scenes/
β β β ββ Shaders/
β β β ββ Audio/
β β β
β β ββ Inno.Assets.Pipeline/
β β β ββ Inno.Assets.Pipeline.csproj
β β β ββ Pipeline/
β β β ββ Builders/
β β β ββ Caching/
β β β ββ Hashing/
β β β ββ Tasks/
β β β
β β ββ Inno.Assets.Serialization/
β β β ββ Inno.Assets.Serialization.csproj
β β β ββ Metadata/
β β β ββ Binary/
β β β ββ Yaml/
β β β ββ State/
β β β
β β ββ Inno.Assets.Runtime/
β β ββ Inno.Assets.Runtime.csproj
β β ββ Loading/
β β ββ Residency/
β β ββ GpuUpload/
β β ββ Caches/
β β
β ββ Content/
β β ββ Inno.Content/
β β β ββ Inno.Content.csproj
β β β ββ Common/
β β β ββ Identifiers/
β β β ββ Assets/
β β β ββ References/
β β β
β β ββ Inno.Content.Textures/
β β β ββ Inno.Content.Textures.csproj
β β β ββ Assets/
β β β ββ Runtime/
β β β ββ Serialization/
β β β
β β ββ Inno.Content.Meshes/
β β β ββ Inno.Content.Meshes.csproj
β β β ββ Assets/
β β β ββ Runtime/
β β β ββ Serialization/
β β β
β β ββ Inno.Content.Materials/
β β β ββ Inno.Content.Materials.csproj
β β β ββ Assets/
β β β ββ Graph/
β β β ββ Runtime/
β β β ββ Serialization/
β β β
β β ββ Inno.Content.Shaders/
β β β ββ Inno.Content.Shaders.csproj
β β β ββ Assets/
β β β ββ Variants/
β β β ββ Reflection/
β β β ββ Serialization/
β β β
β β ββ Inno.Content.Audio/
β β β ββ Inno.Content.Audio.csproj
β β β ββ Assets/
β β β ββ Runtime/
β β β ββ Serialization/
β β β
β β ββ Inno.Content.Scenes/
β β ββ Inno.Content.Scenes.csproj
β β ββ Assets/
β β ββ Runtime/
β β ββ Serialization/
β β
β ββ ECS/
β β ββ Inno.ECS/
β β β ββ Inno.ECS.csproj
β β β ββ Entities/
β β β ββ Components/
β β β ββ Queries/
β β β ββ Storage/
β β β ββ World/
β β β ββ Utilities/
β β β
β β ββ Inno.ECS.Systems/
β β β ββ Inno.ECS.Systems.csproj
β β β ββ Abstractions/
β β β ββ Scheduling/
β β β ββ Phases/
β β β ββ Execution/
β β β
β β ββ Inno.ECS.Transforms/
β β ββ Inno.ECS.Transforms.csproj
β β ββ Components/
β β ββ Systems/
β β ββ Utilities/
β β
β ββ Scene/
β β ββ Inno.Scene/
β β β ββ Inno.Scene.csproj
β β β ββ Nodes/
β β β ββ Hierarchy/
β β β ββ Prefabs/
β β β ββ Templates/
β β β ββ Runtime/
β β β
β β ββ Inno.Scene.Serialization/
β β β ββ Inno.Scene.Serialization.csproj
β β β ββ SceneFiles/
β β β ββ PrefabFiles/
β β β ββ Codecs/
β β β ββ State/
β β β
β β ββ Inno.Scene.Authoring/
β β ββ Inno.Scene.Authoring.csproj
β β ββ Builders/
β β ββ Authoring/
β β ββ Validation/
β β
β ββ Rendering/
β β ββ Inno.Rendering/
β β β ββ Inno.Rendering.csproj
β β β ββ Cameras/
β β β ββ Visibility/
β β β ββ Lighting/
β β β ββ Materials/
β β β ββ Meshes/
β β β ββ Queues/
β β β ββ Draw/
β β β ββ Runtime/
β β β
β β ββ Inno.Rendering.RenderGraph/
β β β ββ Inno.Rendering.RenderGraph.csproj
β β β ββ Graph/
β β β ββ Resources/
β β β ββ Compilation/
β β β ββ Execution/
β β β
β β ββ Inno.Rendering.Passes/
β β β ββ Inno.Rendering.Passes.csproj
β β β ββ Shadow/
β β β ββ Opaque/
β β β ββ Transparent/
β β β ββ Gizmo/
β β β ββ PostProcess/
β β β ββ Debug/
β β β
β β ββ Inno.Rendering.DebugDraw/
β β ββ Inno.Rendering.DebugDraw.csproj
β β ββ Lines/
β β ββ Shapes/
β β ββ Overlay/
β β
β ββ Engine/
β β ββ Inno.Engine/
β β β ββ Inno.Engine.csproj
β β β ββ Host/
β β β β ββ EngineHost.cs
β β β β ββ EngineBuilder.cs
β β β β ββ EngineConfiguration.cs
β β β ββ Loop/
β β β β ββ EngineLoop.cs
β β β β ββ FrameScheduler.cs
β β β β ββ EnginePhases.cs
β β β β ββ GameTime.cs
β β β ββ Services/
β β β β ββ ServiceRegistry.cs
β β β β ββ EngineServices.cs
β β β β ββ Lifetime.cs
β β β ββ Bootstrap/
β β β β ββ EngineBootstrap.cs
β β β β ββ DefaultModules.cs
β β β β ββ ModuleRegistration.cs
β β β ββ Game/
β β β β ββ IGame.cs
β β β β ββ GameBase.cs
β β β β ββ GameStartup.cs
β β β ββ Runtime/
β β β
β β ββ Inno.Engine.GameFramework/
β β β ββ Inno.Engine.GameFramework.csproj
β β β ββ Components/
β β β ββ Gameplay/
β β β ββ Animation/
β β β ββ UI/
β β β ββ Common/
β β β
β β ββ Inno.Engine.Scripting/
β β ββ Inno.Engine.Scripting.csproj
β β ββ Runtime/
β β ββ Host/
β β ββ Binding/
β β
β ββ Editor/
β β ββ Inno.Editor.Framework/
β β β ββ Inno.Editor.Framework.csproj
β β β ββ Docking/
β β β ββ Panels/
β β β ββ Commands/
β β β ββ UndoRedo/
β β β ββ Selection/
β β β ββ Inspectors/
β β β ββ Services/
β β β ββ Menus/
β β β ββ Theming/
β β β
β β ββ Inno.Editor/
β β β ββ Inno.Editor.csproj
β β β ββ App/
β β β ββ Workspace/
β β β ββ Panels/
β β β ββ SceneView/
β β β ββ AssetBrowser/
β β β ββ Hierarchy/
β β β ββ Inspector/
β β β ββ Console/
β β β ββ GameView/
β β β ββ Gizmos/
β β β ββ ProjectSystem/
β β β ββ PlayMode/
β β β
β β ββ Inno.Editor.ImGui/
β β β ββ Inno.Editor.ImGui.csproj
β β β ββ Backend/
β β β ββ Input/
β β β ββ Rendering/
β β β ββ Widgets/
β β β
β β ββ Inno.Editor.Content/
β β ββ Inno.Editor.Content.csproj
β β ββ Icons/
β β ββ Fonts/
β β ββ Themes/
β β ββ BuiltinAssets/
β β
β ββ Launcher/
β ββ Inno.Launcher/
β β ββ Inno.Launcher.csproj
β β ββ Program.cs
β β ββ EditorHost/
β β ββ GameHost/
β β ββ Shared/
β β ββ Bootstrap/
β β
β ββ Inno.Launcher.Editor/
β β ββ Inno.Launcher.Editor.csproj
β β ββ Program.cs
β β ββ Bootstrap/
β β
β ββ Inno.Launcher.Game/
β ββ Inno.Launcher.Game.csproj
β ββ Program.cs
β ββ Bootstrap/
β
ββ tests/
β ββ Core/
β β ββ Inno.Core.Tests/
β β β ββ Inno.Core.Tests.csproj
β β β ββ Diagnostics/
β β β ββ Results/
β β β ββ Utilities/
β β ββ Inno.Core.Math.Tests/
β β β ββ Inno.Core.Math.Tests.csproj
β β β ββ Vectors/
β β β ββ Matrices/
β β β ββ Geometry/
β β ββ Inno.Core.Serialization.Tests/
β β ββ Inno.Core.Serialization.Tests.csproj
β β ββ Binary/
β β ββ Yaml/
β β ββ Json/
β β
β ββ Assets/
β β ββ Inno.Assets.Tests/
β β ββ Inno.Assets.Pipeline.Tests/
β β ββ Inno.Assets.Runtime.Tests/
β β
β ββ ECS/
β β ββ Inno.ECS.Tests/
β β ββ Inno.ECS.Systems.Tests/
β β ββ Inno.ECS.Transforms.Tests/
β β
β ββ Scene/
β β ββ Inno.Scene.Tests/
β β ββ Inno.Scene.Serialization.Tests/
β β
β ββ Rendering/
β β ββ Inno.Rendering.Tests/
β β ββ Inno.Rendering.RenderGraph.Tests/
β β ββ Inno.Rendering.Passes.Tests/
β β
β ββ Editor/
β β ββ Inno.Editor.Framework.Tests/
β β ββ Inno.Editor.Tests/
β β
β ββ Integration/
β β ββ Inno.Integration.Tests/
β β ββ Inno.PlayMode.Tests/
β β ββ Inno.AssetImport.Tests/
β β
β ββ Golden/
β ββ Inno.Golden.Serialization.Tests/
β ββ Inno.Golden.Scene.Tests/
β ββ Inno.Golden.Shader.Tests/
β
ββ samples/
β ββ HelloWindow/
β β ββ HelloWindow.csproj
β β ββ Program.cs
β β ββ Assets/
β ββ HelloTriangle/
β β ββ HelloTriangle.csproj
β β ββ Program.cs
β β ββ Assets/
β ββ ImGuiSandbox/
β β ββ ImGuiSandbox.csproj
β β ββ Program.cs
β β ββ Assets/
β ββ ECSStressTest/
β β ββ ECSStressTest.csproj
β β ββ Program.cs
β ββ MaterialDemo/
β β ββ MaterialDemo.csproj
β β ββ Program.cs
β β ββ Assets/
β ββ EditorSandbox/
β ββ EditorSandbox.csproj
β ββ Program.cs
β ββ Assets/
β
ββ games/
ββ Sandbox/
β ββ Sandbox/
β β ββ Sandbox.csproj
β β ββ Game/
β β ββ Gameplay/
β β ββ UI/
β β ββ Startup/
β ββ Sandbox.Content/
β β ββ Sandbox.Content.csproj
β β ββ Assets/
β β ββ Materials/
β β ββ Shaders/
β β ββ Scenes/
β ββ Sandbox.Editor/
β ββ Sandbox.Editor.csproj
β ββ Inspectors/
β ββ Gizmos/
β ββ Menus/
β
ββ DemoGame/
ββ DemoGame/
β ββ DemoGame.csproj
β ββ Game/
β ββ Gameplay/
β ββ UI/
β ββ Startup/
ββ DemoGame.Content/
β ββ DemoGame.Content.csproj
β ββ Assets/
β ββ Materials/
β ββ Shaders/
β ββ Scenes/
ββ DemoGame.Editor/
ββ DemoGame.Editor.csproj
ββ Inspectors/
ββ Gizmos/
ββ Menus/
A more exact structure overview will live in the docs folder as the project stabilizes.
This is primarily a personal learning project, if you like the direction of the project, a star βοΈ already helps a lot. Still, I am very open to discussion, suggestions, and collaboration. I started InnoEngine because I wanted to understand engine architecture by actually building one.
If you are interested in:
- engine architecture
- C# game engine development
- rendering backends
- editor tooling
- asset pipelines
- serialization and scene workflows
feel free to open an issue, start a discussion, or reach out by my email.
