Node-based Visual Programming Toolbox
This report summarizes scanner evidence for alicevision/Meshroom, a Python project with 13,002 GitHub stars. SynthScan examined 40,564 lines of code across 195 source files, recording 507 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 28.9 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 206 finding(s).
Are imports declared and package/API names verified? 127 finding(s).
Are wrappers, guards, and repeated structures necessary? 269 finding(s).
Which changes need focused human review? 507 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 507 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | meshroom/ui/graph.py | 1327 | self.push(commands.AddEdgeCommand(self._graph, src, dst)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1333 | self.push(commands.RemoveEdgeCommand(self._graph, edge)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1336 | self.push(commands.RemoveEdgeCommand(self._graph, edge)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1382 | self.push(commands.SetAttributeCommand(self._graph, attribute, attribute.getDefaultValue())) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1387 | self.push(commands.AddAttributeKeyValueCommand(self._graph, attribute, key, value)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1392 | self.push(commands.AddAttributeKeyValueCommand(self._graph, attribute, key, attribute.getDefaultValue())) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1397 | self.push(commands.RemoveAttributeKeyCommand(self._graph, attribute, key)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1405 | self.push(commands.SetObservationCommand(self._graph, shape, key, observation)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1410 | self.push(commands.SetObservationCommand(self._graph, shape, key, observation)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1415 | self.push(commands.RemoveObservationCommand(self._graph, shape, key)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1420 | return self.push(commands.UpgradeNodeCommand(self._graph, node)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1445 | self.push(commands.ListAttributeAppendCommand(self._graph, attribute, pyValue)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1449 | self.push(commands.ListAttributeRemoveCommand(self._graph, attribute)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1455 | self.push(commands.RemoveAnySetAttributeCommand(self._graph, attribute)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1461 | self.push(commands.RenameAnySetAttributeCommand(self._graph, attribute, name, label)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1467 | self.push(commands.MoveAnySetAttributeCommand(self._graph, attribute, offset)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1500 | self.push(commands.RemoveSelectedImagesCommand(self._graph, self.cameraInit, images)) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1506 | self.push(commands.RemoveImagesCommand(self._graph, [self.cameraInit])) | CODE |
| HIGH⚡ | meshroom/ui/graph.py | 1512 | self.push(commands.RemoveImagesCommand(self._graph, list(self.cameraInits))) | CODE |
| HIGH | meshroom/ui/graph.py | 571 | localFile = filepath.toString() | CODE |
| HIGH | meshroom/ui/graph.py | 577 | return self.push(commands.ImportProjectCommand(self._graph, localFile, position=position, yOffset=yOffset)) | CODE |
| HIGH | meshroom/ui/graph.py | 1005 | return self.push(commands.AddNodeCommand(self._graph, nodeType, position=position, **kwargs)) | CODE |
| HIGH | meshroom/ui/graph.py | 1031 | return self.push(commands.RenameNodeCommand(self._graph, node, uniqueName)) | CODE |
| HIGH | meshroom/ui/graph.py | 1041 | self.push(commands.MoveNodeCommand(self._graph, node, position)) | CODE |
| HIGH | meshroom/ui/graph.py | 1167 | self.push(commands.RemoveNodeCommand(self._graph, node)) | CODE |
| HIGH | meshroom/ui/graph.py | 1205 | duplicates = self.push(commands.DuplicateNodesCommand(self._graph, nodes)) | CODE |
| HIGH | meshroom/ui/graph.py | 1311 | self.push(commands.ConnectAnySetCommand(self._graph, src=dst, anySetAttribute=src)) | CODE |
| HIGH | meshroom/ui/graph.py | 1313 | self.push(commands.ConnectAnySetCommand(self._graph, src=src, anySetAttribute=dst)) | CODE |
| HIGH | meshroom/ui/graph.py | 1370 | self.push(commands.SetAttributeCommand(self._graph, attribute, value)) | CODE |
| HIGH | meshroom/ui/graph.py | 1649 | result = self.push(commands.PasteNodesCommand(self._graph, graphData, pos)) | CODE |
| HIGH | meshroom/ui/scene.py | 522 | return url.toLocalFile() or url.toString() | CODE |
| HIGH | meshroom/ui/scene.py | 904 | p = imagePath.toString() | CODE |
| HIGH | meshroom/ui/app.py | 637 | filepathNorm = filepath.toString() | STRING |
| HIGH | meshroom/ui/app.py | 662 | folderPath = imagesFolder.toString() | STRING |
| HIGH | meshroom/ui/app.py | 697 | folderPath = imagesFolder.toString() | STRING |
| HIGH⚡ | meshroom/ui/commands.py | 72 | self.push(command) # takes ownership | CODE |
| HIGH | meshroom/ui/components/scene3D.py | 122 | z = r2 * 0.5 / p2d.length() | CODE |
| HIGH⚡ | meshroom/ui/components/scene3D.py | 159 | A = A/A.length() | CODE |
| HIGH⚡ | meshroom/ui/components/scene3D.py | 160 | B = B/B.length() | CODE |
| HIGH⚡ | meshroom/ui/components/scene3D.py | 164 | s = v.length() | CODE |
| HIGH | meshroom/ui/components/scene3D.py | 452 | value = screenVector.length() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CMakeLists.txt | 29 | # ============================================================================== | COMMENT |
| MEDIUM | CMakeLists.txt | 33 | # ============================================================================== | COMMENT |
| MEDIUM | setupInitScriptUnix.py | 1 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | setupInitScriptUnix.py | 9 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 192 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_anySet_attribute.py | 194 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_attributeDescDefaults.py | 123 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_attributeDescDefaults.py | 125 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_attributeDescDefaults.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_attributeDescDefaults.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_attributeDescDefaults.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_attributeDescDefaults.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_attributeDescDefaults.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_attributeDescDefaults.py | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 18 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 20 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 75 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 77 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/nodes/test/AllAttributesNodes.py | 95 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/nodes/test/AllAttributesNodes.py | 97 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/nodes/test/AllAttributesNodes.py | 107 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/nodes/test/AllAttributesNodes.py | 109 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 175 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 177 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 193 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 195 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 223 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 225 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 238 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 240 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 254 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/nodes/test/AllAttributesNodes.py | 256 | # ----------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 14 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 17 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 85 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 91 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 112 | # ── Create the release if it doesn't exist yet ────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 124 | # ── Replace assets ─────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 147 | # ── Update release body ────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/nightly.yml | 169 | # ── Move the nightly tag to current HEAD ────── | COMMENT |
| MEDIUM | .github/workflows/run-tests.yml | 38 | # ── Primary Python environment ─────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/run-tests.yml | 51 | # ── Lint ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/run-tests.yml | 59 | # ── Tests ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/run-tests.yml | 81 | # ── meshroom_compute smoke test (Python 3.9) ───────────── | COMMENT |
| MEDIUM | .github/workflows/run-tests.yml | 101 | # ── meshroom_compute smoke test (Python 3.7) ───────────── | COMMENT |
| MEDIUM | localfarm/localFarmBackend.py | 414 | # ====================== | COMMENT |
| MEDIUM | localfarm/localFarmBackend.py | 416 | # ====================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | tests/test_groupAttributes.py | 193 | nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 195 | nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 197 | nestedPosition.xyz.test.z.inputLink.asLinkExpr() == nestedColor.rgb.test.b.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 219 | nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 221 | nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 223 | nestedPosition.xyz.test.z.inputLink.asLinkExpr() == nestedColor.rgb.test.b.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 249 | nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 251 | nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 253 | nestedPosition.xyz.test.z.inputLink.asLinkExpr() == nestedColor.rgb.test.b.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 270 | nestedPosition.xyz.test.x.inputLink.asLinkExpr() == nestedColor.rgb.test.r.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 272 | nestedPosition.xyz.test.y.inputLink.asLinkExpr() == nestedColor.rgb.test.g.asLinkExpr() | CODE |
| CRITICAL⚡ | tests/test_groupAttributes.py | 274 | nestedPosition.xyz.test.z.inputLink.asLinkExpr() == r.asLinkExpr() == nestedColor.rgb.r.asLinkExpr() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_anySet_attribute.py | 166 | except ValueError: | CODE |
| HIGH | tests/test_compute.py | 634 | except Exception: | CODE |
| HIGH | docs/source/_ext/fetch_md.py | 52 | except FileNotFoundError: | CODE |
| HIGH | meshroom/multiview.py | 163 | except (StopIteration, OSError): | CODE |
| HIGH | meshroom/ui/components/logLinesModel.py | 266 | except ValueError: | CODE |
| HIGH | meshroom/ui/components/shapes/shapeFilesHelper.py | 77 | except RuntimeError: | CODE |
| HIGH | meshroom/ui/components/shapes/shapeFilesHelper.py | 61 | except RuntimeError: | CODE |
| HIGH | meshroom/core/cgroup.py | 28 | except OSError: | CODE |
| HIGH | meshroom/core/cgroup.py | 41 | except OSError: | CODE |
| HIGH | meshroom/core/cgroup.py | 85 | except OSError: | CODE |
| HIGH | meshroom/core/cgroup.py | 99 | except OSError: | CODE |
| HIGH | meshroom/core/graph.py | 1164 | except StopGraphVisit: | CODE |
| HIGH | meshroom/core/graph.py | 1170 | except StopBranchVisit: | CODE |
| HIGH | meshroom/core/graph.py | 1896 | except Exception: | CODE |
| HIGH | meshroom/core/__init__.py | 14 | except Exception: | CODE |
| HIGH | meshroom/core/taskManager.py | 84 | except ValueError: | CODE |
| HIGH | meshroom/core/stats.py | 340 | except (KeyboardInterrupt, SystemError, GeneratorExit, psutil.NoSuchProcess): | CODE |
| HIGH | meshroom/core/node.py | 43 | except OSError: | CODE |
| HIGH | meshroom/core/node.py | 2471 | except ValueError: | CODE |
| HIGH | meshroom/core/node.py | 2492 | except ValueError: | CODE |
| HIGH | meshroom/core/desc/node.py | 293 | except ValueError: | CODE |
| HIGH | meshroom/core/desc/node.py | 517 | except psutil.NoSuchProcess: | CODE |
| HIGH | meshroom/core/desc/node.py | 493 | except Exception: | CODE |
| HIGH | meshroom/common/PySignal.py | 128 | except ValueError: | CODE |
| HIGH | meshroom/common/PySignal.py | 134 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_submit.py | 122 | except Exception as e: | CODE |
| LOW | tests/test_compute.py | 634 | except Exception: | CODE |
| LOW | meshroom/ui/graph.py | 690 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 716 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 739 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 766 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 788 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 806 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 824 | except Exception as e: | CODE |
| LOW | meshroom/ui/graph.py | 869 | except Exception as e: | CODE |
| LOW | meshroom/ui/scene.py | 111 | except Exception as exc: | CODE |
| LOW | meshroom/ui/scene.py | 147 | except Exception: | CODE |
| LOW | meshroom/ui/scene.py | 548 | except Exception: | CODE |
| LOW | meshroom/ui/scene.py | 914 | except Exception as exc: | CODE |
| LOW | meshroom/ui/scene.py | 960 | except Exception as exc: | CODE |
| LOW | meshroom/ui/scene.py | 1261 | except Exception as err: | CODE |
| LOW | meshroom/ui/utils.py | 8 | except Exception: | CODE |
| LOW | meshroom/ui/app.py | 445 | except Exception as err: | STRING |
| LOW | meshroom/ui/commands.py | 29 | except Exception: | CODE |
| LOW | meshroom/ui/commands.py | 37 | except Exception: | CODE |
| LOW⚡ | meshroom/ui/commands.py | 67 | except Exception: | CODE |
| LOW | meshroom/ui/commands.py | 867 | except Exception: | CODE |
| LOW | meshroom/ui/commands.py | 908 | except Exception: | CODE |
| LOW | meshroom/ui/components/scriptEditor.py | 67 | except Exception: | CODE |
| LOW | meshroom/ui/components/thumbnail.py | 262 | except Exception as exc: | CODE |
| LOW | meshroom/ui/components/csvData.py | 78 | except Exception as exc: | CODE |
| MEDIUM⚡ | meshroom/ui/components/shapes/shapeFile.py | 197 | print(f"Error decoding JSON: {err}") | CODE |
| LOW⚡ | meshroom/ui/components/shapes/shapeFile.py | 198 | except Exception as exc: | CODE |
| MEDIUM⚡ | meshroom/ui/components/shapes/shapeFile.py | 199 | print(f"Error loading shapes: {exc}") | CODE |
| LOW | meshroom/core/attribute.py | 361 | except Exception as err: | CODE |
| LOW | meshroom/core/attribute.py | 385 | except Exception as exc: | CODE |
| LOW | meshroom/core/attribute.py | 582 | except Exception as exc: | CODE |
| LOW | meshroom/core/evaluation.py | 50 | except Exception: | CODE |
| LOW | meshroom/core/graph.py | 60 | except Exception: | CODE |
| LOW | meshroom/core/graph.py | 936 | except Exception: | CODE |
| LOW | meshroom/core/graph.py | 1707 | except Exception as e: | CODE |
| LOW | meshroom/core/graph.py | 1896 | except Exception: | CODE |
| LOW | meshroom/core/graph.py | 1999 | except Exception as exc: | CODE |
| LOW | meshroom/core/graph.py | 2048 | except Exception as exc: | CODE |
| MEDIUM | meshroom/core/graph.py | 1167 | def dfsVisit(self, u, visitor, colors, nodeChildren, longestPathFirst): | CODE |
| LOW | meshroom/core/__init__.py | 14 | except Exception: | CODE |
| LOW | meshroom/core/taskManager.py | 111 | except Exception as exc: | CODE |
| LOW | meshroom/core/taskManager.py | 158 | except Exception as exc: | CODE |
| LOW | meshroom/core/taskManager.py | 174 | except Exception as exc: | CODE |
| LOW | meshroom/core/taskManager.py | 222 | except Exception as e: | CODE |
| LOW | meshroom/core/taskManager.py | 600 | except Exception as exc: | CODE |
| LOW | meshroom/core/stats.py | 86 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 101 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 107 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 112 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 118 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 124 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 132 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 302 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 306 | except Exception as exc: | CODE |
| LOW⚡ | meshroom/core/stats.py | 310 | except Exception as exc: | CODE |
| MEDIUM | meshroom/core/stats.py | 76 | def update(self): | CODE |
| MEDIUM | meshroom/core/node.py | 913 | def __getattr__(self, k): | CODE |
| LOW | meshroom/core/node.py | 221 | except Exception as e: | CODE |
| LOW | meshroom/core/node.py | 592 | except Exception as exc: | CODE |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_template_files.py | 28 | def test_template_file_detection_from_extension_and_legacy_metadata(tmp_path): | CODE |
| LOW | tests/test_template_files.py | 42 | def test_template_initialization_does_not_bind_filepath(tmp_path): | CODE |
| LOW | tests/test_template_files.py | 53 | def test_template_extension_is_appended_for_template_saves(): | CODE |
| LOW | tests/test_template_files.py | 65 | def test_pipeline_template_discovery_supports_mgt_and_legacy_mg_metadata(tmp_path): | CODE |
| LOW | tests/test_template_files.py | 88 | def test_plugin_template_discovery_supports_mgt_and_legacy_mg_metadata(tmp_path): | CODE |
| LOW⚡ | tests/test_compatibility.py | 237 | def test_description_conflict(): | CODE |
| LOW⚡ | tests/test_anySet_attribute.py | 27 | def test_dynamic_attribute_desc_type(): | CODE |
| LOW⚡ | tests/test_anySet_attribute.py | 33 | def test_dynamic_attribute_desc_instance_type(): | CODE |
| LOW⚡ | tests/test_anySet_attribute.py | 43 | def test_dynamic_attribute_present_on_node(): | CODE |
| LOW⚡ | tests/test_anySet_attribute.py | 55 | def test_dynamic_attribute_validates_any_connection(): | CODE |
| LOW⚡ | tests/test_anySet_attribute.py | 69 | def test_add_dynamic_input_creates_sibling_attribute(): | CODE |
| LOW⚡ | tests/test_anySet_attribute.py | 196 | def test_dynamic_inputs_serialized_in_todict(): | CODE |
| LOW | tests/test_anySet_attribute.py | 95 | def test_remove_dynamic_input(): | CODE |
| LOW | tests/test_anySet_attribute.py | 113 | def test_anyset_attribute_can_be_restored_with_edges(): | CODE |
| LOW | tests/test_anySet_attribute.py | 139 | def test_rename_anyset_attribute_updates_name_label_and_keeps_edges(): | CODE |
| LOW | tests/test_anySet_attribute.py | 157 | def test_rename_anyset_attribute_rejects_duplicate_name(): | CODE |
| LOW | tests/test_anySet_attribute.py | 172 | def test_move_anyset_attribute_updates_order(): | CODE |
| LOW | tests/test_anySet_attribute.py | 234 | def test_dynamic_inputs_restored_after_load(tmp_path): | CODE |
| LOW | tests/test_anySet_attribute.py | 265 | def test_moved_anyset_attribute_order_restored_after_load(tmp_path): | CODE |
| LOW | tests/test_anySet_attribute.py | 294 | def test_anyset_expanded_state_restored_after_load(tmp_path): | CODE |
| LOW | tests/test_anySet_attribute.py | 315 | def test_legacy_dict_anyset_serialization_still_loads(tmp_path): | CODE |
| LOW | tests/test_anySet_attribute.py | 342 | def test_legacy_list_anyset_serialization_still_loads(tmp_path): | CODE |
| LOW | tests/test_flowAttribute.py | 42 | def test_default_value_is_none(self): | CODE |
| LOW | tests/test_flowAttribute.py | 67 | def test_every_node_has_flow_attributes(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 97 | def test_flow_not_in_regular_attributes(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 107 | def test_flow_input_not_connected_by_default(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 114 | def test_flow_attribute_is_default_when_not_connected(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 120 | def test_connect_flow_attributes(self): | CODE |
| LOW | tests/test_flowAttribute.py | 131 | def test_flow_attributes_only_connect_to_flow(self): | CODE |
| LOW | tests/test_flowAttribute.py | 147 | def test_flow_serialized_value_is_none_when_not_connected(self): | CODE |
| LOW | tests/test_flowAttribute.py | 154 | def test_flow_serialized_value_is_link_when_connected(self): | CODE |
| LOW | tests/test_flowAttribute.py | 166 | def test_flow_attribute_is_not_default_when_connected(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 180 | def test_unconnected_flow_not_in_serialized_internal_inputs(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 189 | def test_unconnected_flow_not_in_serialized_inputs(self): | CODE |
| LOW⚡ | tests/test_flowAttribute.py | 197 | def test_connected_flow_in_serialized_internal_inputs(self): | CODE |
| LOW | tests/test_flowAttribute.py | 213 | def test_save_and_load_graph_with_flow_connection(self): | CODE |
| LOW | tests/test_flowAttribute.py | 241 | def test_save_and_load_graph_no_data_for_unconnected_flow(self): | CODE |
| LOW | tests/test_nodes.py | 658 | def test_size_lambda_single_arg(self): | CODE |
| LOW | tests/test_nodes.py | 683 | def test_size_static_node_size(self): | CODE |
| LOW | tests/test_nodes.py | 697 | def test_size_dynamic_node_size(self): | CODE |
| LOW | tests/test_nodes.py | 722 | def test_size_custom_function(self): | CODE |
| LOW | tests/test_nodes.py | 750 | def test_size_custom_callable_class(self): | CODE |
| LOW⚡ | tests/test_attributeLambda.py | 68 | def test_callable_default_value_with_node_param(self): | CODE |
| LOW⚡ | tests/test_attributeLambda.py | 77 | def test_callable_default_value_with_attr_param(self): | CODE |
| LOW⚡ | tests/test_attributeLambda.py | 86 | def test_set_value_with_callable(self): | CODE |
| LOW⚡ | tests/test_attributeLambda.py | 94 | def test_set_value_with_attr_callable(self): | CODE |
| LOW⚡ | tests/test_attributeLambda.py | 102 | def test_callable_default_reflects_current_state(self): | CODE |
| LOW | tests/test_attributeLambda.py | 114 | def test_reset_to_default_with_callable(self): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 93 | def test_param_no_value_is_dynamic(attrDesc): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 98 | def test_label_auto_generated_from_camel_case(): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 105 | def test_label_auto_generated_from_snake_case(): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 111 | def test_explicit_label_overrides_auto_generated(): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 117 | def test_explicit_description_preserved(): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 182 | def test_output_desc_is_dynamic(self, node): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 189 | def test_file_output_value_is_none(self, node): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 192 | def test_bool_output_value_is_none(self, node): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 195 | def test_int_output_value_is_none(self, node): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 198 | def test_float_output_value_is_none(self, node): | CODE |
| LOW⚡ | tests/test_attributeDescDefaults.py | 201 | def test_string_output_value_is_none(self, node): | CODE |
| LOW | tests/test_attributeDescDefaults.py | 76 | def test_param_minimal_creation(attrDesc): | CODE |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_graphIO.py | 501 | # Create the node's internal folder to ensure that Graph.update() will call | COMMENT |
| MEDIUM | tests/test_nodes.py | 890 | # Create the input scene | COMMENT |
| MEDIUM | tests/test_nodes.py | 898 | # Create the test scene | COMMENT |
| MEDIUM⚡ | tests/test_compute.py | 668 | # Create a temporary directory structure | COMMENT |
| MEDIUM⚡ | tests/test_compute.py | 680 | # Create a temporary directory structure | COMMENT |
| MEDIUM | tests/test_compute.py | 724 | # Create a temporary directory structure | COMMENT |
| MEDIUM | meshroom/ui/scene.py | 892 | # Create a CameraInit node if none exists | COMMENT |
| MEDIUM | meshroom/ui/app.py | 91 | # Create the main parser with a description | COMMENT |
| MEDIUM | meshroom/ui/commands.py | 853 | # Create the new attribute on the node | COMMENT |
| MEDIUM | meshroom/ui/commands.py | 902 | # Create a new command macro and push a command that disable graph updates | COMMENT |
| MEDIUM | meshroom/ui/components/edge.py | 119 | # Create a diagonal line to the other end of the rect | COMMENT |
| MEDIUM | meshroom/ui/components/scene3D.py | 80 | # Create a buffer filled with (0, 1, 0) default normals | COMMENT |
| MEDIUM | meshroom/ui/components/scene3D.py | 85 | # Create the normal attribute | COMMENT |
| MEDIUM | meshroom/ui/components/csvData.py | 71 | # Create the objects in dataList with the first line elements as objects' title | COMMENT |
| MEDIUM | meshroom/core/attribute.py | 1121 | # Create an empty list if the value is None | COMMENT |
| MEDIUM | meshroom/core/graph.py | 1868 | # Create the folder | COMMENT |
| MEDIUM | meshroom/core/submitter.py | 255 | # Create a task | COMMENT |
| MEDIUM | meshroom/core/plugins/loader.py | 128 | # Initialize the plugin object. | COMMENT |
| MEDIUM⚡ | localfarm/localFarmClient.py | 102 | # Create the job | COMMENT |
| MEDIUM⚡ | localfarm/localFarmClient.py | 105 | # Create the tasks | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 5 | CODE | |
| LOW | meshroom/ui/graph.py | 39 | CODE | |
| LOW | meshroom/ui/scene.py | 7 | CODE | |
| LOW | meshroom/ui/components/shapes/__init__.py | 1 | CODE | |
| LOW | meshroom/ui/components/shapes/__init__.py | 4 | CODE | |
| LOW | meshroom/core/attribute.py | 2 | CODE | |
| LOW | meshroom/core/attribute.py | 29 | CODE | |
| LOW | meshroom/core/graph.py | 21 | CODE | |
| LOW | meshroom/core/graph.py | 22 | CODE | |
| LOW | meshroom/core/__init__.py | 22 | CODE | |
| LOW | meshroom/core/__init__.py | 11 | CODE | |
| LOW | meshroom/core/__init__.py | 12 | CODE | |
| LOW | meshroom/core/__init__.py | 13 | CODE | |
| LOW | meshroom/core/taskManager.py | 4 | CODE | |
| LOW | meshroom/core/node.py | 3 | CODE | |
| LOW | meshroom/core/node.py | 15 | CODE | |
| LOW | meshroom/core/submitter.py | 3 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 8 | CODE | |
| LOW | meshroom/core/desc/validators.py | 4 | CODE | |
| LOW | meshroom/core/desc/validators.py | 5 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 1 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 16 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 16 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 16 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 21 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 21 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 21 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 21 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 21 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 21 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 29 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 32 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 32 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 32 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 32 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 32 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 32 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| LOW | meshroom/core/desc/__init__.py | 40 | CODE | |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_compatibility.py | 237 | CODE | |
| LOW | meshroom/multiview.py | 122 | CODE | |
| LOW | meshroom/multiview.py | 103 | CODE | |
| LOW | meshroom/ui/graph.py | 220 | CODE | |
| LOW | meshroom/ui/graph.py | 818 | CODE | |
| LOW | meshroom/ui/graph.py | 853 | CODE | |
| LOW | meshroom/ui/graph.py | 901 | CODE | |
| LOW | meshroom/ui/graph.py | 1190 | CODE | |
| LOW | meshroom/ui/graph.py | 1309 | CODE | |
| LOW | meshroom/ui/graph.py | 1373 | CODE | |
| LOW | meshroom/ui/graph.py | 1470 | CODE | |
| LOW | meshroom/ui/scene.py | 131 | CODE | |
| LOW | meshroom/ui/scene.py | 443 | CODE | |
| LOW | meshroom/ui/scene.py | 709 | CODE | |
| LOW | meshroom/ui/scene.py | 1029 | CODE | |
| LOW | meshroom/ui/utils.py | 131 | CODE | |
| LOW | meshroom/ui/app.py | 225 | CODE | |
| LOW | meshroom/ui/commands.py | 130 | CODE | |
| LOW | meshroom/ui/components/logLinesModel.py | 142 | CODE | |
| LOW | meshroom/ui/components/shapes/shapeFile.py | 150 | CODE | |
| LOW | meshroom/ui/components/shapes/shapeFile.py | 154 | CODE | |
| LOW | meshroom/submitters/localFarm/localFarmSubmitter.py | 81 | CODE | |
| LOW | meshroom/submitters/localFarm/localFarmSubmitter.py | 264 | CODE | |
| LOW | meshroom/core/attribute.py | 32 | CODE | |
| LOW | meshroom/core/attribute.py | 256 | CODE | |
| LOW | meshroom/core/attribute.py | 998 | CODE | |
| LOW | meshroom/core/attribute.py | 1544 | CODE | |
| LOW | meshroom/core/attribute.py | 1645 | CODE | |
| LOW | meshroom/core/cgroup.py | 7 | CODE | |
| LOW | meshroom/core/cgroup.py | 64 | CODE | |
| LOW | meshroom/core/graph.py | 1951 | CODE | |
| LOW | meshroom/core/graph.py | 1173 | CODE | |
| LOW | meshroom/core/graph.py | 1890 | CODE | |
| LOW | meshroom/core/__init__.py | 47 | CODE | |
| LOW | meshroom/core/taskManager.py | 91 | CODE | |
| LOW | meshroom/core/taskManager.py | 257 | CODE | |
| LOW | meshroom/core/taskManager.py | 273 | CODE | |
| LOW | meshroom/core/taskManager.py | 471 | CODE | |
| LOW | meshroom/core/test.py | 11 | CODE | |
| LOW | meshroom/core/stats.py | 330 | CODE | |
| LOW | meshroom/core/node.py | 468 | CODE | |
| LOW | meshroom/core/node.py | 1044 | CODE | |
| LOW | meshroom/core/node.py | 1204 | CODE | |
| LOW | meshroom/core/node.py | 1277 | CODE | |
| LOW | meshroom/core/node.py | 1897 | CODE | |
| LOW | meshroom/core/node.py | 2520 | CODE | |
| LOW | meshroom/core/node.py | 2573 | CODE | |
| LOW | meshroom/core/node.py | 2739 | CODE | |
| LOW | meshroom/core/node.py | 2871 | CODE | |
| LOW | meshroom/core/node.py | 1282 | CODE | |
| LOW | meshroom/core/submitter.py | 380 | CODE | |
| LOW | meshroom/core/desc/node.py | 439 | CODE | |
| LOW | meshroom/core/plugins/env.py | 87 | CODE | |
| LOW | meshroom/core/plugins/loader.py | 306 | CODE | |
| LOW | meshroom/core/plugins/manager.py | 131 | CODE | |
| LOW | meshroom/core/plugins/base.py | 288 | CODE | |
| LOW | meshroom/nodes/general/InputFile.py | 23 | CODE | |
| LOW | meshroom/common/PySignal.py | 33 | CODE | |
| LOW | localfarm/localFarmBackend.py | 298 | CODE | |
| LOW | localfarm/localFarmBackend.py | 398 | CODE | |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_compatibility.py | 224 | # Check if attributes are properly restored | COMMENT |
| LOW⚡ | tests/test_compatibility.py | 228 | # Check if internal folder | COMMENT |
| LOW | meshroom/ui/components/thumbnail.py | 110 | # Check if thumbnail directory exists | COMMENT |
| LOW | meshroom/ui/components/thumbnail.py | 127 | # Check if this is a regular file | COMMENT |
| LOW | meshroom/ui/components/thumbnail.py | 152 | # Check if number of thumbnails on disk exceeds limit | COMMENT |
| LOW | meshroom/ui/components/thumbnail.py | 244 | # Check if thumbnail already exists (and update its last modification time) | COMMENT |
| LOW | meshroom/ui/components/thumbnail.py | 279 | # Check if thumbnail already exists (it may have been created by another thread) | COMMENT |
| LOW | meshroom/core/stats.py | 269 | # Check if we exceeded max points and need to adjust interval | COMMENT |
| LOW | meshroom/core/nodeFactory.py | 43 | # Check if the given attribute is a AnySet instance or a child of a AnySet | COMMENT |
| LOW | meshroom/core/node.py | 2145 | # Check if at least one dependentNode is submitted or currently running | COMMENT |
| LOW | meshroom/core/submitter.py | 320 | # Check if task has already been created | COMMENT |
| LOW | meshroom/core/desc/node.py | 524 | if process.is_running(): # Check if process is still alive | CODE |
| LOW | meshroom/core/plugins/loader.py | 139 | # Check if the plugin is empty. | COMMENT |
| LOW | meshroom/common/PySignal.py | 96 | # Check if it is an instance method and store it with the instance as the key | COMMENT |
| LOW | localfarm/localFarmBackend.py | 316 | # Check if process finished | COMMENT |
| LOW | localfarm/localFarmBackend.py | 321 | # Check if job is complete | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 28 | CODE | |
| LOW | meshroom/ui/scene.py | 664 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 235 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 321 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 477 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 511 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 546 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 585 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 622 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 678 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 766 | CODE | |
| LOW | meshroom/core/desc/attribute.py | 799 | CODE | |
| LOW | meshroom/core/desc/anySet.py | 7 | CODE | |
| LOW | meshroom/core/desc/shapeAttribute.py | 68 | CODE | |
| LOW | meshroom/core/desc/shapeAttribute.py | 103 | CODE | |
| LOW | meshroom/core/desc/shapeAttribute.py | 138 | CODE | |
| LOW | meshroom/core/desc/shapeAttribute.py | 175 | CODE | |
| LOW | meshroom/core/desc/geometryAttribute.py | 9 | CODE | |
| LOW | meshroom/core/desc/geometryAttribute.py | 41 | CODE | |
| LOW | meshroom/core/desc/geometryAttribute.py | 80 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | meshroom/ui/utils.py | 201 | Shortcut function to create a Qt Property with generic getter and setter. Getter returns the underlying attrib | STRING |
| HIGH | meshroom/core/graph.py | 1918 | Load a Graph from a Meshroom Graph (.mg) file. Args: filepath: The path to the Meshroom Graph file. | STRING |
| HIGH | meshroom/core/nodeFactory.py | 217 | Check that attribute names in 'attributesDict' match the expected description, where 'requiredDescAttri | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | meshroom/core/desc/attribute.py | 0 | return the correct attribute instance corresponding to the description. | STRING |
| HIGH | meshroom/core/desc/shapeAttribute.py | 0 | return the correct attribute instance corresponding to the description. | STRING |
| HIGH | meshroom/core/desc/geometryAttribute.py | 0 | return the correct attribute instance corresponding to the description. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/source/_ext/fetch_md.py | 1 | # Sphinx extension defining the fetch_md directive | COMMENT |
| LOW | docs/source/_ext/meshroom_doc.py | 1 | # Sphinx extension defining the meshroom_doc directive | COMMENT |
| LOW | .github/workflows/nightly.yml | 41 | BUILD_LABEL="$(date -u '+%Y.%m.%d')-${SHORT_SHA}" | COMMENT |
| LOW | meshroom/core/stats.py | 201 | data = proc.as_dict(self.dynamicKeys) | COMMENT |
| LOW | meshroom/core/desc/attribute.py | 201 | # isDynamicValue | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/source/_ext/fetch_md.py | 6 | # Usage: | COMMENT |
| LOW | docs/source/_ext/meshroom_doc.py | 6 | # Usage: | COMMENT |
| LOW | meshroom/core/evaluation.py | 10 | # Example usage | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | meshroom/env.py | 5 | __all__ = [ | CODE |
| LOW | meshroom/ui/app.py | 506 | def _updateRecentProjectFilesThumbnails(self) -> None: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | meshroom/ui/commands.py | 73 | self.setLockedRedo(False) # make sure to unlock the redo action | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | meshroom/core/submitter.py | 325 | # If task is already created simply create the connection | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | meshroom/core/node.py | 536 | return "placeholder" | CODE |