Commit graph

4544 commits

Author SHA1 Message Date
Fabien Castan
ee679fcf34
Merge pull request #2700 from dyster/patch-1
change git clone link to use https link in "get the project"
2025-04-13 13:50:55 +02:00
dyster
b4f7121e9c
change git clone link to use https link in "get the project" 2025-03-19 20:49:53 +00:00
Fabien Castan
bb9df08213
Merge pull request #2697 from alicevision/dev/addAVNodes
Move nodes and templates to AliceVision's repository
2025-03-19 12:00:56 +01:00
Candice Bentéjac
c3e8b8833f [core] checkTemplateVersions: Ensure nodes are not loaded several times
By performing a `initNodes()` every single time `checkTemplateVersions`
was called without ever unregistering the nodes, warnings about nodes
being already registered were raised when for example calling
`checkAllTemplatesVersions`.
2025-03-18 14:04:06 +00:00
Candice Bentéjac
ee5e9401ce [tests] Rewrite test_nodeCommandLineFormatting using test nodes
The tests in that file were using AliceVision nodes, which are now out
of Meshroom's repository.
2025-03-17 18:34:21 +01:00
Candice Bentéjac
cfa33b6442 [core] Add a test.py file that contains sanity methods used for validation
For now, it contains methods allowing to check whether a template provided
as an argument is valid (i.e. has no compatibility issue).

It performs a check that's very similar to what `test_templatesVersions`
was doing, but it allows this check to be performed from outside of
Meshroom.
2025-03-17 17:05:56 +01:00
Candice Bentéjac
2fe7cfe95e [tests] Remove test_templatesVersion
This test checked that every node in all the available templates was free
of any compatibility issue. As templates are not provided with
Meshroom, it is not needed anymore.
2025-03-17 17:05:56 +01:00
Candice Bentéjac
752b63054d [tests] Update test_multiviewPipeline with test nodes and template
`test_multiviewPipeline` relied on the photogrammetry template and its
nodes, which are not a part of Meshroom anymore.

The test is rewritten to check the same items (serialization, graph
equality, etc.) but using dedicated test nodes (which already existed)
and template, which is added with this commit.

The path of the template is added to `MESHROOM_PIPELINE_TEMPLATES_PATH`
when loading the test module.
2025-03-17 17:05:55 +01:00
Candice Bentéjac
f5b79f6d39 [core] Update initPipelines following removal of the "pipelines" folder
Since the "pipelines" folder does not exist anymore in Meshroom, there
is no use to try and look for any file in it. Instead, we now only look
for the paths that have been provided with the
`MESHROOM_PIPELINE_TEMPLATES_PATH` environment variable.
2025-03-17 16:47:12 +01:00
Candice Bentéjac
cf29a6db74 [nodes] Remove the "aliceVision" and "blender" folders
The nodes contained in these folders, except for the `Publish` node,
are all moved to AliceVision's repository.
2025-03-17 12:37:30 +01:00
Candice Bentéjac
95ebf83c18 [nodes] Add a "general" folder and move the Publish node in it
The `Publish` node will remain the only default node that comes with
Meshroom.
2025-03-17 12:36:05 +01:00
Candice Bentéjac
15414c1984 Remove all default templates from Meshroom
These templates are moved to AliceVision's repository.
2025-03-17 12:29:37 +01:00
Fabien Castan
09720f6be1
Merge pull request #2696 from alicevision/dev/surveyInjecting
Node to inject survey points in the SFM
2025-03-17 10:53:40 +01:00
Fabien Castan
84769a0d01
Merge pull request #2695 from alicevision/fix/computationTime
[core] Node: Status should be `NONE` when there is no chunk
2025-03-12 12:45:18 +01:00
Candice Bentéjac
df7e6f8845 [core] Node: Status should be NONE when there is no chunk
Prior to this commit, nodes with a varying number of chunks were initialized with an empty list of chunks (as expected), but with a global status that was set to `SUCCESS` instead of `NONE`. This caused issue on the graphical side as `SUCCESS` is interpreted as the status for nodes that have been successfully computed.
2025-03-12 10:40:46 +00:00
Fabien Servant
d8f3a25b67 Injecting survey points 2025-03-11 11:40:35 +01:00
Fabien Castan
08614a398d
Merge pull request #2693 from alicevision/dev/relativePathsUpdate
[nodes] Replace `desc.Node.internalFolder` with `{nodeCacheFolder}`
2025-03-10 15:05:33 +01:00
Candice Bentéjac
091dbddcd3 [nodes] Replace desc.Node.internalFolder with {nodeCacheFolder}
For nodes that were added right before the merge of #2629, the replacement
still needed to be done.
2025-03-10 11:29:28 +00:00
Candice Bentéjac
21afd053f8
Merge pull request #2629 from alicevision/dev/relativePaths
Add relative paths to nodes as variables
2025-03-10 10:48:09 +00:00
Candice Bentéjac
aa0943e4bf
Merge pull request #2668 from alicevision/dev/exportImages
[nodes] Add nodes for versatile image exporting
2025-03-06 13:45:39 +00:00
Candice Bentéjac
ef33aabe5e [nodes] ExportImages: Fix category and namingMode parameter
Change the category to "Export" instead of "Utils" and align the
default value of the `namingMode` parameter with the one used in the
AliceVision's executable. Moreover, the value "viewId" was incorrect,
as "viewid" if the expected one.
2025-03-06 14:42:48 +01:00
Fabien Servant
92cc5b7cb2 images export nodes 2025-03-06 11:09:18 +00:00
Candice Bentéjac
2c06ea4870 [GraphEditor] Use attribute's evaluated value for "Open File"
Otherwise, input attributes with variables (either environment ones
or local ones) cannot be opened through "Open File", even though "Open
Containing Folder" works fine.
2025-03-05 13:36:34 +00:00
Candice Bentéjac
6b9e76d95a [nodes] ScenePreview: Use {nodeSourceCodeFolder} for the script's path 2025-03-05 13:36:34 +00:00
Candice Bentéjac
e0b2aafae3 [core] Attribute: Strip ending "/" from invalidation values
By doing so, invalidation values will evaluate to the same UID
independently from whether the attribute's value has been written
with an extra "/" or not.
2025-03-05 13:36:34 +00:00
Candice Bentéjac
8afc9adad3 [core] Node: Resolve nodeCacheFolder without cache for outputs 2025-03-05 13:36:33 +00:00
Candice Bentéjac
dafb7be688 [nodes] CameraInit: Use node's internal folder instead of the description's 2025-03-05 13:36:33 +00:00
Candice Bentéjac
23901c502b [desc] Remove internalFolder in desc.Node
This is fully replaced with `{nodeCacheFolder}`.
2025-03-05 13:36:32 +00:00
Candice Bentéjac
53de9090ca [tests] Replace desc.Node.internalFolder with {nodeCacheFolder} 2025-03-05 13:36:32 +00:00
Candice Bentéjac
2290c12da2 [nodes] Replace desc.Node.internalFolder with {nodeCacheFolder} 2025-03-05 13:36:31 +00:00
Candice Bentéjac
6cbb97d9a8 [core] Add default relative paths to the command line variables
Add 2 default entries to the command line variables:
- `nodeCacheFolder`, which contains the location of the cache folder
- `nodeSourceCodeFolder`, which contains the location of the file
describing the node
2025-03-05 13:26:53 +00:00
Candice Bentéjac
40fd46d476 [core] Node: Add a sourceCodeFolder property
This property stores the location of the source code for a given node
and is not exposed to the QML side.
2025-03-05 13:26:53 +00:00
Candice Bentéjac
5791bdb1bd
Merge pull request #2682 from alicevision/dev/choiceParamValuesOverride
ChoiceParam: add option to serialize overriden values
2025-03-05 10:19:42 +00:00
Candice Bentéjac
2f05261564
Merge pull request #2686 from alicevision/fix/attributeEditorTextField
[ui] AttributeEditor: Generic TextField param editor improvements
2025-02-27 11:36:09 +00:00
Yann Lanthony
634197583c [ui] AttributeEditor: Generic TextField param editor improvements
* Use disabled text color when attribute is readonly.
* Improved UX: text cursor on mouse hovering.
* Simplify context menu handling.
2025-02-26 15:24:21 +01:00
demoulinv
f901f814f7
Merge pull request #2667 from alicevision/dev/usdSupport
Export USD Node
2025-02-26 10:57:11 +01:00
Yann Lanthony
5a66087eac
Merge pull request #2680 from alicevision/fix/jsParamInjection
[qml] Fix QML warnings when dropping project files into the Graph Editor
2025-02-25 17:39:18 +01:00
Yann Lanthony
fb3c1b5718
Merge pull request #2678 from alicevision/fix/emptyPipelineMenu
[GraphEditor] Only display "Pipelines" menu when templates are available
2025-02-25 17:38:47 +01:00
Candice Bentéjac
6bdf50ae69
Merge pull request #2683 from alicevision/fix/qmlInvalidTyping
[ui] Application: fix save-as dialog not working properly (Qt6.7+)
2025-02-24 13:21:19 +00:00
Yann Lanthony
cdb25e28df [ui] Application: fix save-as dialog not working properly (Qt6.7+)
Since Qt 6.7, type annotations are enforced at runtime.
Typing the `sourceSaveDialog` as Dialog (or Platform.FileDialog) breaks the value received by the function and its behavior.
2025-02-21 18:18:15 +01:00
Yann Lanthony
062bc3ca28 [core] ChoiceParam: add option to serialize overriden values
Introduce a new `saveValuesOverride` parameter on desc.ChoiceParam to define
whether to serialize the list of possible values if they have been overridden at runtime.
2025-02-21 10:45:26 +01:00
Candice Bentéjac
8ee7b50204 [nodes] Fix labels and descriptions for some nodes 2025-02-20 12:56:39 +01:00
Candice Bentéjac
54c8bfefa8 [pipelines] Experimental: Align nodes and apply correct colors 2025-02-20 12:56:39 +01:00
Candice Bentéjac
bfb9ee3272 [GraphEditor] Convert file to string before testing its extension
This fixes the "Property 'endsWith' of object file xxx is not a function"
warning.
2025-02-20 11:06:07 +01:00
Candice Bentéjac
e214868d81 [ui] Fix injections into signal handlers with JS functions 2025-02-20 11:06:06 +01:00
Candice Bentéjac
1fbf42a3f4 [GraphEditor] Only display "Pipelines" menu when templates are available
In the node menu (displayed when pressing "Tab" or right-clicking in the
Graph Editor), the "Pipelines" menu entry used to be displayed even if
there was no available template (the entry would open to display an
empty list).

This commit adds a check to ensure that the "Pipelines" menu is only
added to the node menu if there is at least one template that is
available. Otherwise, it is not displayed.
2025-02-19 15:14:27 +01:00
Yann Lanthony
b29bcfe0c5
Merge pull request #2676 from alicevision/fix/qmlComponentsRegistration
[ui] app: Register components to QML before instantiating the engine
2025-02-19 12:20:03 +01:00
Candice Bentéjac
96a9757f5c [ui] app: Register components to QML before instantiating the engine 2025-02-18 18:15:19 +01:00
Candice Bentéjac
6355037036
Merge pull request #2671 from alicevision/dev/nodeCreationCallback
NodeAPI: Trigger node creation callback only for explicit new node creation
2025-02-18 18:07:25 +01:00
Fabien Castan
550f685c07
Merge pull request #2675 from alicevision/fix/cliRecentProjectFiles
Fix Meshroom App CLI `latest` option
2025-02-17 23:35:20 +01:00