Don't overwrite pre-registered primitives in _load_primitives
This commit is contained in:
@@ -189,7 +189,10 @@ class StreamInterpreter:
|
||||
prim_name = name[5:]
|
||||
dash_name = prim_name.replace('_', '-')
|
||||
# Register ONLY with namespace (geometry:ripple-displace)
|
||||
self.primitives[f"{lib_name}:{dash_name}"] = func
|
||||
# Don't overwrite if already registered (allows pre-registration of overrides)
|
||||
key = f"{lib_name}:{dash_name}"
|
||||
if key not in self.primitives:
|
||||
self.primitives[key] = func
|
||||
count += 1
|
||||
|
||||
if hasattr(module, 'PRIMITIVES'):
|
||||
@@ -197,9 +200,12 @@ class StreamInterpreter:
|
||||
if isinstance(prims, dict):
|
||||
for name, func in prims.items():
|
||||
# Register ONLY with namespace
|
||||
# Don't overwrite if already registered
|
||||
dash_name = name.replace('_', '-')
|
||||
self.primitives[f"{lib_name}:{dash_name}"] = func
|
||||
count += 1
|
||||
key = f"{lib_name}:{dash_name}"
|
||||
if key not in self.primitives:
|
||||
self.primitives[key] = func
|
||||
count += 1
|
||||
|
||||
print(f"Loaded primitives: {lib_name} ({count} functions)", file=sys.stderr)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user