New notion of local isolated computation for python nodes using meshroom_compute

Reoganization
- BaseNode: is the base class for all nodes
- Node: is now dedicated to python nodes, with the implentation directly
in the process function
- CommandLineNode: dedicated to generate and run external command lines
This commit is contained in:
Fabien Castan 2025-03-24 00:03:45 +01:00
parent faece7efca
commit 727a4d129b
6 changed files with 288 additions and 152 deletions

View file

@ -168,6 +168,7 @@ class _NodeCreator:
def _createNode(self) -> Node:
logging.info(f"Creating node '{self.name}'")
# TODO: user inputs/outputs may conflicts with internal names (like position, uid)
return Node(
self.nodeType,
position=self.position,
@ -187,7 +188,7 @@ class _NodeCreator:
"""Handle possible upgrades of CompatibilityNodes, when no computed data is associated to the Node."""
if node.issue == CompatibilityIssue.UnknownNodeType:
return node
# Nodes in templates are not meant to hold computation data.
if self.inTemplate:
logging.warning(f"Compatibility issue in template: performing automatic upgrade on '{self.name}'")