SDK · crate

kinogaki-edit

SDK

Kinogaki Studio's edit contracts: what core and the kernels agree on when a value is selected and changed.

Repository
SDK (kinogaki/studio-sdk)
Folder
sdk/crates/edit
Source
24 files, 5,511 lines
Tests
9 files, 2,198 lines
depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

Kinogaki Studio's edit contracts: what core and the kernels agree on when a value is selected and changed.

Core owns the geometric values (kinogaki-geometry); kernels bring the operations and the math; plugins bring tools and nodes. The edit policy core and every kernel share lives here, beside the data crate rather than in it; a kernel reaches it through kinogaki-studio-api (kinogaki_studio_api::edit), where its verbs are declared:

ModuleWhat
selecta selection as another domain (convert, by Coverage), how a pick grows (Mode: a domain and an Expand), and what the selection commands find from it (loops, rims, borders, likeness, the shortest way)
deforma move as data (Deform: a Move, per-point weights and a Symmetry), the one function a preview and a commit place points with
editorthe one way a stored value changes (Editor): adding, removing, welding, splitting and rewiring, attributes, groups and ids following, unchanged columns shared, with a report of what changed (Change); values gathered into one
idsstable ids: fresh ones for new elements
previewthe points a drag moves (Moving), which core previews over the shown value without a cook

Every rule reads values through kinogaki-geometry's Incidence, so one rule serves polygons and B-rep alike.

Depends on

CrateRepositoryAsWhat it is
kinogaki-geometrySDKnormalKinogaki Studio's standard geometry values.

Third-party

None.

Used by

CrateRepositoryAsWhat it is
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-viewport-corelib-viewportnormalKinogaki viewport core: what a 3D viewport shows, independent of any GPU API or UI toolkit.

Modules

Public types and traits

By module: 16 public types and traits in 9 modules

deform AxisDeformMoveSideSymmetry

editor CornerEditor

editor::carry Rule

editor::change ChangeNumbers

editor::gather Placed

preview Moving

select Coverage

select::expand ExpandMode

select::ways Ways

Besides these, 10 public functions at module level.