Train, inspect, edit, automate, and export 3D Gaussian Splatting scenes from a single native application.
This report presents the forensic synthetic code analysis of MrNeRF/LichtFeld-Studio, a C++ project with 3,498 GitHub stars. SynthScan v2.0 examined 718,412 lines of code across 1816 source files, recording 3291 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 5.4 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3291 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/error_debt_census.py | 291 | def _is_cuda_call_wrapped_or_consumed(source: ScannedFile, call_start: int) -> bool: | CODE |
| LOW | tools/error_debt_census.py | 312 | def check_discarded_status_macro_free_cuda(source: ScannedFile) -> list[Hit]: | CODE |
| LOW | tools/error_debt_census.py | 421 | def check_fatal_invariant_site(source: ScannedFile) -> list[Hit]: | CODE |
| LOW | tools/error_debt_census.py | 456 | def check_unchecked_kernel_launch(source: ScannedFile) -> list[Hit]: | CODE |
| LOW | tools/error_debt_census.py | 571 | def _visible_enclosing_prefix( | CODE |
| LOW | tools/error_debt_census.py | 589 | def _has_unpinned_multi_capture_escape( | CODE |
| LOW | tools/error_debt_census.py | 603 | def _inside_pin_operands_definition( | CODE |
| LOW | tools/error_debt_census.py | 617 | def check_unpinned_multi_capture(source: ScannedFile) -> list[Hit]: | CODE |
| LOW | tools/error_debt_census.py | 802 | def _is_structurally_excluded(relative_path: Path) -> bool: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 46 | def test_expected_string_detects_exact_last_top_level_argument(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 56 | def test_expected_string_ignores_other_and_malformed_error_types(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 65 | def test_discarded_cuda_detects_only_bare_runtime_statement(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 104 | def test_raw_vk_check_ignores_own_definitions(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 112 | def test_raw_vk_check_masks_comment_and_string_mentions(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 121 | def test_empty_catch_detects_empty_handler(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 131 | def test_empty_catch_accepts_reviewed_handler(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 260 | def test_vk_infinite_wait_ignores_finite_wait(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 267 | def test_vk_infinite_wait_masks_diagnostic_call_syntax_in_string(self) -> None: | CODE |
| LOW⚡ | tools/test_error_debt_census.py | 274 | def test_unchecked_kernel_launch_detects_missing_nearby_check(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 79 | def test_discarded_cuda_ignores_consumed_and_expression_calls(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 92 | def test_raw_vk_check_detects_calls_but_not_definition(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 142 | def test_empty_catch_does_not_accept_log_text_inside_literal(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 153 | def test_empty_catch_accepts_typed_error_return(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 164 | def test_empty_catch_accepts_python_callback_containment(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 175 | def test_empty_catch_accepts_normalize_current_exception(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 186 | def test_empty_catch_accepts_legacy_unexpected_return(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 197 | def test_empty_catch_does_not_accept_make_error_inside_literal(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 208 | def test_local_check_macro_detects_non_core_definition(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 219 | def test_local_check_macro_ignores_core_and_nonmatching_names(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 229 | def test_fatal_invariant_detects_call_but_not_definition(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 241 | def test_fatal_invariant_ignores_own_definition(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 248 | def test_vk_infinite_wait_detects_forever_token_in_arguments(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 290 | def test_unchecked_kernel_launch_accepts_check_within_three_lines(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 302 | def test_unchecked_kernel_launch_counts_after_digit_separator(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 316 | def test_result_in_cu_detects_each_token_inside_tests_path(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 330 | def test_result_in_cu_ignores_non_cuda_and_masked_tokens(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 341 | def test_unpinned_multi_capture_detects_balanced_multiline_call(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 355 | def test_unpinned_multi_capture_requires_distinct_bases_and_tensor_scope(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 366 | def test_unpinned_multi_capture_accepts_prior_factories_and_pin(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 380 | def test_unpinned_multi_capture_does_not_inherit_pin_from_child_block(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 393 | def test_unpinned_multi_capture_accepts_escape_on_previous_line(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 403 | def test_frozen_path_exclusions_apply_except_tests_for_result_rule(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 419 | def test_mask_source_preserves_length_and_newlines(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 432 | def test_mask_source_leaves_unterminated_raw_literal_unmasked(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 436 | def test_cli_write_and_gate_contract_reports_only_new_location(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 484 | def test_gate_ignores_line_drift_of_preexisting_debt(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 535 | def test_gate_fails_on_count_decrease_without_regeneration(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 561 | def test_gate_fails_when_baselined_file_disappears(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 581 | def test_gate_passes_after_regeneration_acknowledges_decrease(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 604 | def test_gate_reports_increase_and_decrease_together(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 631 | def test_gate_catches_wrapper_refactor_that_hides_sites(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 660 | def test_empty_catch_reviewed_annotation_is_exempt(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 675 | def test_allowlist_exempts_sanctioned_legacy_bridge_declaration(self) -> None: | CODE |
| LOW | tools/test_error_debt_census.py | 686 | def test_cli_rejects_unknown_rule_and_missing_baseline(self) -> None: | CODE |
| LOW | tools/check_ui_hardcoded.py | 156 | def python_dict_value_findings( | CODE |
| LOW | tests/python/test_input_settings_panel.py | 141 | def get_allowed_trigger_kinds(action_value): | CODE |
| LOW | tests/python/test_input_settings_panel.py | 260 | def test_input_settings_uses_dirty_update_policy(input_settings_module): | CODE |
| LOW | tests/python/test_input_settings_panel.py | 266 | def test_input_settings_requests_update_on_language_generation(input_settings_module): | CODE |
| LOW | tests/python/test_input_settings_panel.py | 280 | def test_input_settings_builds_profile_and_mode_records(input_settings_module): | CODE |
| LOW | tests/python/test_input_settings_panel.py | 303 | def test_input_settings_builds_binding_rows_with_capture_state(input_settings_module): | CODE |
| 1304 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 101 | # png_destroy_read_struct from its statically-linked libpng16. When the GTK | COMMENT |
| LOW | CMakeLists.txt | 121 | string(APPEND CMAKE_MODULE_LINKER_FLAGS " -Wl,--exclude-libs,${_LFS_EXCLUDE_STATIC_ARCHIVES}") | COMMENT |
| LOW | tests/test_scene_graph_identity.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_pipelined_loader_sidecar_jpeg2k.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_fastgs_analytical_gradients.cpp | 1881 | COMMENT | |
| LOW | tests/test_mcp_sequencer_tools.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_arena_metrics_contention.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_spz_format.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_training_parameters.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_argument_parser.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_system_info.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_ply_error_taxonomy.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_ppisp_sidecar.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_colmap_binary_error_taxonomy.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_image_resize_parallel.cpp | 1 | /* Test to isolate cudaErrorInvalidDevice with resized images in parallel operations */ | COMMENT |
| LOW | tests/test_lod_page_dequant.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_colmap_image_layout.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rotated_sh_correctness.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rml_im_mode_layout.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_error_reporter.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_cuda_error_typed.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_device_fault.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_python_io.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_visualizer_post_work.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_input_controller_focus.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_export_env_composite.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_vksplat_buffer_retire.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_python_integration.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_python_integration.cpp | 21 | #include "rendering/coordinate_conventions.hpp" | COMMENT |
| LOW | tests/test_usd_format.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_vksplat_input_packer.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_tensor_deferred_d1_copy_registry.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rad_gpu_encode.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_assert_hardening.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_sequencer_regressions.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_status_bar_fit.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rml_path_utils.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_error_bus.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_octree_lod.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_atomic_output.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rad_meta_sidecar.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_mcp_protocol.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_tensor_d4_from_blob_stream.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_checkpoint_resume.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_tensor_discovery.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_undo_history.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_undo_history.cpp | 21 | #include <algorithm> | COMMENT |
| LOW | tests/test_training_cropbox_mask.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_fastgs_kernels.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rendering_refactor_services.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_rendering_refactor_services.cpp | 21 | #include "visualizer/rendering/split_view_service.hpp" | COMMENT |
| LOW | tests/test_selection_command_dispatch.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_input_controller_dataset_load.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_video_export_utils.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_video_frame_extractor_naming.cpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_python_lsp_client.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/tensor_hardening_test_utils.hpp | 1 | /* SPDX-FileCopyrightText: 2025 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_vksplat_failed_submit_no_publish.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_operator_registry_props.cpp | 1 | /* SPDX-FileCopyrightText: 2026 LichtFeld Studio Authors | COMMENT |
| LOW | tests/test_operator_registry_props.cpp | 21 | #include "rendering/rendering_manager.hpp" | COMMENT |
| 722 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CMakeLists.txt | 645 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 647 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 661 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 663 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 665 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 667 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 878 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 880 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 940 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 942 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1021 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1023 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1315 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1317 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1330 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1332 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1355 | # ============================================================================= | COMMENT |
| MEDIUM | CMakeLists.txt | 1357 | # ============================================================================= | COMMENT |
| MEDIUM | tests/CMakeLists.txt | 6 | # ============================================================================= | COMMENT |
| MEDIUM | tests/CMakeLists.txt | 8 | # ============================================================================= | COMMENT |
| MEDIUM | tests/CMakeLists.txt | 44 | # ============================================================================= | COMMENT |
| MEDIUM | tests/CMakeLists.txt | 46 | # ============================================================================= | COMMENT |
| MEDIUM | tests/CMakeLists.txt | 507 | # ============================================================================= | COMMENT |
| MEDIUM | tests/CMakeLists.txt | 509 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 208 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 210 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 244 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 246 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 305 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 307 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 427 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 429 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 595 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 597 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 698 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 700 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 926 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 928 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 974 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 976 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 991 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | tests/python/test_plugin_docs.py | 993 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 92 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 94 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 117 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 119 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 174 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 176 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 274 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 276 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 757 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 759 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 850 | # =========================================================================== | COMMENT |
| MEDIUM | tests/python/test_plugin_docs.py | 852 | # =========================================================================== | COMMENT |
| MEDIUM | …ternal/nvImageCodec/external/NVTX/tools/CMakeLists.txt | 1 | #============================================================================= | COMMENT |
| MEDIUM | …ternal/nvImageCodec/external/NVTX/tools/CMakeLists.txt | 15 | #============================================================================= | COMMENT |
| MEDIUM | …ageCodec/external/NVTX/tools/benchmarks/CMakeLists.txt | 1 | #============================================================================= | COMMENT |
| MEDIUM | …ageCodec/external/NVTX/tools/benchmarks/CMakeLists.txt | 15 | #============================================================================= | COMMENT |
| 147 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/python/conftest.py | 100 | except Exception: | CODE |
| LOW | tests/python/conftest.py | 235 | except Exception: | CODE |
| LOW | tests/python/test_hot_reload_edge_cases.py | 44 | except Exception: | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 107 | def worker(plugin_name): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 137 | def unloader(): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 144 | def loader(): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 175 | def loader(): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 182 | def unloader(): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 215 | def reloader(): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 317 | def discoverer(): | CODE |
| MEDIUM | tests/python/test_plugin_concurrency.py | 349 | def loader(): | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 84 | except Exception: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 115 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 141 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 149 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 179 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 187 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 219 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 253 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 292 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 322 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_concurrency.py | 355 | except Exception as e: | CODE |
| MEDIUM | tests/python/test_hot_reload_fixes.py | 233 | def snapshot_reader(): | CODE |
| MEDIUM | tests/python/test_hot_reload_fixes.py | 643 | def uninstaller(name): | CODE |
| LOW | tests/python/test_hot_reload_fixes.py | 53 | except Exception: | CODE |
| LOW | tests/python/test_hot_reload_fixes.py | 239 | except Exception as e: | CODE |
| LOW | tests/python/test_hot_reload_fixes.py | 647 | except Exception as e: | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 71 | def invoker(): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 81 | def unregisterer(): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 119 | def invoker(): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 153 | def invoker(): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 185 | def lister(): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 196 | def unregisterer(): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 222 | def worker(thread_id): | CODE |
| MEDIUM | tests/python/test_capability_thread_safety.py | 259 | def invoker(): | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 78 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 86 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 126 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 161 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 193 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 201 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 233 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 264 | except Exception as e: | CODE |
| LOW | tests/python/test_capability_thread_safety.py | 295 | except Exception as e: | CODE |
| LOW | tests/python/test_plugin_callbacks.py | 41 | except Exception: | CODE |
| LOW | tests/python/test_plugin_callbacks.py | 218 | except Exception: | STRING |
| LOW | tests/python/test_plugin_callbacks.py | 250 | except Exception: | STRING |
| LOW | tests/python/test_plugin_error_recovery.py | 42 | except Exception: | CODE |
| LOW | scripts/validate_localization.py | 64 | except Exception as e: | CODE |
| LOW | scripts/validate_localization.py | 117 | except Exception as e: | CODE |
| LOW | scripts/validate_localization.py | 141 | except Exception: | CODE |
| LOW | scripts/validate_localization.py | 346 | except Exception as e: | CODE |
| LOW | scripts/lichtfeld_mcp_bridge.py | 504 | except Exception as exc: | CODE |
| LOW | scripts/lichtfeld_mcp_bridge.py | 539 | except Exception as exc: | CODE |
| LOW | scripts/lichtfeld_mcp_bridge.py | 544 | except Exception as retry_exc: | CODE |
| MEDIUM | scripts/ppisp_report.py | 611 | print(f"Error: {args.ppisp_file} not found", file=sys.stderr) | CODE |
| LOW | src/python/runner.cpp | 208 | except Exception as e: | CODE |
| LOW | src/python/runner.cpp | 1990 | except Exception as first_error: | CODE |
| LOW | src/python/runner.cpp | 1995 | except Exception: | CODE |
| LOW | src/python/runner.cpp | 2006 | except Exception as dedent_error: | CODE |
| 471 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/error_debt_census.py | 22 | CODE | |
| LOW | tools/test_error_debt_census.py | 5 | CODE | |
| LOW | tools/check_locale_completeness.py | 6 | CODE | |
| LOW | tools/check_ui_hardcoded.py | 12 | CODE | |
| LOW | tests/python/test_scene_validity.py | 10 | CODE | |
| LOW | tests/python/test_bug_report.py | 5 | CODE | |
| LOW | tests/python/test_signals.py | 5 | CODE | |
| LOW | tests/python/test_signals.py | 8 | CODE | |
| LOW | tests/python/test_hot_reload_fixes.py | 16 | CODE | |
| LOW | tests/python/test_hot_reload_fixes.py | 22 | CODE | |
| LOW | tests/python/test_capability_thread_safety.py | 12 | CODE | |
| LOW | tests/python/test_portal_account.py | 5 | CODE | |
| LOW | tests/python/test_plugin_docs.py | 11 | CODE | |
| LOW | tests/python/test_plugin_docs.py | 13 | CODE | |
| LOW | tests/python/test_unicode_path_bindings.py | 6 | CODE | |
| LOW | scripts/lichtfeld_mcp_bridge.py | 7 | CODE | |
| LOW | scripts/ppisp_report.py | 15 | CODE | |
| LOW | scripts/compile_rmlui_shaders.py | 6 | CODE | |
| LOW | …rnal/nvImageCodec/tools/stub_generator/stub_codegen.py | 22 | CODE | |
| LOW | …rnal/nvImageCodec/tools/stub_generator/stub_codegen.py | 23 | CODE | |
| LOW | …rnal/nvImageCodec/tools/stub_generator/stub_codegen.py | 30 | CODE | |
| LOW | src/python/lfs_splat_lod_hierarchy.py | 5 | CODE | |
| LOW | src/python/_lfs_panel_contract.py | 5 | CODE | |
| LOW | src/python/scripts/manage_stubs.py | 6 | CODE | |
| LOW | src/python/lfs_plugins/op_context.py | 7 | CODE | |
| LOW | src/python/lfs_plugins/asset_thumbnails.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/histogram_support.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/account_panel.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/compat.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/portal_account.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/histogram_panel.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/cropbox_controls.py | 5 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 7 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 7 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 7 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 8 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 8 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 8 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 9 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 9 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 9 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 9 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 10 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 21 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 22 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 22 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 26 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 26 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 26 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 27 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 27 | CODE | |
| LOW | src/python/lfs_plugins/__init__.py | 28 | CODE | |
| 67 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_lfs_scheduler.cpp | 49 | // Step 1: lr = 1.0 * 0.9 = 0.9 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 53 | // Step 2: lr = 0.9 * 0.9 = 0.81 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 57 | // Step 3: lr = 0.81 * 0.9 = 0.729 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 158 | // Step 1: progress = 1/10 = 0.1, factor = 0.1 + 0.9*0.1 = 0.19, lr = 0.19 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 164 | // Step 5: progress = 5/10 = 0.5, factor = 0.1 + 0.9*0.5 = 0.55, lr = 0.55 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 171 | // Step 10: progress = 10/10 = 1.0, factor = 0.1 + 0.9*1.0 = 1.0, lr = 1.0 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 203 | // Step 6: decay_steps = 6-5 = 1, lr = 1.0 * 0.9^1 = 0.9 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 207 | // Step 7: decay_steps = 7-5 = 2, lr = 1.0 * 0.9^2 = 0.81 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 211 | // Step 10: decay_steps = 10-5 = 5, lr = 1.0 * 0.9^5 = 0.59049 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 255 | // Step 1: progress = 0.25, factor = 0.0 + 1.0*0.25 = 0.25, lr = 0.25 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 259 | // Step 2: progress = 0.5, factor = 0.5, lr = 0.5 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 263 | // Step 3: progress = 0.75, factor = 0.75, lr = 0.75 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 267 | // Step 4: progress = 1.0, factor = 1.0, lr = 1.0 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 287 | // Step 1: progress = 1.0, factor = 0.5 + 0.5*1.0 = 1.0, lr = 1.0 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 291 | // Step 2: decay starts, lr = 1.0 * 0.9^1 = 0.9 | COMMENT |
| LOW | tests/test_tensor_inplace_capacity.cpp | 336 | // Step 1: Various in-place operations | COMMENT |
| LOW⚡ | tests/test_tensor_inplace_capacity.cpp | 348 | // Step 2: Indexed operations (the ones that historically had bugs) | COMMENT |
| LOW⚡ | tests/test_tensor_inplace_capacity.cpp | 355 | // Step 3: Growth operations that depend on capacity | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 721 | // Step 1: Get indices | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 728 | // Step 2: Gather | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 734 | // Step 3: Concatenate | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 796 | // Step 1: Low opacity check | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 802 | // Step 2: Invalid rotation check | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1128 | // Step 1: Low opacity | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1131 | // Step 2: Invalid rotation (quaternion magnitude near zero) | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1135 | // Step 3: Too large scale | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1139 | // Step 4: Exclude already-free slots | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1144 | // Step 1: Low opacity | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1147 | // Step 2: Invalid rotation | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1151 | // Step 3: Too large scale | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1155 | // Step 4: Exclude already-free slots | COMMENT |
| LOW | tests/test_densification_tensor_ops.cpp | 813 | // Step 3: Exclude free slots | COMMENT |
| LOW | docs/plugins/getting-started.md | 121 | ### Step 1: start with `draw(ui)` | COMMENT |
| LOW | docs/plugins/getting-started.md | 204 | ### Step 2: add shell and retained behavior without rewriting `draw(ui)` | COMMENT |
| LOW | docs/plugins/getting-started.md | 336 | ### Step 3: go full hybrid | STRING |
| LOW | src/core/bhatt_lod.cpp | 61 | // Step 1: Count visible splats per chunk in parallel | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 84 | // Step 2: Prefix sum to compute chunk offsets | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 107 | // Step 3: Parallel extraction into pre-allocated arrays | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 844 | // Step 1: Post-order pruning to select output nodes | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 906 | // Step 2: Build a flat buffer where every node's direct children occupy | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 983 | // Step 3: Build SplatData | COMMENT |
| LOW | src/training/rasterization/gsplat/Rasterization.cpp | 261 | // Step 1: Projection | COMMENT |
| LOW | src/training/rasterization/gsplat/Rasterization.cpp | 273 | // Step 2: Tile intersection | COMMENT |
| LOW⚡ | src/training/rasterization/gsplat/Rasterization.cpp | 290 | // Step 3: Compute viewing directions and evaluate SH | COMMENT |
| LOW⚡ | src/training/rasterization/gsplat/Rasterization.cpp | 300 | // Step 4: Rasterize to pixels | COMMENT |
| LOW | src/io/nvcodec_image_loader.cpp | 293 | // Step 1: Check CUDA | COMMENT |
| LOW⚡ | src/io/nvcodec_image_loader.cpp | 305 | // Step 2: Check extensions directory | COMMENT |
| LOW⚡ | src/io/nvcodec_image_loader.cpp | 309 | // Step 3: Try to create an nvImageCodec instance | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_lfs_scheduler.cpp | 49 | // Step 1: lr = 1.0 * 0.9 = 0.9 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 53 | // Step 2: lr = 0.9 * 0.9 = 0.81 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 57 | // Step 3: lr = 0.81 * 0.9 = 0.729 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 158 | // Step 1: progress = 1/10 = 0.1, factor = 0.1 + 0.9*0.1 = 0.19, lr = 0.19 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 164 | // Step 5: progress = 5/10 = 0.5, factor = 0.1 + 0.9*0.5 = 0.55, lr = 0.55 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 171 | // Step 10: progress = 10/10 = 1.0, factor = 0.1 + 0.9*1.0 = 1.0, lr = 1.0 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 203 | // Step 6: decay_steps = 6-5 = 1, lr = 1.0 * 0.9^1 = 0.9 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 207 | // Step 7: decay_steps = 7-5 = 2, lr = 1.0 * 0.9^2 = 0.81 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 211 | // Step 10: decay_steps = 10-5 = 5, lr = 1.0 * 0.9^5 = 0.59049 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 255 | // Step 1: progress = 0.25, factor = 0.0 + 1.0*0.25 = 0.25, lr = 0.25 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 259 | // Step 2: progress = 0.5, factor = 0.5, lr = 0.5 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 263 | // Step 3: progress = 0.75, factor = 0.75, lr = 0.75 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 267 | // Step 4: progress = 1.0, factor = 1.0, lr = 1.0 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 287 | // Step 1: progress = 1.0, factor = 0.5 + 0.5*1.0 = 1.0, lr = 1.0 | COMMENT |
| LOW⚡ | tests/test_lfs_scheduler.cpp | 291 | // Step 2: decay starts, lr = 1.0 * 0.9^1 = 0.9 | COMMENT |
| LOW | tests/test_tensor_inplace_capacity.cpp | 336 | // Step 1: Various in-place operations | COMMENT |
| LOW⚡ | tests/test_tensor_inplace_capacity.cpp | 348 | // Step 2: Indexed operations (the ones that historically had bugs) | COMMENT |
| LOW⚡ | tests/test_tensor_inplace_capacity.cpp | 355 | // Step 3: Growth operations that depend on capacity | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 721 | // Step 1: Get indices | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 728 | // Step 2: Gather | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 734 | // Step 3: Concatenate | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 796 | // Step 1: Low opacity check | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 802 | // Step 2: Invalid rotation check | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1128 | // Step 1: Low opacity | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1131 | // Step 2: Invalid rotation (quaternion magnitude near zero) | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1135 | // Step 3: Too large scale | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1139 | // Step 4: Exclude already-free slots | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1144 | // Step 1: Low opacity | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1147 | // Step 2: Invalid rotation | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1151 | // Step 3: Too large scale | COMMENT |
| LOW⚡ | tests/test_densification_tensor_ops.cpp | 1155 | // Step 4: Exclude already-free slots | COMMENT |
| LOW | tests/test_densification_tensor_ops.cpp | 813 | // Step 3: Exclude free slots | COMMENT |
| LOW | …l/nvImageCodec/external/NVTX/c/include/nvtx3/nvtx3.hpp | 21 | /* This section handles the decision of whether to provide unversioned symbols. | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 61 | // Step 1: Count visible splats per chunk in parallel | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 84 | // Step 2: Prefix sum to compute chunk offsets | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 107 | // Step 3: Parallel extraction into pre-allocated arrays | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 844 | // Step 1: Post-order pruning to select output nodes | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 906 | // Step 2: Build a flat buffer where every node's direct children occupy | COMMENT |
| LOW | src/core/bhatt_lod.cpp | 983 | // Step 3: Build SplatData | COMMENT |
| LOW | src/training/rasterization/gsplat/Rasterization.cpp | 261 | // Step 1: Projection | COMMENT |
| LOW | src/training/rasterization/gsplat/Rasterization.cpp | 273 | // Step 2: Tile intersection | COMMENT |
| LOW⚡ | src/training/rasterization/gsplat/Rasterization.cpp | 290 | // Step 3: Compute viewing directions and evaluate SH | COMMENT |
| LOW⚡ | src/training/rasterization/gsplat/Rasterization.cpp | 300 | // Step 4: Rasterize to pixels | COMMENT |
| LOW | src/io/nvcodec_image_loader.cpp | 293 | // Step 1: Check CUDA | COMMENT |
| LOW⚡ | src/io/nvcodec_image_loader.cpp | 305 | // Step 2: Check extensions directory | COMMENT |
| LOW⚡ | src/io/nvcodec_image_loader.cpp | 309 | // Step 3: Try to create an nvImageCodec instance | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/python/test_menubar_resources.py | 156 | assert "if (!ui_hidden_ && rml_menu_bar_.isOpen())" not in gui_manager_cpp | CODE |
| HIGH | tests/python/test_undo.py | 20 | lf.undo.push( | CODE |
| HIGH⚡ | tests/python/test_undo.py | 51 | lf.undo.push("custom.step", lambda: None, lambda: None) | CODE |
| HIGH⚡ | tests/python/test_undo.py | 62 | lf.undo.push("custom.step", object(), lambda: None) | CODE |
| HIGH⚡ | tests/python/test_undo.py | 72 | lf.undo.push( | CODE |
| HIGH | tests/python/test_undo.py | 85 | lf.undo.push( | CODE |
| HIGH | tests/python/test_undo.py | 130 | lf.undo.push( | CODE |
| HIGH⚡ | scripts/validate_localization.py | 300 | print(f" {Colors.RED}✗ {len(undefined)} undefined key(s) in code:{Colors.END}") | CODE |
| HIGH⚡ | scripts/validate_localization.py | 301 | for key in sorted(undefined)[:10]: | CODE |
| HIGH⚡ | scripts/validate_localization.py | 303 | if len(undefined) > 10: | CODE |
| HIGH⚡ | scripts/validate_localization.py | 304 | print(f" ... and {len(undefined) - 10} more") | CODE |
| HIGH | src/python/lfs_plugins/op_context.py | 71 | lf.undo.push( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/error_debt_census.py | 121 | CODE | |
| LOW | tools/error_debt_census.py | 209 | CODE | |
| LOW | tools/error_debt_census.py | 259 | CODE | |
| LOW | tools/error_debt_census.py | 533 | CODE | |
| LOW | tools/error_debt_census.py | 552 | CODE | |
| LOW | tools/check_ui_hardcoded.py | 156 | CODE | |
| LOW | tools/check_ui_hardcoded.py | 232 | CODE | |
| LOW | tests/python/test_localization_contracts.py | 83 | CODE | |
| LOW | tests/python/test_plugin_docs.py | 41 | CODE | |
| LOW | tests/python/test_plugin_docs.py | 56 | CODE | |
| LOW | scripts/validate_localization.py | 149 | CODE | |
| LOW | scripts/lichtfeld_mcp_bridge.py | 498 | CODE | |
| LOW | scripts/ppisp_report.py | 360 | CODE | |
| LOW | src/python/scripts/manage_stubs.py | 39 | CODE | |
| LOW | src/python/scripts/manage_stubs.py | 43 | CODE | |
| LOW | src/python/lfs_plugins/validator.py | 28 | CODE | |
| LOW | src/python/lfs_plugins/validator.py | 163 | CODE | |
| LOW | src/python/lfs_plugins/validator.py | 175 | CODE | |
| LOW | src/python/lfs_plugins/rendering_panel.py | 395 | CODE | |
| LOW | src/python/lfs_plugins/op_context.py | 60 | CODE | |
| LOW | src/python/lfs_plugins/asset_thumbnails.py | 197 | CODE | |
| LOW | src/python/lfs_plugins/portal_account.py | 452 | CODE | |
| LOW | src/python/lfs_plugins/portal_account.py | 496 | CODE | |
| LOW | src/python/lfs_plugins/portal_account.py | 606 | CODE | |
| LOW | src/python/lfs_plugins/registry.py | 85 | CODE | |
| LOW | src/python/lfs_plugins/selection_controls.py | 463 | CODE | |
| LOW | src/python/lfs_plugins/histogram_panel.py | 2551 | CODE | |
| LOW | src/python/lfs_plugins/property_view.py | 762 | CODE | |
| LOW | src/python/lfs_plugins/installer.py | 132 | CODE | |
| LOW | src/python/lfs_plugins/toolbar.py | 943 | CODE | |
| LOW | src/python/lfs_plugins/toolbar.py | 1371 | CODE | |
| LOW | src/python/lfs_plugins/toolbar.py | 1600 | CODE | |
| LOW | src/python/lfs_plugins/image_preview_panel.py | 836 | CODE | |
| LOW | src/python/lfs_plugins/image_preview_panel.py | 1037 | CODE | |
| LOW | src/python/lfs_plugins/url_downloader.py | 115 | CODE | |
| LOW | src/python/lfs_plugins/url_downloader.py | 177 | CODE | |
| LOW | src/python/lfs_plugins/url_downloader.py | 262 | CODE | |
| LOW | src/python/lfs_plugins/url_downloader.py | 365 | CODE | |
| LOW | src/python/lfs_plugins/url_downloader.py | 441 | CODE | |
| LOW | src/python/lfs_plugins/url_downloader.py | 477 | CODE | |
| LOW | src/python/lfs_plugins/settings.py | 27 | CODE | |
| LOW | src/python/lfs_plugins/asset_manager_integration.py | 411 | CODE | |
| LOW | src/python/lfs_plugins/asset_manager_integration.py | 525 | CODE | |
| LOW | src/python/lfs_plugins/props.py | 333 | CODE | |
| LOW | src/python/lfs_plugins/watcher.py | 77 | CODE | |
| LOW | src/python/lfs_plugins/plugin_marketplace_panel.py | 1061 | CODE | |
| LOW | src/python/lfs_plugins/plugin_marketplace_panel.py | 1595 | CODE | |
| LOW | src/python/lfs_plugins/transform_controls.py | 596 | CODE | |
| LOW | src/python/lfs_plugins/transform_controls.py | 722 | CODE | |
| LOW | src/python/lfs_plugins/transform_controls.py | 763 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 178 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 208 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 447 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 503 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 636 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 678 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 1054 | CODE | |
| LOW | src/python/lfs_plugins/asset_scanner.py | 1101 | CODE | |
| LOW | src/python/lfs_plugins/import_panels.py | 360 | CODE | |
| LOW | src/python/lfs_plugins/import_panels.py | 373 | CODE | |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_tensor_broadcast.cpp | 585 | // Generate random data for robust testing | COMMENT |
| MEDIUM | external/zep/src/buffer.cpp | 540 | // Essentially it changes 'what you are over', based on the word rule | COMMENT |
| MEDIUM | external/httplib/httplib.h | 10664 | // Cross-host/scheme redirect - create new client with robust setup | COMMENT |
| MEDIUM | external/httplib/httplib.h | 10669 | // New method for robust redirect client creation | COMMENT |
| MEDIUM | external/httplib/httplib.h | 10737 | // Setup client with robust configuration | COMMENT |
| MEDIUM | external/httplib/httplib.h | 10745 | // New method for robust client setup (based on basic_manual_redirect.cpp | COMMENT |
| MEDIUM | src/training/kernels/depth_loss.hpp | 34 | // expected depth. Bounds the leverage of near-camera floaters in both the | COMMENT |
| MEDIUM | src/training/kernels/depth_loss.hpp | 72 | // aabb_lo/aabb_hi: world-space bounds gating the anchor points (robust | COMMENT |
| MEDIUM | src/training/kernels/depth_loss.hpp | 109 | // CPU half of fit_depth_anchor: robust affine fits over collected samples. | COMMENT |
| MEDIUM | src/training/strategies/mcmc.cpp | 513 | // Use add_new_params_gather() to leverage reserved capacity | COMMENT |
| MEDIUM | src/training/depth_anchor/depth_anchor_cache.hpp | 53 | // prior resolution are deliberately excluded — the robust fit is invariant to | COMMENT |
| MEDIUM | src/training/depth_anchor/depth_anchor_cache.cpp | 151 | // keep all CUDA on one thread; the expensive robust affine fits are pure | COMMENT |
| MEDIUM | src/io/ply_to_rad_lod.cpp | 1110 | // outside the robust box clamp into edge cells in cell_of_position. | COMMENT |
| MEDIUM | src/io/ply_to_rad_lod.cpp | 1157 | // Tile offsets come from the exact X/Y extent (not the robust box): | COMMENT |
| MEDIUM | src/sequencer/keyframe.hpp | 36 | bool is_loop_point = false; // mirrors first keyframe for seamless looping | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/python/test_plugin_api_surface.py | 142 | assert "def set_theme_vignette_enabled(arg: bool, /) -> None:" in stub_text | CODE |
| LOW⚡ | tests/python/test_plugin_api_surface.py | 143 | assert "def set_theme_vignette_intensity(arg: float, /) -> None:" in stub_text | CODE |
| LOW⚡ | tests/python/test_plugin_api_surface.py | 144 | assert "def set_theme_vignette_style(arg0: float, arg1: float, arg2: float, /) -> None:" in stub_text | CODE |
| LOW | …gins/examples/scrub_controls_demo/panels/main_panel.py | 85 | def _set_scrub_value(self, prop: str, value: float) -> None: | CODE |
| LOW | src/python/lfs_splat_lod_hierarchy.py | 476 | __all__ = [ | CODE |
| LOW | src/python/lfs_plugins/portal_account.py | 927 | def _set_current_credentials(self, credentials: _Credentials) -> None: | CODE |
| LOW | src/python/lfs_plugins/portal_account.py | 963 | def _set_membership_required(self, credentials: _Credentials) -> None: | CODE |
| LOW | src/python/lfs_plugins/portal_account.py | 1007 | def _update_countdown(self) -> None: | CODE |
| LOW | src/python/lfs_plugins/portal_account.py | 1022 | def _set_signed_out(self, error: str) -> None: | CODE |
| LOW | src/python/lfs_plugins/__init__.py | 61 | __all__ = [ | CODE |
| LOW | src/python/lfs_plugins/installer.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/python/lfs_plugins/context.py | 16 | def set_selection_mask(self, mask: Any) -> None: | CODE |
| LOW | src/python/lfs_plugins/url_downloader.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/python/lfs_plugins/bug_report_panel.py | 222 | def _set_form_field(self, field: str, value: object) -> None: | CODE |
| LOW⚡ | src/python/lfs_plugins/bug_report_panel.py | 235 | def _set_log_text(self, value: object) -> None: | CODE |
| LOW⚡ | src/python/lfs_plugins/bug_report_panel.py | 239 | def _set_consent_to_logs(self, value: object) -> None: | CODE |
| LOW⚡ | src/python/lfs_plugins/bug_report_panel.py | 243 | def _set_include_previous_log(self, value: object) -> None: | CODE |
| LOW | src/python/lfs_plugins/bug_report_panel.py | 343 | def _update_lists(self) -> None: | CODE |
| LOW | src/python/lfs_plugins/marketplace.py | 81 | def set_on_change(self, callback: Optional[Callable[[], None]]) -> None: | CODE |
| LOW⚡ | src/python/lfs_plugins/asset_manager_integration.py | 34 | def set_active_asset_manager_panel(panel) -> None: | CODE |
| LOW | src/python/lfs_plugins/import_panels.py | 2145 | def _set_scan_log_entry(self, index: int, path: str, status: str) -> None: | CODE |
| LOW | src/python/lfs_plugins/asset_manager_panel.py | 764 | def set_search_query(self, value: str) -> None: | CODE |
| LOW | src/python/lfs_plugins/asset_manager_panel.py | 5590 | def update_record_list(name: str, builder) -> None: | CODE |
| LOW | src/python/lfs_plugins/ui/store.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/python/lfs_plugins/ui/store.py | 415 | __all__ = [ | CODE |
| LOW | src/python/lfs_plugins/ui/signals.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/python/lfs_plugins/ui/subscription_registry.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/python/lfs_plugins/ui/__init__.py | 28 | __all__ = [ | CODE |
| LOW | src/python/lfs_plugins/ui/state.py | 11 | __all__ = ["AppState", "RuntimeState"] | CODE |
| LOW | src/python/lfs_plugins/tool_defs/__init__.py | 26 | __all__ = [ | CODE |
| LOW | src/python/lfs_plugins/layouts/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/python/lfs_plugins/windows/__init__.py | 7 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | docs/plugin-system.md | 13 | ├── .venv/ # Created by the CLI scaffold or during dependency setup | CODE |
| MEDIUM⚡ | docs/plugin-system.md | 14 | ├── pyrightconfig.json # Created by the CLI scaffold | CODE |
| MEDIUM⚡ | docs/plugin-system.md | 15 | ├── .vscode/ # Created by the CLI scaffold | CODE |
| MEDIUM | docs/plugin-dev-workflow.md | 9 | ### CLI scaffold | COMMENT |
| MEDIUM | docs/plugin-dev-workflow.md | 40 | ### Python scaffold | COMMENT |
| MEDIUM | docs/plugin-dev-workflow.md | 62 | ## Why the scaffold now creates `.rml` and `.rcss` | COMMENT |
| MEDIUM | src/core/tensor/internal/lazy_executor.hpp | 116 | // Pointwise fusion scaffold gate (on by default in lazy mode). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/python/test_hot_reload_edge_cases.py | 0 | [project] name = "dep_b" version = "1.0.0" description = "" [tool.lichtfeld] auto_start = false hot_reload = true plugin | STRING |
| HIGH | tests/python/test_plugin_concurrency.py | 0 | [project] name = "dep_b" version = "1.0.0" description = "" [tool.lichtfeld] auto_start = false hot_reload = true plugin | STRING |
| HIGH | tests/python/test_hot_reload_fixes.py | 0 | [project] name = "dep_b" version = "1.0.0" description = "" [tool.lichtfeld] auto_start = false hot_reload = true plugin | STRING |
| HIGH | tests/python/test_plugin_callbacks.py | 0 | [project] name = "dep_b" version = "1.0.0" description = "" [tool.lichtfeld] auto_start = false hot_reload = true plugin | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/benchmark_omniblender.sh | 7 | # Check if results directory exists and prompt for deletion | COMMENT |
| LOW | eval/benchmark_mipnerf360_mcmc.sh | 8 | # Check if results directory exists and prompt for deletion | COMMENT |
| LOW | eval/benchmark_mipnerf360.sh | 7 | # Check if results directory e`xists and prompt for deletion | COMMENT |
| LOW | eval/benchmark_mipnerf360_mrnf.sh | 8 | # Check if results directory exists and prompt for deletion | COMMENT |
| LOW | eval/benchmark_mipnerf360_improved_gs_plus.sh | 8 | # Check if results directory exists and prompt for deletion | COMMENT |
| LOW | src/python/lfs_plugins/installer.py | 1038 | # Check if git is available | COMMENT |
| LOW | src/python/lfs_plugins/asset_scanner.py | 156 | # Check if it's a directory (dataset) | COMMENT |
| LOW | src/python/lfs_plugins/asset_scanner.py | 713 | # Check if it's a JSON checkpoint | COMMENT |
| LOW | src/python/lfs_plugins/asset_manager_panel.py | 3718 | # Open file dialog for checkpoint | COMMENT |
| LOW | src/python/lfs_plugins/asset_manager_panel.py | 3760 | # Open file dialog - use ply dialog as it supports multiple asset formats | COMMENT |
| LOW | src/python/lfs_plugins/asset_manager_panel.py | 5149 | # Check if this is a folder action (menu, rename, delete) | COMMENT |
| LOW | src/python/lfs_plugins/asset_manager_panel.py | 5723 | # Check if any selection-related fields are being dirtied. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/python/lfs_plugins/templates.py | 148 | Create a new plugin from template. Args: name: Plugin name (used for directory and module) target_d | STRING |
| HIGH | src/python/lfs_plugins/url_downloader.py | 60 | Normalize an HTTP(S) URL. - Validates scheme is http or https. - Rewrites Dropbox URLs to ensure dl=1. | STRING |
| HIGH | src/python/lfs_plugins/url_downloader.py | 524 | Download an HTTP(S) URL and optionally extract zip/tar archives. Args: url: Source URL dest_dir | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/check_ui_hardcoded.py | 30 | {"status_text", "stage", "label", "message", "title", "tooltip", "placeholder", "hint", "caption"} | CODE |
| LOW⚡ | tests/python/test_localization_contracts.py | 336 | "placeholder": sum( | CODE |
| LOW⚡ | tests/python/test_localization_contracts.py | 337 | match.group(2).lower() == "placeholder" | CODE |
| LOW⚡ | tests/python/test_localization_contracts.py | 344 | "placeholder": stamped_rml.count('data-lfs-i18n-placeholder="'), | CODE |
| LOW | src/visualizer/gui/scene_panel_native.cpp | 825 | changed |= setCachedAttribute(filter_input_el_, "placeholder", tr("scene.search")); | CODE |
| LOW | src/visualizer/gui/panels/python_console_panel.cpp | 1153 | search->SetAttribute("placeholder", LOC(lichtfeld::Strings::PythonConsole::SEARCH_PACKAGES)); | CODE |
| LOW | src/visualizer/gui/rmlui/rml_document_utils.cpp | 320 | for (const std::string_view attribute : {"title", "placeholder"}) { | CODE |
| LOW | …c/visualizer/rendering/point_cloud_vulkan_renderer.cpp | 686 | "placeholder")) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/python/test_plugin_system.py | 360 | # Create a plugin that will fail to load | COMMENT |
| MEDIUM | src/python/lfs_plugins/asset_thumbnails.py | 160 | # Create a simple PNG with the given color | COMMENT |
| MEDIUM | src/python/lfs_plugins/asset_thumbnails.py | 610 | # Create a gray placeholder with "?" label | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/python/test_histogram_panel.py | 90 | CODE | |
| LOW | …rnal/nvImageCodec/tools/stub_generator/stub_codegen.py | 49 | CODE | |
| LOW | src/python/lfs_plugins/asset_index.py | 837 | CODE | |
| LOW | src/python/lfs_plugins/asset_manager_integration.py | 243 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | external/nvImageCodec/tools/print_env.sh | 18 | # Usage: | COMMENT |