Skip to content

PyEngine Operators

f8.pyengine is the main operator host in this repo. Each operator below links back to its canonical spec + usage section.

Operator Label Main Role Canonical Doc
f8.tick Tick Source operator that generates periodic exec ticks. Open
f8.exec_sequence Sequence Exec flow splitter: triggers its exec outputs in order (requires DFS scheduling). Open
f8.cosine Cosine Cosine phase transform. Open
f8.tempest Tempest Tempest phase transform (phase-modulated cosine). Open
f8.phase Phase Phase accumulator. Open
f8.print Print Exec-driven printer (pulls value and prints). Open
f8.program_wave Program Wave Generate a program-controlled phase/gate waveform from a dict state payload. Open
f8.envelope Envelope Track a signal envelope and normalize it into a stable 0. Open
f8.smooth_filter Smooth Filter Smooths scalar or vector inputs with EMA/DEMA/One Euro filtering. Open
f8.range_map Range Map Clip input to [inMin,inMax] then remap to [outMin,outMax] with a curve. Open
f8.rate_limiter Rate Limiter Limits the rate of change (and optionally acceleration) of an input signal. Open
f8.serial_out Serial Out Writes incoming values to a serial port (pyserial). Open
f8.udp_in UDP In Receives UDP packets and exposes explicit raw/text/json views plus packet metadata. Open
f8.skeleton_decoder Skeleton Decoder Decodes udp_in packet payloads into skeleton streams with chunk reassembly. Open
f8.udp_out UDP Out Sends incoming values to a UDP host/port. Open
f8.tcode TCode Generates TCode v0. Open
f8.python_script Python Script Execute Python code with onStart/onState/onMsg/onExec/onStop hooks. Open
f8.data_expr Data Expr Evaluate a small Python expression using input values. Open
f8.lovense_out Lovense Out Send Lovense Local API commands with split channels: sendPositionCmd->Position, sendFunctionCmd->Function. Open
f8.buttplug_out Buttplug Out Connect to Intiface/Buttplug with split channels: sendPositionCmd->position, sendFunctionCmd->state. Open
f8.lovense_mock_server Lovense Mock Server Event-driven input node that mocks the Lovense Local API, publishes received commands as state, and emits exec. Open
f8.sequence_player Sequence Player Play a step-sequence over time (epoch-based), outputting the current step value. Open
f8.silence_detector Silence Detector Detect whether a signal has stayed nearly unchanged for long enough to be considered silent. Open
f8.switch_mixer Switch Mixer Switch between any number of user-defined input channels with an optional smooth crossfade. Open
f8.playback_sync Playback Sync Extrapolates IMPlayer playback position between sparse playback state updates. Open
f8.handy_out Handy Out Drive The Handy via HDSP using normalized 0. Open
f8.state_trigger State Trigger Triggers exec on changed when state value changes; ideal for wiring button-like state changes into exec graphs. Open
f8.state_expr State Expr Evaluate a small Python expression using state fields as symbols. Open
f8.bone_filter Bone Filter Smooths a single bone pose and outputs filtered + local relative pose. Open
f8.quat_to_euler Quat To Euler Converts quaternion [w,x,y,z] to Euler angles with configurable order. Open
f8.vmc_decoder VMC Decoder Decodes udp_in packet payloads carrying VMC OSC messages into skeleton streams. Open
f8.bone_selector Bone Selector Selects one bone from a skeleton by target and outputs {name,pos,rot}. Open
f8.wave_expr Wave Expr Template-based waveform expression node. Open
f8.wave_pattern Wave Pattern Interactive periodic waveform node. Open
f8.wave_funscript Wave Funscript Load a. Open
f8.detrend Detrend Removes slow baseline or linear trend from scalar or vector inputs. Open
f8.lowpass_filter Lowpass Filter Butterworth IIR low-pass filter for scalar or vector inputs. Open
f8.highpass_filter Highpass Filter Butterworth IIR high-pass filter for scalar or vector inputs. Open
f8.bandpass_filter Bandpass Filter Butterworth IIR band-pass filter for scalar or vector inputs. Open
f8.periodicity_detector Periodicity Detector Detects whether a scalar signal is periodic using short-time autocorrelation peaks. Open
f8.recorder Recorder Tick-driven debug recorder that captures data samples and sparse state changes. Open
f8.replayer Replayer Playback recorded data and sparse state changes for debugging. Open