Standard Component Library

Reflow's standard library provides native actor implementations exposed through reflow_components. These are the templates discoverable via get_actor_for_template(template_id) and get_template_mapping().

If you are building an application, depend on reflow_rt — it re-exports the catalog as reflow_rt::components and owns the feature gates (gpu, av-core, ml, camera-native, video-encode, window-events, browser-events, api_services, …).

Script execution (JavaScript, Python, SQL, etc.) is handled by dynASB via ComponentSpec::Script — this crate only contains native actors.

Registry usage

#![allow(unused)]
fn main() {
use reflow_rt::prelude::*;

let actor = get_actor_for_template("tpl_http_request")
    .expect("template registered");

net.register_actor_arc("tpl_http_request", actor)?;
net.add_node("call", "tpl_http_request", Some(/* config */))?;
}

get_template_mapping() returns HashMap<String, String> of template ID → actor struct name for tools and editors.

Feature gates

FeatureWhat it enables
av-coreAudio / DSP actors (biquad, compressor, FFT, gain, spectrum, etc.)
gpuwgpu-backed rendering: scene render, SDF ray march, shader graph, post-processing
window-eventstpl_*_input and tpl_window_event
browser-events / browserBrowser automation actors
camera-nativeNative camera capture (tpl_camera_capture)
video-encodeNative H.264 video encoding (tpl_video_encoder)
mlCV preprocess, inference boundary, decode actors, taskpacks
api_services~6,700 generated API actors across ~90 third-party services

Complete template catalog

The tables below are organized by the sections in registry.rs. Feature-gated actors are noted in their section heading — they are only resolvable when the matching feature is enabled.

The API-services catalog (api_* templates) is not listed here because of its size; see api-actors.md for the full list.

For the media / ML pipeline stack see ml-stack.md and media-actors.md.


Asset DB

Template IDActorPurpose
tpl_asset_storeAssetStoreActorasset store
tpl_asset_loadAssetLoadActorasset load
tpl_asset_queryAssetQueryActorasset query

Scene Systems (ECS — read/write AssetDB components)

Template IDActorPurpose
tpl_scene_physicsScenePhysicsSystemActorscene physics
tpl_scene_cameraSceneCameraSystemActorscene camera
tpl_scene_light_collectorSceneLightCollectorActorscene light collector
tpl_scene_materialSceneMaterialSystemActorscene material
tpl_scene_billboardSceneBillboardSystemActorscene billboard
tpl_scene_skyboxSceneSkyboxSystemActorscene skybox
tpl_scene_weatherSceneWeatherSystemActorscene weather

Universal Systems (motion design, interactive animation, design engineering)

Template IDActorPurpose
tpl_tween_systemTweenSystemActortween system
tpl_timeline_systemTimelineSystemActortimeline system
tpl_state_machine_systemStateMachineSystemActorstate machine system
tpl_behavior_systemBehaviorSystemActorbehavior system
tpl_layout_syncLayoutSyncSystemActorlayout sync
tpl_text_renderTextRenderSystemActortext render
tpl_text_sdfTextSdfSystemActortext sdf

Integration

Template IDActorPurpose
tpl_http_requestHttpRequestActorhttp request
tpl_browser_screencastBrowserScreencastActorbrowser screencast

Flow Control

Template IDActorPurpose
tpl_fsmFsmActorfsm
tpl_hit_testHitTestActorhit test
tpl_signalSignalActorsignal
tpl_subscriberSubscriberActorsubscriber
tpl_if_branchConditionalBranchActorif branch
tpl_switchSwitchCaseActorswitch
tpl_loopLoopActorloop

Scene

Template IDActorPurpose
tpl_componentComponentNodeActorcomponent
tpl_prefabPrefabActorprefab
tpl_instanceInstanceActorinstance
tpl_scene_graphSceneGraphActorscene graph
tpl_terrainTerrainActorterrain

Input Events (feature-gated)

Template IDActorPurpose
tpl_keyboard_inputKeyboardInputActorkeyboard input
tpl_mouse_inputMouseInputActormouse input
tpl_gamepad_inputGamepadInputActorgamepad input
tpl_touch_inputTouchInputActortouch input
tpl_window_eventWindowEventActorwindow event

Triggers

Template IDActorPurpose
tpl_interval_triggerIntervalTriggerActorinterval trigger
tpl_cron_triggerCronTriggerActorcron trigger

Server

Template IDActorPurpose
tpl_server_requestServerRequestActorserver request
tpl_server_responseServerResponseActorserver response

Flow Utilities

Template IDActorPurpose
tpl_mapMapActormap
tpl_filterFilterActorfilter
tpl_reduceReduceActorreduce
tpl_mergeMergeActormerge
tpl_splitSplitActorsplit
tpl_delayDelayActordelay
tpl_gateGateActorgate
tpl_collectCollectActorcollect
tpl_passthroughPassthroughActorpassthrough

Data Processing

Template IDActorPurpose
tpl_data_emitDataEmitActordata emit
tpl_data_transformerDataTransformActordata transformer
tpl_data_operationsDataOperationsActordata operations
tpl_generatorGeneratorActorgenerator

Logic

Template IDActorPurpose
tpl_rules_engineRulesEngineActorrules engine

Media

Template IDActorPurpose
tpl_image_inputImageInputActorimage input
tpl_audio_inputAudioInputActoraudio input
tpl_video_inputVideoInputActorvideo input
tpl_camera_captureCameraCaptureActorcamera capture

Math

Template IDActorPurpose
tpl_math_addMathAddActormath add
tpl_math_subtractMathSubtractActormath subtract
tpl_math_multiplyMathMultiplyActormath multiply
tpl_math_divideMathDivideActormath divide
tpl_math_moduloMathModuloActormath modulo
tpl_math_powerMathPowerActormath power
tpl_math_sqrtMathSqrtActormath sqrt
tpl_math_absoluteMathAbsoluteActormath absolute
tpl_math_clampMathClampActormath clamp
tpl_math_min_maxMathMinMaxActormath min max
tpl_math_roundMathRoundActormath round
tpl_math_randomMathRandomActormath random
tpl_math_averageMathAverageActormath average
tpl_math_sumMathSumActormath sum
tpl_math_statisticsMathStatisticsActormath statistics
tpl_math_expressionMathExpressionActormath expression

Vector3

Template IDActorPurpose
tpl_vec3Vec3Actorvec3
tpl_vec3_addVec3AddActorvec3 add
tpl_vec3_subtractVec3SubtractActorvec3 subtract
tpl_vec3_scaleVec3ScaleActorvec3 scale
tpl_vec3_dotVec3DotActorvec3 dot
tpl_vec3_crossVec3CrossActorvec3 cross
tpl_vec3_normalizeVec3NormalizeActorvec3 normalize
tpl_vec3_lengthVec3LengthActorvec3 length
tpl_vec3_distanceVec3DistanceActorvec3 distance
tpl_vec3_lerpVec3LerpActorvec3 lerp
tpl_vec3_reflectVec3ReflectActorvec3 reflect

Matrix4

Template IDActorPurpose
tpl_mat4_identityMat4IdentityActormat4 identity
tpl_mat4_multiplyMat4MultiplyActormat4 multiply
tpl_mat4_transformMat4TransformActormat4 transform
tpl_mat4_translateMat4TranslateActormat4 translate
tpl_mat4_scaleMat4ScaleActormat4 scale
tpl_mat4_rotate_xMat4RotateXActormat4 rotate x
tpl_mat4_rotate_yMat4RotateYActormat4 rotate y
tpl_mat4_rotate_zMat4RotateZActormat4 rotate z
tpl_mat4_look_atMat4LookAtActormat4 look at
tpl_mat4_perspectiveMat4PerspectiveActormat4 perspective

Quaternion

Template IDActorPurpose
tpl_quat_from_eulerQuatFromEulerActorquat from euler
tpl_quat_multiplyQuatMultiplyActorquat multiply
tpl_quat_slerpQuatSlerpActorquat slerp
tpl_quat_rotate_vec3QuatRotateVec3Actorquat rotate vec3

Procedural

Template IDActorPurpose
tpl_noise_generatorNoiseGeneratorActornoise generator

Procedural / Heightmap

Template IDActorPurpose
tpl_image_to_heightmapImageToHeightmapActorimage to heightmap
tpl_heightmap_to_imageHeightmapToImageActorheightmap to image
tpl_heightmap_to_meshHeightmapToMeshActorheightmap to mesh
tpl_voronoiVoronoiActorvoronoi
tpl_lsystemLSystemActorlsystem
tpl_particle_emitterParticleEmitterActorparticle emitter
tpl_triplanar_textureTriplanarTextureActortriplanar texture
tpl_mesh_combineMeshCombineActormesh combine
tpl_tube_meshTubeMeshActortube mesh
tpl_vertex_colorVertexColorActorvertex color
tpl_uv_textureUVTextureActoruv texture

Text / Utilities

Template IDActorPurpose
tpl_json_parserJsonParserActorjson parser
tpl_regex_matcherRegexMatcherActorregex matcher
tpl_date_timeDateTimeActordate time

Image Codecs

Template IDActorPurpose
tpl_image_decodeImageDecodeActorimage decode
tpl_image_encodeImageEncodeActorimage encode

File I/O

Template IDActorPurpose
tpl_file_loadFileLoadActorfile load
tpl_file_saveFileSaveActorfile save

Stream Display

Template IDActorPurpose
tpl_image_stream_displayImageStreamDisplayActorimage stream display
tpl_audio_stream_displayAudioStreamDisplayActoraudio stream display

Stream Operations

Template IDActorPurpose
tpl_bytes_to_streamBytesToStreamActorbytes to stream
tpl_stream_to_bytesStreamToBytesActorstream to bytes
tpl_stream_teeStreamTeeActorstream tee
tpl_stream_bufferStreamBufferActorstream buffer
tpl_stream_throttleStreamThrottleActorstream throttle
tpl_stream_statsStreamStatsActorstream stats

Image DSP

Template IDActorPurpose
tpl_grayscale_filterGrayscaleFilterActorgrayscale filter
tpl_brightness_contrastBrightnessContrastActorbrightness contrast
tpl_chroma_keyChromaKeyActorchroma key

Audio DSP

Template IDActorPurpose
tpl_audio_gainAudioGainActoraudio gain
tpl_biquad_filterBiquadFilterActorbiquad filter
tpl_compressorCompressorActorcompressor
tpl_audio_normalizeAudioNormalizeActoraudio normalize
tpl_noise_gateNoiseGateActornoise gate
tpl_de_esserDeEsserActorde esser
tpl_audio_spectrumAudioSpectrumActoraudio spectrum
tpl_silence_detectSilenceDetectActorsilence detect

Audio DSP (continued)

Template IDActorPurpose
tpl_equalizerEqualizerActorequalizer
tpl_limiterLimiterActorlimiter
tpl_dc_offsetDCOffsetActordc offset
tpl_envelope_followerEnvelopeFollowerActorenvelope follower
tpl_crossoverCrossoverActorcrossover
tpl_peak_detectPeakDetectActorpeak detect
tpl_ifftIFFTActorifft
tpl_convolveConvolveActorconvolve
tpl_noise_reductionNoiseReductionActornoise reduction
tpl_pitch_shiftPitchShiftActorpitch shift
tpl_time_stretchTimeStretchActortime stretch
tpl_correlatorCorrelatorActorcorrelator

Image DSP (continued)

Template IDActorPurpose
tpl_image_resizeImageResizeActorimage resize

SDF (always available — pure IR composition)

Template IDActorPurpose
tpl_sdf_sphereSdfSphereActorsdf sphere
tpl_sdf_boxSdfBoxActorsdf box
tpl_sdf_round_boxSdfRoundBoxActorsdf round box
tpl_sdf_ellipsoidSdfEllipsoidActorsdf ellipsoid
tpl_sdf_round_box_shellSdfRoundBoxShellActorsdf round box shell
tpl_sdf_cylinderSdfCylinderActorsdf cylinder
tpl_sdf_torusSdfTorusActorsdf torus
tpl_sdf_capsuleSdfCapsuleActorsdf capsule
tpl_sdf_coneSdfConeActorsdf cone
tpl_sdf_tapered_capsuleSdfTaperedCapsuleActorsdf tapered capsule
tpl_sdf_tube_pathSdfTubePathActorsdf tube path
tpl_sdf_planeSdfPlaneActorsdf plane
tpl_sdf_inf_repeatSdfInfRepeatActorsdf inf repeat
tpl_sdf_puddleSdfPuddleActorsdf puddle
tpl_sdf_unionSdfUnionActorsdf union
tpl_sdf_intersectionSdfIntersectionActorsdf intersection
tpl_sdf_differenceSdfDifferenceActorsdf difference
tpl_sdf_smooth_unionSdfSmoothUnionActorsdf smooth union
tpl_sdf_smooth_intersectionSdfSmoothIntersectionActorsdf smooth intersection
tpl_sdf_smooth_differenceSdfSmoothDifferenceActorsdf smooth difference
tpl_sdf_stamp_composeSdfStampComposeActorsdf stamp compose
tpl_sdf_translateSdfTranslateActorsdf translate
tpl_sdf_rotateSdfRotateActorsdf rotate
tpl_sdf_scaleSdfScaleActorsdf scale
tpl_sdf_twistSdfTwistActorsdf twist
tpl_sdf_bendSdfBendActorsdf bend
tpl_sdf_roundSdfRoundActorsdf round
tpl_sdf_shellSdfShellActorsdf shell
tpl_sdf_mirrorSdfMirrorActorsdf mirror
tpl_sdf_repeatSdfRepeatActorsdf repeat
tpl_sdf_displaceSdfDisplaceActorsdf displace
tpl_sdf_materialSdfMaterialActorsdf material
tpl_sdf_shade_slotSdfShadeSlotActorsdf shade slot
tpl_sdf_sceneSdfSceneActorsdf scene

SDF path (always available — pure IR composition)

Template IDActorPurpose
tpl_sdf_pathSdfPathActorsdf path

GPU compute (requires wgpu)

Template IDActorPurpose
tpl_sdf_live_renderSdfLiveRenderActorsdf live render
tpl_sdf_renderSdfRenderActorsdf render
tpl_sdf_marching_cubesSdfMarchingCubesActorsdf marching cubes
tpl_mesh_to_sdfMeshToSdfActormesh to sdf
tpl_scene_renderSceneRenderActorscene render
tpl_gpu_2d_renderGpu2DRenderActorgpu 2d render
tpl_font_loadFontLoadActorfont load
tpl_glyph_atlasGlyphAtlasActorglyph atlas

Post-processing

Template IDActorPurpose
tpl_tone_mapToneMapActortone map
tpl_bloomBloomPostProcessActorbloom
tpl_ssaoSSAOActorssao
tpl_shadow_mapShadowMapActorshadow map

Shader Graph (node-based materials)

Template IDActorPurpose
tpl_shader_compilerShaderCompilerActorshader compiler
tpl_shader_principled_bsdfShaderPrincipledBsdfActorshader principled bsdf
tpl_shader_material_outputShaderMaterialOutputActorshader material output
tpl_shader_const_floatShaderConstFloatActorshader const float
tpl_shader_const_colorShaderConstColorActorshader const color
tpl_shader_texcoordShaderTexCoordActorshader texcoord
tpl_shader_positionShaderPositionInputActorshader position
tpl_shader_normalShaderNormalInputActorshader normal
tpl_shader_timeShaderTimeInputActorshader time
tpl_shader_vertex_colorShaderVertexColorActorshader vertex color
tpl_shader_image_textureShaderImageTextureActorshader image texture
tpl_shader_noise_textureShaderNoiseTextureActorshader noise texture
tpl_shader_checker_textureShaderCheckerTextureActorshader checker texture
tpl_shader_mathShaderMathActorshader math
tpl_shader_color_mixShaderColorMixActorshader color mix
tpl_shader_color_rampShaderColorRampActorshader color ramp
tpl_shader_fresnelShaderFresnelActorshader fresnel
tpl_shader_normal_mapShaderNormalMapActorshader normal map
tpl_shader_bump_mapShaderBumpMapActorshader bump map
tpl_shader_mappingShaderMappingActorshader mapping
tpl_shader_separate_xyzShaderSeparateXYZActorshader separate xyz
tpl_shader_combine_xyzShaderCombineXYZActorshader combine xyz
tpl_shader_clampShaderClampActorshader clamp
tpl_shader_map_rangeShaderMapRangeActorshader map range
tpl_shader_voronoi_textureShaderVoronoiTextureActorshader voronoi texture
tpl_shader_gradient_textureShaderGradientTextureActorshader gradient texture
tpl_shader_brick_textureShaderBrickTextureActorshader brick texture
tpl_shader_musgrave_textureShaderMusgraveTextureActorshader musgrave texture
tpl_shader_wave_textureShaderWaveTextureActorshader wave texture

Animation

Template IDActorPurpose
tpl_skeletonSkeletonActorskeleton
tpl_animation_clipAnimationClipActoranimation clip
tpl_skin_bindSkinBindActorskin bind
tpl_animation_samplerAnimationSamplerActoranimation sampler
tpl_skinningSkinningActorskinning
tpl_animation_timeAnimationTimeActoranimation time
tpl_animation_mixerAnimationMixerActoranimation mixer
tpl_keyframeKeyframeActorkeyframe
tpl_animation_timelineAnimationTimelineActoranimation timeline
tpl_sprite_animationSpriteAnimationActorsprite animation
tpl_animation_blend_treeAnimationBlendTreeActoranimation blend tree
tpl_animation_fsmAnimationFsmActoranimation fsm
tpl_ik_solverIKSolverActorik solver
tpl_root_motionRootMotionActorroot motion
tpl_animation_layerAnimationLayerActoranimation layer
tpl_morph_targetMorphTargetActormorph target
tpl_animation_eventAnimationEventActoranimation event
tpl_character_controllerCharacterControllerActorcharacter controller

Video

Template IDActorPurpose
tpl_frame_buffer?frame buffer
tpl_render_frame_collectorRenderFrameCollectorActorrender frame collector
tpl_video_encoderVideoEncoderActorvideo encoder

Mesh export

Template IDActorPurpose
tpl_obj_exportObjExportActorobj export
tpl_stl_exportStlExportActorstl export
tpl_gltf_exportGltfExportActorgltf export

Model/scene import

Template IDActorPurpose
tpl_stl_importStlImportActorstl import
tpl_obj_importObjImportActorobj import
tpl_gltf_importGltfImportActorgltf import
tpl_mesh_importMeshImportActormesh import
tpl_scene_importSceneImportActorscene import
tpl_fbx_importFbxImportActorfbx import

2D Vector Graphics

Template IDActorPurpose
tpl_shape_2dShape2DActorshape 2d
tpl_vector_rasterizeVectorRasterizeActorvector rasterize
tpl_gaussian_blurGaussianBlurActorgaussian blur
tpl_blend_modeBlendModeActorblend mode
tpl_canvas_2dCanvas2DActorcanvas 2d
tpl_backgroundBackgroundActorbackground

Media / ML stack (feature-gated; mock-first inference boundary)

Template IDActorPurpose
tpl_cv_image_to_tensorImageToTensorActorcv image to tensor
tpl_cv_resize_letterboxResizeLetterboxActorcv resize letterbox
tpl_cv_video_stream_to_framesVideoStreamToFramesActorcv video stream to frames
tpl_cv_normalize_tensorNormalizeTensorActorcv normalize tensor
tpl_cv_tensor_crop_roiTensorCropRoiActorcv tensor crop roi
tpl_cv_detection_to_roiDetectionToRoiActorcv detection to roi
tpl_cv_temporal_smootherTemporalSmootherActorcv temporal smoother
tpl_ml_load_modelLoadModelActorml load model
tpl_ml_run_inferenceRunInferenceActorml run inference
tpl_ml_decode_detectionsDecodeDetectionsActorml decode detections
tpl_ml_decode_landmarksDecodeLandmarksActorml decode landmarks
tpl_ml_packet_probePacketProbeActorml packet probe