Bug
When a config field is left blank in the UI config editor, it saves as "" (empty string) in graph.json instead of null or omitting the key. This causes from_args to pass the empty string to __init__, which fails when the parameter expects a numeric type.
Example: VRChatVideo has fps: int = 30. Leaving it blank saves "fps": "", which causes:
TypeError: unsupported operand type(s) for /: 'float' and 'str'
Expected behavior
- Empty config fields should be saved as
null in JSON, or the key should be omitted
from_args should skip null/empty-string values and let the __init__ default apply
Affected code
- Frontend: config editor input handling (saves
"" instead of null)
- Backend:
src/core/component.py from_args() — no type coercion or empty-string handling
Bug
When a config field is left blank in the UI config editor, it saves as
""(empty string) ingraph.jsoninstead ofnullor omitting the key. This causesfrom_argsto pass the empty string to__init__, which fails when the parameter expects a numeric type.Example:
VRChatVideohasfps: int = 30. Leaving it blank saves"fps": "", which causes:Expected behavior
nullin JSON, or the key should be omittedfrom_argsshould skipnull/empty-string values and let the__init__default applyAffected code
""instead ofnull)src/core/component.pyfrom_args()— no type coercion or empty-string handling