Core and the app · crate

kinogaki-geometry-view

Core

Geometry, curves and B-reps in the viewport, independent of any GPU API: the SDK's standard values as surface packets (over the SDK's display triangulation and shading normals, so Solid draws what Render renders), the one picker that answers rays and boxes ...

Repository
Core and the app (kinogaki/studio-core)
Folder
studio/core/geometry-view
Source
35 files, 9,933 lines
Tests
12 files, 3,580 lines
depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

Geometry, curves and B-reps in the viewport, independent of any GPU API: the SDK's standard values as surface packets (over the SDK's display triangulation and shading normals, so Solid draws what Render renders), the one picker that answers rays and boxes (lib-viewport's, kept with each packet), snapping, and transform drag previews, and how they look in Shaded mode (material tints, Cd). Point, vertex and triangle numbering is a pure function of the value, so plugins build overlays naming them from the value alone.

Depends on

CrateRepositoryAsWhat it is
kinogaki-brep-meshCore and the appnormalB-reps as polygons, below the viewport, renders and file exchange alike: each body's mesh by the installed mesher, cached on its geometry (meshed), and a value's bodies joined into one polygons value (joined): each body's mesh, the faces' polygons ...
kinogaki-mathlib-mathnormalKinogaki's vectors, points, matrices, quaternions and deterministic elementary functions.
kinogaki-parallellib-parallelnormalScoped parallel work over disjoint output slices, sized by cost.
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-spansCore and the appnormalTimed spans of Studio's own work: where a frame, a cook or a render sync spends its time, without an instrumented build.
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.

For its tests alone

CrateRepositoryAsWhat it is
kinogaki-studio-api-testingSDKtestsThe SDK's test support (a dev-dependency only): assert_refused for admission tests, read_hostile for a format's tests of hostile files, format for its scratch folders and round trips, workers as a host installs them, with wgpu an ...
kinogaki-viewport-gpulib-viewporttestsKinogaki's wgpu viewport renderer: pipelines, retained GPU buffers, offscreen multisampled targets and owned WGSL shaders.

Third-party

CrateVersionLicenceFrozen inAsAlso used by
blake31.8.7CC0-1.0 OR Apache-2.0 OR Apache-2.0 WITH LLVM-exceptionlib-ui/vendornormalkinogaki-core-package, kinogaki-geometry, kinogaki-network, kinogaki-scene
bytemuck1.25.2Zlib OR Apache-2.0 OR MITlib-ui/vendornormalkinogaki-composit-wgpu, kinogaki-geometry, kinogaki-image-pipeline, kinogaki-math, kinogaki-pixel, kinogaki-ui, kinogaki-ui-wgpu, kinogaki-viewport-api and 2 more

Used by

CrateRepositoryAsWhat it is
kinogaki-core-packageCore and the appnormalCore's own SDK package (kinogaki.core): what Studio holds whatever plugins are installed.
kinogaki-editorCore and the appnormalKinogaki Studio's editor: the document and everything the window shows of it, as parts one frame borrows one by one.
kinogaki-networkCore and the apptestsStudio's core networks (design: core-owned networks; "Cooking DAG for nodes is studio core").

Modules

Public types and traits

At the crate root

Structs BrepDisplayBrepPickingBrepPicksBrepSnappingBrepSurfaceBrepTablesCurveSamplesGeometryDisplayGeometryLookGeometryPickingGeometryPicksGeometrySnappingGeometrySurfaceGeometryTablesImageCanvasImageTables

Enums Line

By module: 19 public types and traits in 13 modules

brep::facets BrepDisplayBrepPickingBrepPicksBrepSnapping

brep::mesh BrepSurface

brep::tables BrepTables

curves CurveSamples

facets GeometryDisplayGeometryPickingGeometrySnapping

image ImageCanvasImageTables

look GeometryLook

pick GeometryPicks

picking Hit

preview DragPreview

surface GeometrySurface

surface::lines Line

tables GeometryTables

Besides these, 14 public functions at module level.