Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[core/ui] Add support for nodes with no computation #2364

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

Just-Kiel
Copy link
Contributor

@Just-Kiel Just-Kiel commented Apr 9, 2024

Node without computation implemented with creation of InputNode class for easy description of Node.

Also changes for UI :

  • Hide buttons in menu for Compute, Submit...
  • Different header color to see the difference
  • Tabs depending on chunks hidden
  • Output Attributes in Viewer2D doesn't include "Image gallery" when displayedNode is not computable

@Just-Kiel Just-Kiel self-assigned this Apr 9, 2024
@cbentejac cbentejac marked this pull request as draft April 10, 2024 17:18
@Just-Kiel Just-Kiel marked this pull request as ready for review April 11, 2024 10:18
@cbentejac cbentejac changed the title [core/ui] Node without computation implemented [core/ui] Add support for nodes with no computation Apr 19, 2024
@cbentejac cbentejac added this to the Meshroom 2024.1.0 milestone Apr 19, 2024
Copy link
Contributor

@cbentejac cbentejac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested, works well, and the whole implementation is clean.

Tiny cosmetic changes to do, and see if we can come up with something that's less oriented than "InputNode" for the class' name.

It would also be good to add the upgrade of these nodes in the tests (https://github.com/alicevision/Meshroom/blob/develop/tests/test_compatibility.py).

meshroom/ui/qml/GraphEditor/NodeEditor.qml Outdated Show resolved Hide resolved
meshroom/ui/qml/GraphEditor/NodeEditor.qml Outdated Show resolved Hide resolved
meshroom/ui/qml/GraphEditor/NodeEditor.qml Outdated Show resolved Hide resolved
meshroom/core/node.py Outdated Show resolved Hide resolved
meshroom/core/taskManager.py Outdated Show resolved Hide resolved
@@ -587,6 +587,13 @@ def stopProcess(self, chunk):
def processChunk(self, chunk):
raise NotImplementedError('No processChunk implementation on node: "{}"'.format(chunk.node.name))

class InputNode(Node):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely satisfied with using "InputNode" for non-computable nodes because I feel like there could be other use cases, but I unfortunately don't have a much better idea to designate them 😒

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think of "ValueNode" ?
I feel like that it might better because it would not be necessarily in input.

@cbentejac cbentejac marked this pull request as draft April 20, 2024 14:46
@Just-Kiel Just-Kiel marked this pull request as ready for review April 23, 2024 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants