Skip to content

v1.0.7.4

Choose a tag to compare

@bobbycomet bobbycomet released this 07 Aug 05:50
· 40 commits to main since this release
7ec61fa

1.0.7.4 — Collision fix

The cause

v1.0.7.3

When I imported the missing extras, Lua_gen had no defense against the collision, so it went unnoticed at first glance, as everything looked correct.

Fixed

  • Logic plugin ID collisions with built-ins. Seven plugins reused flat logic.* type ids already claimed by core nodes, which could raise on register, silently no-op (deadzone), or overwrite codegen templates:
    • logic.thresholdlogic.plugin.threshold
    • logic.deadzonelogic.plugin.deadzone
    • logic.smoothlogic.plugin.smooth
    • logic.roundlogic.plugin.round
    • logic.boolean_andlogic.plugin.boolean_and
    • logic.boolean_orlogic.plugin.boolean_or
    • logic.picklogic.plugin.pick
  • Codegen duplicate registration_LOGIC_GENERATORS / _VISUAL_GENERATORS now raise ValueError on a second registration of the same type instead of silently overwriting (matches the registry’s intent; plugins must use unique ids such as logic.plugin.* / visual.plugin.*).

Added

  • logic_generators_extra.py — Lua generators for the extra logic nodes (smooth, rate_of_change, hysteresis, string_join, enum_map) so they compile once those modules are imported.
  • Local string/literal helpers in that module so it does not circular-import lua_gen during startup.

Notes / required wiring

  • Projects that still reference the old plugin type strings need a one-time retarget to the logic.plugin.* ids (or a loader migration). Just uninstall the plugin, exit the plugin window, refetch the list, and reinstall. This will fix the collision issues.
  • Visual plugins were already namespaced as visual.plugin.*; no change there.