Skip to content

Property engine: change propagation (deferred) #220

Open

Description

@petlenz

Deferred. Opened so the design and its trigger are recorded.

Why not now

Constant folding is the only incremental part of update(); everything else runs every time. In the FFT solver the strain changes at every voxel and every iteration, and each voxel loads its own history, so nearly everything would rerun anyway. Change propagation pays off only in hosts that hold the strain fixed while something else changes (temperature-only updates, parameter studies). No current host does that.

Design, when needed

Risk

A skipped callback that has side effects, or reads something it did not declare, gives stale values silently. The read check catches undeclared reads only in debug builds.

Trigger

The first host that updates with the strain held fixed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions