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).
| Crate | Path | What |
|---|---|---|
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-mesh | plugin/ | It as the plugin nodes/mesh.dylib, package kinogaki.mesh |
kinogaki-mesh-kernel | kernel/ | The Mesh kernel: booleans, subdivision, remeshing and decimation, smoothing, UVs, offered as verbs; kernel/src/lib.rs documents each |
kinogaki-plugin-mesh-kernel | kernel/plugin/ | It as the plugin kernels/mesh.dylib, package kinogaki.mesh_kernel |
kinogaki-lsystem | lsystem/ | 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 file | Package | Crate |
|---|---|---|
kernels/mesh.dylib | kinogaki.mesh_kernel | kinogaki-plugin-mesh-kernel |
nodes/mesh.dylib | kinogaki.mesh | kinogaki-plugin-mesh |
Crates
| Crate | What it is | Files | Lines | Test lines |
|---|---|---|---|---|
kinogaki-lsystem | L-systems for the Mesh context's L-System node. | 11 | 2,146 | 858 |
kinogaki-mesh | The 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). | 151 | 32,576 | 7,007 |
kinogaki-mesh-kernel | The Mesh kernel: the heavy, robustness-critical polygon algorithms, offered to every package as verbs (kernel). | 43 | 14,072 | 0 |
kinogaki-plugin-mesh | The Mesh plugin as a Studio plugin library (nodes/mesh.dylib). | 1 | 5 | 0 |
kinogaki-plugin-mesh-kernel | The Mesh kernel as a Studio plugin library (kernels/mesh.dylib). | 1 | 5 | 0 |
Uses
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-math | lib-math | normal | Kinogaki's vectors, points, matrices, quaternions and deterministic elementary functions. |
kinogaki-render-api | SDK | normal | Kinogaki's render interface: what a host (Studio) sends a render engine and what comes back, with no GPU or OS API. |
kinogaki-shared | Core and the app | normal | The crates Studio and its plugins share, built once as a Rust dylib. |
kinogaki-studio-api | SDK | normal | Kinogaki Studio's headless plugin API. |
kinogaki-studio-ui-api | SDK | normal | Kinogaki Studio's UI layer for plugins. |
For its tests alone
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-harness | Core and the app | tests | Studio's test harness: the real editor, its event routing and its background work, driven offscreen with only the packages a test names. |
kinogaki-testkit | Core and the app | tests | Kinogaki Studio's core testkit: toy packages written against the SDK alone, so core is tested with no real plugin. |
Third-party
| Crate | Version | Licence | Frozen in |
|---|---|---|---|
thiserror | 2.0.21 | MIT OR Apache-2.0 | lib-ui/vendor |
