Skip to content

Deep-clone block operands for per-thread tracking (RandomizationBlock + BlendBlock) #246

Description

@ofloveandhate

Summary

RandomizationBlock<System> and BlendBlock<System> hold their operand systems as shared_ptr<System>. Per-thread path tracking needs each thread to own its mutable evaluation state, so structured-block systems need a deep clone of the block operands — not a shared pointer copy.

Proposal

Implement deep-clone of block operands (shared design point between RandomizationBlock and BlendBlock) so that structured-block systems can be tracked in parallel safely.

Notes

  • Currently a shared limitation of both operand-wrapping blocks.
  • Prerequisite for parallel tracking of randomized / blended / moving homotopies (and thus for a performant regeneration cascade).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions