61 void apply_one_to_one(
62 std::string_view param,
63 const std::shared_ptr<NodeNetwork>& source)
override;
123 bool m_participates_in_rendering {
true };
124 bool m_consumes_upstream {};
125 bool m_force_internal_dt {};
bool participates_in_rendering() const
Whether this operator contributes a vertex slice to rendering.
virtual void * get_data_at(size_t global_index)=0
Get mutable access to point at global index.
bool uses_force_internal_dt() const
void set_participates_in_rendering(bool value)
virtual size_t get_point_count() const =0
Get source point count (before topology expansion)
virtual std::span< const uint8_t > get_vertex_data_for_collection(uint32_t idx=0) const =0
Get vertex data for specific collection (if multiple)
virtual size_t get_vertex_count() const =0
Get number of vertices (may differ from point count for topology/path)
virtual void seed_from_upstream(const GraphicsOperator *upstream)
Receive upstream vertex state before process() is called.
virtual Kakshya::VertexLayout get_vertex_layout() const =0
Get vertex layout describing vertex structure.
virtual bool is_vertex_data_dirty() const =0
Check if geometry changed this frame.
bool consumes_upstream() const
Whether this operator requests upstream vertex state before process().
void set_force_internal_dt(bool value)
Override the dt passed by the caller with a fixed internal value.
virtual std::span< const uint8_t > get_vertex_data() const =0
Get vertex data for GPU upload.
virtual const char * get_vertex_type_name() const =0
Get human-readable vertex type name (for validation/debugging)
void set_consumes_upstream(bool value)
virtual void mark_vertex_data_clean()=0
Clear dirty flag after GPU upload.
Operator that produces GPU-renderable geometry.
Domain-agnostic interpretive lens for network processing.
Complete description of vertex data layout in a buffer.