radiance
radiance copied to clipboard
Replace "frozen" model concept with "owner"
#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/frozenInputfromVideoNode; replace them with anownerof the Edge in the Model.- Owner is a string identifier, right now either "ui" or "autodj".
- Replace
frozenParametersfromVideoNodewithowner - All
Model-modifying actions take an optionalowner, and only modify nodes/edges with matching owner. Creating new nodes/edges sets the given owner.