Expand description
Core traits and types for the Nodal Scene Interface – ɴsɪ.
This crate provides the fundamental abstractions for ɴsɪ without any FFI dependencies. It defines:
Nsi– the core trait that rendering contexts implement (selfis the context)ParamValue– trait implemented by Rust values that can be expressed as a single ɴsɪNSIParam_tat the FFI boundaryAttribute<T>and its aliasParameter<T>– typed compile-time namesType– NSI data type discriminant (#[repr(i32)], C-compatible)FfiParam– C-compatible parameter struct (#[repr(C)])Flags– Parameter flags (PerFace, PerVertex, etc.)Name– Feature-gated string type (ustr::UstrorString)Action– Render control actionsNodeType– Enum of all standard node types- Node type constants (
ROOT,MESH, etc.) Attribute<T>– Typed attribute names with per-name compile-time data-shape verification, plus standard attribute constants (P,FOV, etc.)
§Crate Organization
This is a pure Rust crate with no FFI. For FFI wrapper functionality,
see the nsi-ffi-wrap crate.
Re-exports§
Modules§
- attribute
- Typed attribute / parameter names — compile-time witnesses for ɴsɪ
NSIParam_tidentifiers. - node
- Standard ɴsɪ node types and constants.
Structs§
- FfiParam
- C-compatible parameter struct, layout-identical to
NSIParam_t. - Flags
- Parameter flags matching the C API constants.
Enums§
- Action
- Actions for render control.
- Type
- NSI data type discriminant, binary-compatible with
NSIType_tfromnsi.h.
Traits§
- Nsi
- Core ɴsɪ interface trait.
- Param
Value - A single ɴsɪ parameter (name + typed data).
Type Aliases§
- Name
- Interned string type when the
ustrfeature is enabled, otherwiseString.