Native source layoutΒΆ
Public headers under cpp/include/miskeyed/workbench/ mirror implementations
under cpp/src/workbench/:
core/Device-neutral identity, dependency, time, and camera value contracts. It does not contain widgets, compiler sessions, or mode policy.
slang/ShaderDocument,ShaderWorkspace, compiler/reflection models, and packaged module access. It owns Slang integration, not QRhi command submission.rendering/QRhi backend policy, render passes, shader packaging, and viewport execution. It consumes compiled documents; it does not own workspace focus.
editor/Source/generated presentation, document tabs, syntax and language-service edges. Runtime bindings do not belong here.
ui/Reusable inspector, timeline, theme, view selector, and tool-contribution interfaces. Widgets adapt models rather than becoming authoritative state.
modes/Tool sessions and composition adapters.
render_toybinds Scene/Post and currently contains the shell composition root;shader_toyowns its one binding. Shared services should move down, not be duplicated here.anari/Optional device-neutral ANARI host discovery/lifetime work. It uses
miskeyed::workbenchrather than the historicalslang_rhinamespace.
Packaged shader contracts are in shaders/workbench/. Shiboken declarations are
in bindings/ and the Python namespace package in python/miskeyed/workbench/.
The native executable enters through app/main.cpp.