radiance icon indicating copy to clipboard operation
radiance copied to clipboard

Replace "frozen" model concept with "owner"

Open zbanks opened this issue 6 years ago • 0 comments

#98 was a half-baked attempt at implementing "frozen" nodes & edges in the model, so that the user couldn't mess with the nodes that AutoDJ was also trying to manipulate.

Problems/rationale:

  • It's buggy. Freezing parameters still lets you change the slider but it isn't connected. (Unfreezing parameters doesn't work?)
  • "Frozen input" & "frozen output" shouldn't be node properties: the edges themselves should be frozen. We can assume it doesn't make sense to freeze an empty input/output.
  • For the physical controller I'm working on, that will also want to freeze nodes & edges so the user cannot change the graph from the UI (they have to use the physical controller). This is separate from the AutoDJ.

Fix:

  • Remove frozenOutput/frozenInput from VideoNode; replace them with an owner of the Edge in the Model.
    • Owner is a string identifier, right now either "ui" or "autodj".
  • Replace frozenParameters from VideoNode with owner
  • All Model-modifying actions take an optional owner, and only modify nodes/edges with matching owner. Creating new nodes/edges sets the given owner.

zbanks avatar Jul 29 '19 11:07 zbanks