Operator Reference ================== This reference documents all operators registered by Reactive Surface FX under the ``reactive_surface_fx.*`` namespace. Display Setup & Management -------------------------- ``bpy.ops.reactive_surface_fx.setup_display()`` **Setup Reactive Display** Converts the active mesh into a reactive display surface without altering base topology. Attaches the procedural modifier stack, creates internal attributes, and injects shader emission hooks. ``bpy.ops.reactive_surface_fx.remove_display()`` **Remove Display Setup** Deactivates the simulation, removes procedural modifiers, strips injected shader nodes, and restores the base mesh to its clean original state. ``bpy.ops.reactive_surface_fx.evaluate_display()`` **Evaluate Proximity** Forces an immediate re-evaluation of directional raycasts and updates mesh display attributes for the active object. Material & Shader Wiring ------------------------ ``bpy.ops.reactive_surface_fx.inject_material_emission()`` **Inject Material Emission** Inspects all active material slots on the display object and non-destructively inserts an Attribute node reading ``display_color`` wired into the Principled BSDF emission socket. ``bpy.ops.reactive_surface_fx.remove_material_emission()`` **Remove Material Hook** Removes injected emission nodes from the object's materials and reconnects original shader wiring. Simulation, Trails & Caching ---------------------------- ``bpy.ops.reactive_surface_fx.reset_decay_trails()`` **Reset Decay Trails** Clears the historical temporal phosphor decay and motion trail memory buffer. ``bpy.ops.reactive_surface_fx.bake_simulation()`` **Bake Simulation Cache** Bakes the multi-frame proximity simulation and sub-frame samples to disk across the active animation range. ``bpy.ops.reactive_surface_fx.continue_bake()`` **Continue Bake** Resumes baking from the last cached frame to the current scene end frame. ``bpy.ops.reactive_surface_fx.free_bake()`` **Free Bake Cache** Deletes cached simulation files on disk and returns the display to real-time interactive mode. ``bpy.ops.reactive_surface_fx.open_cache_folder()`` **Open Cache Folder** Reveals the simulation disk cache folder in your operating system's file manager. Physical Transformations & Presets ---------------------------------- ``bpy.ops.reactive_surface_fx.apply_formula_preset(preset=...)`` **Apply Formula Preset** Applies a 1-click procedural Geometry Node formula (``MAGNETIC_REPULSE``, ``VORTEX_SWIRL``, or ``STEPPED_QUANTIZE``). ``bpy.ops.reactive_surface_fx.remove_formula_preset()`` **Remove Formula Preset** Removes active formula Geometry Node modifiers and restores standard deformation. ``bpy.ops.reactive_surface_fx.reset_falloff_curve()`` **Reset Falloff Curve** Resets the custom falloff mapping curve back to default smoothstep interpolation. ``bpy.ops.reactive_surface_fx.scan_driver_impacts()`` **Pre-Scan Timeline Impacts** Scans the animation timeline for driver collision moments and pre-calculates traveling wave ripple origins. ``bpy.ops.reactive_surface_fx.clear_wave_impacts()`` **Clear Wave Impacts** Clears stored timeline wave impact timestamps. Demo Scenes ----------- ``bpy.ops.reactive_surface_fx.add_demo(demo_type=..., replace_existing=False)`` **Add Demo Setup** Instantiates one of the 7 procedural demo setups (``DIGITAL_CLOCK``, ``SPHERE_GRID``, ``TEXTURE_SAMPLING``, ``LED_WHEEL``, ``FLUID_GLASS``, ``LUMINOUS_CLOTH``, or ``BUCKET_PAINTING``). ``bpy.ops.reactive_surface_fx.cancel_demo()`` **Cancel Demo** Cancels an in-progress modal demo generation.