lib-script · crate

kinogaki-script-host

Libraryenvironment

The boundary between lib-script and a host.

Repository
lib-script (kinogaki/lib-script)
Folder
libs/lib-script/crates/host
Source
9 files, 1,275 lines
Tests
0 files, 0 lines
depends onused by tests alonedependencies for tests alone are listed below, not drawn

What it is

The boundary between lib-script and a host. A context (Mesh first; later Volume, SDF, splats, CAD) implements ScriptContext: it declares the names a script may use (kinogaki_script_types::Schema), feeds columns into registers chunk by chunk, runs its context functions as column kernels, and receives the written columns through a ScriptOutput and the geometry edits as an ordered queue of Edits.

table is an in-memory test host, so the engine is tested without any geometry library.

Depends on

CrateRepositoryAsWhat it is
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.

Third-party

None.

Used by

CrateRepositoryAsWhat it is
kinogaki-script-benchlib-scriptnormalBenchmarks on the test host, 1M elements: cargo run --release -p kinogaki-script-bench.
kinogaki-script-execlib-scriptnormallib-script's engine: a column (batch) interpreter in safe Rust.
kinogaki-script-irlib-scriptnormallib-script's column IR: typed SSA values (vectors as groups of scalar values) in structured regions; lowering from the checked program; uniform/varying analysis; optimisation; a verifier; and the fault table that maps instructions back to source spans.
kinogaki-script-liblib-scriptnormallib-script's function library.
kinogaki-scriptingCore and the appnormalScripts over the standard values: lib-script's engine behind the SDK's ScriptEngine, and what a script sees of each value.

Modules

Public types and traits

At the crate root

Traits OutputPartScriptContextScriptOutput

Structs DomainEditHostCallHostFaultListStoreWords

Enums ArgEditKindLanesLanesMutOperandSlot

By module: 23 public types and traits in 6 modules

context ArgDomainHostCallHostFaultOutputPartScriptContextScriptOutputSlot

edits EditEditKind

lanes LanesLanesMutOperand

lists ListStoreTooLongWords

table ColumnDataModeTableTableHost

table::output TableOutputTablePart

Besides these, 4 public functions at module level.