Agent-first motion observability: sample view geometry, scroll state, and arbitrary scalar values at a chosen FPS, emit epsilon-bounded change-only events with Start/End burst framing, and route them to pluggable sinks (log lines and structured events).
More...
|
| std::string | pulp::view::motion::format_line (const SampleEvent &e) |
| | Render the canonical [PulpMotion][view][metric] ... line for a sample event.
|
| void | pulp::view::motion::publish_value (std::string view_name, std::string metric_name, double value, PublishOptions opts={}) |
| | Single-component publish.
|
| void | pulp::view::motion::publish_components (std::string view_name, std::string metric_name, std::vector< std::pair< std::string, double > > components, PublishOptions opts={}) |
| | Multi-component publish (e.g., a 2D point or a geometry rect).
|
| void | pulp::view::motion::set_ambient_provenance (Provenance p) |
| void | pulp::view::motion::clear_ambient_provenance () |
| Provenance | pulp::view::motion::current_ambient_provenance () |
| std::vector< SampleEvent > | pulp::view::motion::load_fixture (const std::string &path) |
| | Load a fixture file into memory.
|
| FixtureHeader | pulp::view::motion::load_fixture_header (const std::string &path) |
| | Load a fixture's header (schema version + policy + duration_scale).
|
| FixtureDiff | pulp::view::motion::assert_matches (const std::vector< SampleEvent > &golden, const std::vector< SampleEvent > &captured, FixtureMatchOptions opts={}) |
| FixtureDiff | pulp::view::motion::assert_matches (const FixtureHeader &golden_header, const std::vector< SampleEvent > &golden, const FixtureHeader &captured_header, const std::vector< SampleEvent > &captured, FixtureMatchOptions opts={}) |
| | Overload that also compares fixture headers.
|
| std::vector< ScalarSample > | pulp::view::motion::extract_scalar (const std::vector< SampleEvent > &events, std::string_view view_name, std::string_view metric_name, std::string_view component_name="value") |
| bool | pulp::view::motion::is_monotonic (const std::vector< ScalarSample > &samples, double epsilon=1e-6) |
| | Strict monotonicity check with epsilon.
|
| double | pulp::view::motion::settling_time_seconds (const std::vector< ScalarSample > &samples, double epsilon=1e-6) |
| | Time from first change above epsilon to last change above epsilon.
|
| double | pulp::view::motion::overshoot (const std::vector< ScalarSample > &samples, double epsilon=1e-6) |
| | Overshoot relative to the final value: max excursion beyond the final value's direction from the first stable region.
|
| double | pulp::view::motion::start_delay_seconds (const std::vector< ScalarSample > &samples, double epsilon=1e-6) |
| | Time from t0 to the first change above epsilon.
|
| double | pulp::view::motion::frame_jitter_seconds (const std::vector< ScalarSample > &samples) |
| | Standard deviation of inter-sample intervals — proxy for frame-pacing jitter when the sampler is run at a fixed FPS.
|
| double | pulp::view::motion::final_value (const std::vector< ScalarSample > &samples) |
| | Returns the last sample's value, or NaN when empty.
|
| double | pulp::view::motion::local_step_outlier_ratio (const std::vector< ScalarSample > &samples, std::size_t window_radius=3, double epsilon=1e-9) |
| | Local-step outlier ratio.
|
| Sink | pulp::view::motion::make_log_sink () |
| | Sink that writes one log line per event via pulp::runtime::log_debug.
|
| Sink | pulp::view::motion::make_buffer_sink (std::vector< SampleEvent > *buffer) |
| | Sink that appends events to a caller-owned buffer.
|
| Sink | pulp::view::motion::make_fixture_sink (std::string path) |
| | Sink that appends each SampleEvent as a JSONL line to path.
|
| int | pulp::view::motion::replay_fixture (const std::string &path, const Sink &sink) |
| | Read a fixture file from disk and dispatch each event to sink.
|
| InputRecorder | pulp::view::motion::make_input_recorder (std::string path) |
| | Install a fixture sink at path and enable simulate_* recording.
|
| int | pulp::view::motion::replay_inputs (const std::string &path, View &root_view, FrameClock &frame_clock) |
| | Read a fixture file, find each Input event, resolve view_id from root_view for diagnostics, and re-dispatch the matching View::simulate_* through root_view.
|
| void | pulp::view::motion::record_simulated_input (const std::string &input_kind, const std::string &view_id, std::vector< std::pair< std::string, double > > coords) |
| | Process-wide entry point called by View::simulate_* when input recording is active.
|
| bool | pulp::view::motion::input_recording_enabled () noexcept |
| | True while at least one InputRecorder is alive.
|
Agent-first motion observability: sample view geometry, scroll state, and arbitrary scalar values at a chosen FPS, emit epsilon-bounded change-only events with Start/End burst framing, and route them to pluggable sinks (log lines and structured events).
Off by default; activate with Coordinator::set_tracing_enabled(true).