Every module panel was decoration. The values lived in the browser and nothing sent them, so a modifier switched on was one the run never heard about. They now travel with the pipeline on every check, and core places them wherever a module says they belong -- announced, not known, so the node that carries them is not privileged. Settings with nowhere to go are said beside Generate rather than swallowed, and the warning survives the run it is about: the status line is redrawn by every message, so a warning put there was gone the moment the run said Queued. Also: a settings row in a docked panel squeezed its label to one word per line, because the control keeps a 140px floor and took it out of the label. Below the width where they fit side by side, they stack.
24 lines
643 B
Python
24 lines
643 B
Python
"""The modifier nodes. A node-only module."""
|
|
|
|
from .nodes import FunPackLoadModifiers, FunPackModifierSettings
|
|
|
|
ID = "sampling_modifiers"
|
|
TITLE = "Modifiers"
|
|
STAGE = "sampling"
|
|
STATUS = "proven"
|
|
|
|
NODES = [FunPackModifierSettings, FunPackLoadModifiers]
|
|
|
|
|
|
def settings_sink():
|
|
"""Where the values a person picked belong in a graph.
|
|
|
|
Announced rather than known: core places the app's settings into whatever a
|
|
module says accepts them, so this node is not privileged, it is merely the
|
|
one that volunteered.
|
|
"""
|
|
return {"node": "FunPackModifierSettings", "input": "settings"}
|
|
|
|
|
|
PROVIDES = {"settings_sink": settings_sink}
|