Core and the app · crate

kinogaki-scripting

Core

Scripts over the standard values: lib-script's engine behind the SDK's ScriptEngine, and what a script sees of each value.

Repository
Core and the app (kinogaki/studio-core)
Folder
studio/core/scripting
Source
11 files, 2,539 lines
Tests
2 files, 736 lines
depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

Scripts over the standard values: lib-script's engine behind the SDK's ScriptEngine, and what a script sees of each value.

The language and its engine know no geometry. A binding (one module per standard value; geometry now) says what a script may name on a value and feeds its columns to the engine, chunk by chunk, and makes the new value of what the script wrote. A code node holds rows alone: it reaches this crate through the SDK (kinogaki_studio_api::script), and this is the only crate of core that names lib-script.

Depends on

CrateRepositoryAsWhat it is
kinogaki-script-execlib-scriptnormallib-script's engine: a column (batch) interpreter in safe Rust.
kinogaki-script-hostlib-scriptnormalThe boundary between lib-script and a host.
kinogaki-script-syntaxlib-scriptnormallib-script's syntax: an indentation-aware lexer, a recovering parser and a syntax tree whose every node keeps the exact span of its text.
kinogaki-script-typeslib-scriptnormallib-script's front end after parsing: types, the host schema a context offers, the library catalog's signatures, the checker that builds the typed program, and completion and hover for the editor.
kinogaki-studio-apiSDKnormalKinogaki Studio's headless plugin API.

For its tests alone

CrateRepositoryAsWhat it is
kinogaki-cookCore and the apptestsStudio's core cooking engine, the same for every network kind (the owner's rule: the cooking DAG for nodes is core's).
kinogaki-parallellib-paralleltestsScoped parallel work over disjoint output slices, sized by cost.

Third-party

None.

Used by

CrateRepositoryAsWhat it is
kinogaki-core-packageCore and the appnormalCore's own SDK package (kinogaki.core): what Studio holds whatever plugins are installed.

Modules

Public types and traits

At the crate root

Structs Scripting