Plugin

Mesh

Mesh plugin

Polygon modelling for Kinogaki Studio: the Mesh context, its object kind, its node types and its UI, with the toolset of Maya's Modeling menus and Houdini's polygon SOPs, and the Mesh kernel. It is checked out at plugins/mesh in the Kinogaki Studio tree and builds only there (the root's docs/SETUP.md).

CratePathWhat
kinogaki-mesh.The context: operations (src/ops, one file each, each a node, a tool and an Edit Mesh step), node types (src/nodes), what they and the UI share (src/support), the UI (src/ui: levels, selection and gizmo, soft selection, symmetry, live tools, menus, shelves)
kinogaki-plugin-meshplugin/It as the plugin nodes/mesh.dylib, package kinogaki.mesh
kinogaki-mesh-kernelkernel/The Mesh kernel: booleans, subdivision, remeshing and decimation, smoothing, UVs, offered as verbs; kernel/src/lib.rs documents each
kinogaki-plugin-mesh-kernelkernel/plugin/It as the plugin kernels/mesh.dylib, package kinogaki.mesh_kernel
kinogaki-lsystemlsystem/The L-System grammar and turtle under the L-System node

The Mesh plugin reaches the kernel's verbs by id through the SDK and links the kernel crate only in its tests.

Docs. PLAN.md: how a tool is built, the latency rules, the inventory and what is left; read it before adding to the plugin. docs/GROUPS.md, docs/PARTS.md, docs/DEFORMERS.md. Writing a context plugin in general: the root's docs/plugins/CONTEXT.md.

Tests. Analytic tests beside each operation (fixtures in src/support/testing.rs), harness tests in tests/ driving the real editor through its input, latency workloads in tests/latency.rs (run by the root's tools/latency.py), and in kernel/ each verb's analytic tests, Houdini 22 comparisons and #[ignore]d fuzz and measurement runs. The root's python3 tools/check_all.py runs them with the workspace.

GitHub
kinogaki/plugin-mesh (private)
Folder
plugins/mesh/
Crates
5
Rust lines
48,804 in src, 7,865 in tests

What it ships

Plugin filePackageCrate
kernels/mesh.dylibkinogaki.mesh_kernelkinogaki-plugin-mesh-kernel
nodes/mesh.dylibkinogaki.meshkinogaki-plugin-mesh

Crates

CrateWhat it isFilesLinesTest lines
kinogaki-lsystemL-systems for the Mesh context's L-System node.112,146858
kinogaki-meshThe Mesh plugin: polygon modelling, Maya's and Houdini's toolset on core's editing API (plugins/mesh/PLAN.md holds the inventory and its groups).15132,5767,007
kinogaki-mesh-kernelThe Mesh kernel: the heavy, robustness-critical polygon algorithms, offered to every package as verbs (kernel).4314,0720
kinogaki-plugin-meshThe Mesh plugin as a Studio plugin library (nodes/mesh.dylib).150
kinogaki-plugin-mesh-kernelThe Mesh kernel as a Studio plugin library (kernels/mesh.dylib).150

Uses

CrateRepositoryAsWhat it is
kinogaki-mathlib-mathnormalKinogaki's vectors, points, matrices, quaternions and deterministic elementary functions.
kinogaki-render-apiSDKnormalKinogaki's render interface: what a host (Studio) sends a render engine and what comes back, with no GPU or OS API.
kinogaki-sharedCore and the appnormalThe crates Studio and its plugins share, built once as a Rust dylib.
kinogaki-studio-apiSDKnormalKinogaki Studio's headless plugin API.
kinogaki-studio-ui-apiSDKnormalKinogaki Studio's UI layer for plugins.

For its tests alone

CrateRepositoryAsWhat it is
kinogaki-harnessCore and the apptestsStudio's test harness: the real editor, its event routing and its background work, driven offscreen with only the packages a test names.
kinogaki-testkitCore and the apptestsKinogaki Studio's core testkit: toy packages written against the SDK alone, so core is tested with no real plugin.

Third-party

CrateVersionLicenceFrozen in
thiserror2.0.21MIT OR Apache-2.0lib-ui/vendor