Skip to main content

Crate polydat_nodes

Crate polydat_nodes 

Source
Expand description

The Polydat node library: every function a program can call that the compiler does not synthesize itself. Each node is a #[polydat_node] function over the core’s value model and registers into the registry at link time, so linking this crate is what makes its functions callable; a third-party node crate is built the same way. The numeric bodies the native lowerings share live in polydat_core::numeric, and the nodes here that have a lowering are thin wrappers over them.

polydat re-exports every module here under polydat::library, beside the nodes the core keeps, at the paths they always had.

Modules§

arithmetic
Arithmetic function nodes.
bitwise
Bitwise and two-wire integer arithmetic nodes.
bytebuf
Byte buffer and character buffer nodes.
compare
Comparison and selection nodes.
datetime
Datetime and epoch function nodes.
digest
Cryptographic digest and base encoding nodes.
emit
Row emission as a graph node.
encoding
String encoding and decoding nodes: HTML entities, URL percent-encoding.
hash
Hash function nodes.
lerp
Linear interpolation and range mapping nodes.
math
Trigonometric and mathematical function nodes.
noise
Coherent noise functions: Perlin, simplex, fractal Brownian motion.
param_helpers
Parameter resolution and validation helpers (SRD 12 §“Parameter resolution and validation”).
partition
Partition-typed stdlib nodes — SRD 71 §“Functions that consume partitions”.
pcg
PCG-RXS-M-XS 64/64 random number generator nodes.
pick
pick — branched-dispatch primitive (SRD-66 §“Surface 3”).
probability
Probability modeling nodes.
random
Non-deterministic random data generators for prototyping and testing.
realer
Bundled real-world data for realistic data generation.
regex
Regex processing nodes.
register
Register-plane nodes — 128-bit SIMD words as values (type_system_alignment.md §8.4 layer 2).
round_numbers
Round-number selector nodes.
sampling
Variate sampling methods.
stability
Signal-settling / steady-state detection nodes.
streamer
The producer node (SRD 113 §3.1). name := for ... lowers to const name := streamer("<json>"), where the payload is the resolved comprehension serialized by StreamerValue::to_json. The node parses once at setup and emits the same reflected value on every pull, so the wire is an init-time constant.
string
String generation and transformation nodes.
vector_math
Element-wise vector math nodes (type_system_alignment.md §8.2).
weighted
Convenience weighted output selection nodes.