Repository Analysis

freemocap/freemocap

Free Motion Capture for Everyone 💀✨

13.6 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of freemocap/freemocap, a TypeScript project with 9,906 GitHub stars. SynthScan v2.0 examined 116,748 lines of code across 653 source files, recording 832 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 13.6 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).

13.6
Adjusted Score
13.6
Raw Score
100%
Time Factor
2026-07-30
Last Push
9.9K
Stars
TypeScript
Language
116.7K
Lines of Code
653
Files
832
Pattern Hits
2026-08-02
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

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.

CRITICAL 0HIGH 11MEDIUM 273LOW 548

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 832 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.

Decorative Section Separators262 hits · 916 pts
SeverityFileLineSnippetContext
MEDIUMpoe_tasks.toml1# =============================================================================COMMENT
MEDIUMpoe_tasks.toml3# =============================================================================COMMENT
MEDIUMpoe_tasks.toml31# =============================================================================COMMENT
MEDIUMpoe_tasks.toml44# ── Type-checking ───────────────────────────────────────────────────────COMMENT
MEDIUMpoe_tasks.toml49# ── Linting ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpoe_tasks.toml53# ── Testing ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpoe_tasks.toml66# ── Version bumping (bumpver) ───────────────────────────────────────────COMMENT
MEDIUMpoe_tasks.toml86# ── Project maintenance ─────────────────────────────────────────────────COMMENT
MEDIUMpyproject.toml148# =============================================================================COMMENT
MEDIUMpyproject.toml150# =============================================================================COMMENT
MEDIUMpyproject.toml152# =============================================================================COMMENT
MEDIUMpyproject.toml184# =============================================================================COMMENT
MEDIUMpyproject.toml186# =============================================================================COMMENT
MEDIUMpyproject.toml200# =============================================================================COMMENT
MEDIUMpyproject.toml202# =============================================================================COMMENT
MEDIUMpyproject.toml216# =============================================================================COMMENT
MEDIUM…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py49 # ------------------------------------------------------------------COMMENT
MEDIUM…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py51 # ------------------------------------------------------------------COMMENT
MEDIUM…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py92 # ------------------------------------------------------------------COMMENT
MEDIUM…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py94 # ------------------------------------------------------------------COMMENT
MEDIUM…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py172 # ------------------------------------------------------------------COMMENT
MEDIUM…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py174 # ------------------------------------------------------------------COMMENT
MEDIUM…cap/core/pipeline/realtime/realtime_keypoint_filter.py69 # ------------------------------------------------------------------COMMENT
MEDIUM…/pipeline/realtime/realtime_skeleton_inference_node.py325# ---------------------------------------------------------------------------COMMENT
MEDIUM…/pipeline/realtime/realtime_skeleton_inference_node.py327# ---------------------------------------------------------------------------COMMENT
MEDIUM…ap/core/pipeline/realtime/realtime_pipeline_manager.py47 # ------------------------------------------------------------------COMMENT
MEDIUM…ap/core/pipeline/realtime/realtime_pipeline_manager.py49 # ------------------------------------------------------------------COMMENT
MEDIUM…ap/core/pipeline/realtime/realtime_pipeline_manager.py114 # ------------------------------------------------------------------COMMENT
MEDIUM…ap/core/pipeline/realtime/realtime_pipeline_manager.py116 # ------------------------------------------------------------------COMMENT
MEDIUM…ap/core/pipeline/realtime/realtime_pipeline_manager.py153 # ------------------------------------------------------------------COMMENT
MEDIUM…ap/core/pipeline/realtime/realtime_pipeline_manager.py155 # ------------------------------------------------------------------COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py44# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py46# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py58# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py60# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py131# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py133# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py166# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py168# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py207# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py209# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py238# =============================================================================COMMENT
MEDIUM…cap/core/tasks/calibration/posthoc_calibration_task.py240# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py23# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py25# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py56# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py58# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py163# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py165# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py343# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py345# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py393# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py395# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py445# =============================================================================COMMENT
MEDIUM…/core/tasks/calibration/shared/compare_calibrations.py447# =============================================================================COMMENT
MEDIUM…libration/anipose_calibration/helpers/bundle_adjust.py50# =============================================================================COMMENT
MEDIUM…libration/anipose_calibration/helpers/bundle_adjust.py52# =============================================================================COMMENT
MEDIUM…libration/anipose_calibration/helpers/bundle_adjust.py146# =============================================================================COMMENT
MEDIUM…libration/anipose_calibration/helpers/bundle_adjust.py148# =============================================================================COMMENT
MEDIUM…libration/anipose_calibration/helpers/bundle_adjust.py506# =============================================================================COMMENT
202 more matches not shown…
Hyper-Verbose Identifiers271 hits · 309 pts
SeverityFileLineSnippetContext
LOW…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py96 def create_calibration_pipeline(CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py209 def _resolve_annotated_video_paths(CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py450def _build_recording_frame_cache(CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py498def _load_cache_by_connection_frame(CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py583def _load_recording_to_connection_frame_map(CODE
LOWfreemocap/core/pipeline/posthoc/annotation_style.py78def build_skeleton_stage_schema(CODE
LOWfreemocap/core/pipeline/posthoc/video_group_helper.py518def _frame_count_mismatch_detail(videos: dict[CameraIdString, "VideoHelper"]) -> str:CODE
LOWfreemocap/core/pipeline/realtime/camera_node_config.py26def _default_skeleton_tracker_config() -> TrackerConfig:CODE
LOWfreemocap/core/pipeline/realtime/camera_node_config.py52def _charuco_tracker_config_for_board(board: CharucoBoardDefinition) -> TrackerConfig:CODE
LOWfreemocap/core/pipeline/realtime/camera_node_config.py114 def _sync_charuco_tracker_config(self) -> "CameraNodeConfig":CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py330def _build_session_and_tracker(CODE
LOWfreemocap/core/pipeline/realtime/camera_node.py41def _build_charuco_tracker_from_config(node_config: CameraNodeConfig):CODE
LOWfreemocap/core/pipeline/realtime/camera_node.py58def _build_skeleton_tracker_from_config(node_config: CameraNodeConfig):CODE
LOW…ap/core/pipeline/realtime/realtime_pipeline_manager.py104 def get_pipeline_by_camera_ids(CODE
LOW…ap/core/pipeline/realtime/realtime_pipeline_manager.py118 async def wait_for_any_result_ready(self, timeout: float = 0.5) -> None:CODE
LOW…ap/core/pipeline/realtime/realtime_pipeline_manager.py137 def get_latest_frontend_payloads(CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py378 def enter_calibration_charuco_only_mode(self) -> None:CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py409 def exit_calibration_charuco_only_mode(self) -> None:CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py437 def get_latest_skeleton_fit_state(self) -> SkeletonFitStateMessage | None:CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py447 def get_latest_frontend_payload(CODE
LOW…cap/core/tasks/calibration/posthoc_calibration_task.py63def _observation_to_frame_observation(CODE
LOW…cap/core/tasks/calibration/posthoc_calibration_task.py109def _convert_all_observations(CODE
LOW…cap/core/tasks/calibration/posthoc_calibration_task.py243def run_posthoc_calibration_task(CODE
LOW…/core/tasks/calibration/shared/compare_calibrations.py61def _get_adjacent_corner_pairs(CODE
LOW…/core/tasks/calibration/shared/compare_calibrations.py120def _compute_board_distance_errors(CODE
LOW…/core/tasks/calibration/shared/compare_calibrations.py269def compute_calibration_health(CODE
LOW…/core/tasks/calibration/shared/compare_calibrations.py499def compare_calibration_results(CODE
LOW…cap/core/tasks/calibration/shared/calibration_paths.py13def get_calibrations_folder_path() -> Path:CODE
LOW…cap/core/tasks/calibration/shared/calibration_paths.py18def create_camera_calibration_file_name(recording_name: str) -> str:CODE
LOW…cap/core/tasks/calibration/shared/calibration_paths.py23def get_last_successful_calibration_toml_path() -> Path:CODE
LOW…core/tasks/calibration/shared/groundplane_alignment.py39def apply_groundplane_to_cameras(CODE
LOW…e/tasks/calibration/shared/interpolate_trajectories.py5def interpolate_trajectory_data(CODE
LOW…ap/core/tasks/calibration/shared/calibration_result.py61 def get_triangulator_for_cameras(self, camera_ids: list[str]) -> "Triangulator":CODE
LOW…emocap/core/tasks/calibration/shared/transform_math.py23def build_transformation_matrix(rvec: NDArray[np.float64], tvec: NDArray[np.float64]) -> NDArray[np.float64]:CODE
LOW…emocap/core/tasks/calibration/shared/transform_math.py190def robust_average_transforms(transforms: list[NDArray[np.float64]]) -> NDArray[np.float64]:CODE
LOW…emocap/core/tasks/calibration/shared/transform_math.py230def build_maximum_spanning_tree(CODE
LOW…/core/tasks/calibration/shared/camera_id_resolution.py54def resolve_camera_id_or_raise(CODE
LOW…cap/core/tasks/calibration/shared/camera_intrinsics.py72 def from_camera_matrix_and_dist(CODE
LOW…ocap/core/tasks/calibration/shared/groundplane_math.py234def estimate_board_groundplane(CODE
LOW…e/tasks/calibration/charuco_board/charuco_board_ops.py137def get_all_calibration_points(CODE
LOW…ration/charuco_board/charuco_observation_aggregator.py27 def from_charuco_observation_payload(CODE
LOW…ration/charuco_board/charuco_observation_aggregator.py50 def all_observations_by_camera(self) -> dict[CameraIdString, list[Observation]]:CODE
LOW…ose_calibration/helpers/anipose_calibration_helpers.py40def pin_camera_zero_to_origin(cameras: list[CameraModel]) -> list[CameraModel]:CODE
LOW…ose_calibration/helpers/anipose_calibration_helpers.py64def set_charuco_board_as_groundplane(CODE
LOW…ose_calibration/helpers/anipose_calibration_helpers.py150def _adjust_world_reference_frame_to_charuco(CODE
LOW…libration/anipose_calibration/helpers/bundle_adjust.py46def camera_ids_from_camera_models(cameras: list[CameraModel]) -> list[CameraIdString]:CODE
LOW…libration/anipose_calibration/helpers/bundle_adjust.py151def iterative_bundle_adjustment(CODE
LOW…libration/anipose_calibration/helpers/bundle_adjust.py450def _initialize_params_bundle(CODE
LOW…libration/anipose_calibration/helpers/bundle_adjust.py511def calibrate_cameras_from_rows(CODE
LOW…ation/anipose_calibration/helpers/freemocap_anipose.py353def extract_roration_translation_vectors(CODE
LOW…ibration/pyceres_calibration/helpers/cost_functions.py18def _quat_wxyz_to_rotation_matrix(quat_wxyz: NDArray[np.float64]) -> NDArray[np.float64]:CODE
LOW…asks/calibration/pyceres_calibration/helpers/solver.py59def _compute_reprojection_errors(CODE
LOW…asks/calibration/pyceres_calibration/helpers/solver.py119def run_pyceres_bundle_adjustment(CODE
LOW…ibration/pyceres_calibration/helpers/initialization.py185def _compute_pairwise_transform(CODE
LOW…ibration/pyceres_calibration/helpers/postprocessing.py102def _triangulate_charuco_corners(CODE
LOW…ibration/pyceres_calibration/helpers/postprocessing.py165def estimate_charuco_groundplane(CODE
LOW…ibration/pyceres_calibration/helpers/postprocessing.py212def align_to_charuco_groundplane(CODE
LOWfreemocap/core/tasks/mocap/mocap_task_config.py118 def _build_tracker_config_from_detector_type(self) -> "PosthocMocapPipelineConfig":CODE
LOWfreemocap/core/tasks/mocap/posthoc_mocap_task.py42def run_posthoc_mocap_aggregator_task(CODE
LOWfreemocap/core/tasks/mocap/center_of_mass.py220def _calculate_all_segments_com_per_frame(CODE
211 more matches not shown…
Modern Structural Boilerplate79 hits · 83 pts
SeverityFileLineSnippetContext
LOWfreemocap/__main__.py15logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/pipeline_stage_timer.py17logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/pipeline_timing_reporter.py23logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/abcs/base_node_abc.py30logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/posthoc/posthoc_pipeline.py36logger = logging.getLogger(__name__)CODE
LOW…ocap/core/pipeline/posthoc/posthoc_pipeline_manager.py31logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py45logger = logging.getLogger(__name__)CODE
LOW…ocap/core/pipeline/posthoc/posthoc_aggregation_node.py47logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/posthoc/video_group_helper.py18logger = logging.getLogger(__name__)CODE
LOW…cap/core/pipeline/realtime/realtime_keypoint_filter.py23logger = logging.getLogger(__name__)CODE
LOW…emocap/core/pipeline/realtime/charuco_recorder_node.py28logger = logging.getLogger(__name__)CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py76logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/realtime/camera_node.py38logger = logging.getLogger(__name__)CODE
LOW…ap/core/pipeline/realtime/realtime_pipeline_manager.py30logger = logging.getLogger(__name__)CODE
LOW…cap/core/pipeline/realtime/realtime_aggregator_node.py100logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py49logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py306 def update_config(self, new_config: RealtimePipelineConfig) -> None:CODE
LOW…cap/core/tasks/calibration/posthoc_calibration_task.py41logger = logging.getLogger(__name__)CODE
LOW…/core/tasks/calibration/shared/compare_calibrations.py20logger = logging.getLogger(__name__)CODE
LOW…core/tasks/calibration/shared/groundplane_alignment.py20logger = logging.getLogger(__name__)CODE
LOW…ocap/core/tasks/calibration/shared/calibration_save.py18logger = logging.getLogger(__name__)CODE
LOW…emocap/core/tasks/calibration/shared/transform_math.py20logger = logging.getLogger(__name__)CODE
LOW…cap/core/tasks/calibration/shared/calibration_state.py28logger = logging.getLogger(__name__)CODE
LOW…bration/anipose_calibration/run_anipose_calibration.py31logger = logging.getLogger(__name__)CODE
LOW…ose_calibration/helpers/anipose_calibration_helpers.py31logger = logging.getLogger(__name__)CODE
LOW…libration/anipose_calibration/helpers/bundle_adjust.py44logger = logging.getLogger(__name__)CODE
LOW…ation/anipose_calibration/helpers/freemocap_anipose.py21logger = logging.getLogger(__name__)CODE
LOW…on/pyceres_calibration/pyceres_calibration_pipeline.py27logger = logging.getLogger(__name__)CODE
LOW…asks/calibration/pyceres_calibration/helpers/solver.py26logger = logging.getLogger(__name__)CODE
LOW…ibration/pyceres_calibration/helpers/initialization.py27logger = logging.getLogger(__name__)CODE
LOW…ibration/pyceres_calibration/helpers/postprocessing.py22logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/tasks/mocap/posthoc_mocap_task.py39logger = logging.getLogger(__name__)CODE
LOW…mocap/mocap_helpers/charuco_model_from_observations.py31logger = logging.getLogger(__name__)CODE
LOW…ks/mocap/mocap_helpers/triangulate_trajectory_array.py11logger = logging.getLogger(__name__)CODE
LOW…/mocap_helpers/skeleton_from_mediapipe_observations.py22logger = logging.getLogger(__name__)CODE
LOW…/tasks/mocap/realtime_filtering/realtime_point_gate.py25logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/tasks/triangulation/triangulator.py29logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/viz/frontend_payload.py15logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/viz/frontend_keypoints_serializer.py36logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/tracking/tracker_factory.py45logger = logging.getLogger(__name__)CODE
LOWfreemocap/core/blender/export_to_blender.py15logger = logging.getLogger(__name__)CODE
LOW…core/blender/helpers/get_best_guess_of_blender_path.py6logger = logging.getLogger(__name__)CODE
LOWfreemocap/app/freemocap_application.py29logger = logging.getLogger(__name__)CODE
LOWfreemocap/app/app.py34logger = logging.getLogger(__name__)CODE
LOWfreemocap/tests/pipelines/conftest.py45logger = logging.getLogger(__name__)CODE
LOWfreemocap/tests/pipelines/test_realtime_pipeline.py27logger = logging.getLogger(__name__)CODE
LOW…p/tests/pipelines/test_posthoc_calibration_pipeline.py7logger = logging.getLogger(__name__)CODE
LOW…eemocap/tests/pipelines/test_posthoc_mocap_pipeline.py11logger = logging.getLogger(__name__)CODE
LOWfreemocap/tests/pipelines/helpers.py6logger = logging.getLogger(__name__)CODE
LOW…mocap/tests/pipelines/test_anthropometry_validation.py8logger = logging.getLogger(__name__)CODE
LOWfreemocap/tests/pipelines/test_calibration_cache_e2e.py42logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/remove_empty_directories.py5logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/asyncio_exception_handler.py4logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/kill_process_on_port.py5logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/check_main_processs_heartbeat.py9logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/fix_opencv_conflict.py5logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/download_sample_data.py15logger = logging.getLogger(__name__)CODE
LOW…tilities/get_number_of_frames_of_videos_in_a_folder.py9logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/save_dictionary_to_json.py6logger = logging.getLogger(__name__)CODE
LOWfreemocap/utilities/update_1_4_path_names.py13def update_1_4_path_names(freemocap_data_folder_path: Optional[Union[str, Path]]) -> None:CODE
19 more matches not shown…
Excessive Try-Catch Wrapping64 hits · 66 pts
SeverityFileLineSnippetContext
LOWfreemocap/__main__.py98 except Exception as e:CODE
LOWfreemocap/__main__.py116 except Exception as e:CODE
LOWfreemocap/core/pipeline/pipeline_timing_reporter.py117 except Exception as e:CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py399 except Exception as e:CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py519 except Exception:CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py609 except Exception:CODE
LOW…ocap/core/pipeline/posthoc/posthoc_aggregation_node.py244 except Exception as e:CODE
LOW…emocap/core/pipeline/realtime/charuco_recorder_node.py160 except Exception:CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py242 except Exception as mem_err:CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py312 except Exception as e:CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py352 except Exception as e:CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py378 except Exception as e:CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py405 except Exception as e:CODE
LOWfreemocap/core/pipeline/realtime/camera_node.py349 except Exception as e:CODE
LOW…cap/core/pipeline/realtime/realtime_aggregator_node.py860 except Exception as e:CODE
LOW…cap/core/tasks/calibration/shared/calibration_state.py143 except Exception as e:CODE
LOW…cap/core/tasks/calibration/shared/calibration_state.py169 except Exception as e:CODE
LOW…cap/core/tasks/calibration/shared/calibration_state.py204 except Exception as e:CODE
LOW…cap/core/tasks/calibration/shared/calibration_state.py372 except Exception as e:CODE
LOWfreemocap/core/tasks/mocap/posthoc_mocap_task.py129 except Exception as e:CODE
LOW…/mocap_helpers/skeleton_from_mediapipe_observations.py127 except Exception as e:CODE
LOW…/mocap_helpers/skeleton_from_mediapipe_observations.py132 except Exception as e:CODE
LOWfreemocap/core/viz/blender/blender_trajectory_loader.py404 except Exception as e:CODE
LOWfreemocap/core/blender/helpers/bpy_install_addon.py26 except Exception as e:CODE
LOWfreemocap/core/blender/helpers/run_blender_export.py42 except Exception:CODE
LOWfreemocap/core/blender/helpers/install_blender_addon.py20 except Exception:CODE
LOWfreemocap/app/app.py234 except Exception:CODE
LOWfreemocap/app/app.py238 except Exception:CODE
LOWfreemocap/app/app.py282 except Exception:CODE
LOWfreemocap/app/app.py301 except Exception:CODE
LOWfreemocap/tests/pipelines/conftest.py96 except Exception as e:CODE
LOWfreemocap/api/middleware/add_middleware.py74 except Exception as e:CODE
LOWfreemocap/api/websocket/tracker_schema_message.py76 except Exception:CODE
LOWfreemocap/api/websocket/tracker_schema_message.py89 except Exception:CODE
LOWfreemocap/api/websocket/websocket_server.py139 except Exception:CODE
LOWfreemocap/api/websocket/websocket_server.py170 except Exception as e:CODE
LOWfreemocap/api/websocket/websocket_server.py201 except Exception as e:CODE
LOWfreemocap/api/websocket/websocket_server.py233 except Exception as e:CODE
LOWfreemocap/api/websocket/websocket_server.py351 except Exception as e:CODE
LOWfreemocap/api/websocket/websocket_server.py387 except Exception as e:CODE
LOWfreemocap/api/websocket/websocket_server.py459 except Exception as e:CODE
LOWfreemocap/api/http/calibration/calibration_router.py165 except Exception:CODE
LOWfreemocap/api/http/calibration/calibration_router.py174 except Exception as e:CODE
LOWfreemocap/api/http/calibration/calibration_router.py209 except Exception:CODE
LOWfreemocap/api/http/calibration/calibration_router.py227 except Exception as e:CODE
LOWfreemocap/api/http/calibration/calibration_router.py250 except Exception as e:CODE
LOWfreemocap/api/http/mocap/mocap_router.py110 except Exception as e:CODE
LOWfreemocap/api/http/mocap/mocap_router.py134 except Exception as e:CODE
LOWfreemocap/api/http/mocap/mocap_router.py161 except Exception as e:CODE
LOWfreemocap/api/http/realtime/realtime_router.py125 except Exception as e:CODE
LOWfreemocap/api/http/realtime/realtime_router.py143 except Exception as e:CODE
LOWfreemocap/api/http/realtime/realtime_router.py178 except Exception as e:CODE
LOWfreemocap/api/http/realtime/realtime_router.py209 except Exception as e:CODE
LOWfreemocap/api/http/playback/playback_router.py214 except Exception:CODE
LOWfreemocap/api/http/playback/playback_router.py368 except Exception as e:CODE
LOWfreemocap/api/http/playback/playback_router.py762 except Exception as e:CODE
LOWfreemocap/api/http/playback/playback_router.py1048 except Exception:CODE
LOWfreemocap/api/http/playback/playback_router.py1056 except Exception:CODE
LOWfreemocap/api/http/playback/playback_router.py1078 except Exception:CODE
LOWfreemocap/api/http/blender/blender_router.py109 except Exception as e:CODE
4 more matches not shown…
Unused Imports58 hits · 57 pts
SeverityFileLineSnippetContext
LOWfreemocap/core/pipeline/posthoc/posthoc_pipeline.py13CODE
LOW…emocap/core/pipeline/posthoc/task_progress_reporter.py10CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py99CODE
LOWfreemocap/core/pipeline/posthoc/annotation_style.py5CODE
LOW…cap/core/pipeline/realtime/realtime_pipeline_config.py2CODE
LOW…cap/core/pipeline/realtime/realtime_pipeline_config.py3CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py58CODE
LOW…ap/core/pipeline/realtime/realtime_pipeline_manager.py28CODE
LOW…cap/core/tasks/calibration/shared/calibration_state.py13CODE
LOW…e/tasks/calibration/charuco_board/charuco_board_ops.py12CODE
LOW…libration/anipose_calibration/helpers/bundle_adjust.py7CODE
LOW…anipose_calibration/helpers/camera_model_solver_ops.py6CODE
LOWfreemocap/core/tasks/mocap/posthoc_mocap_task.py9CODE
LOWfreemocap/core/tasks/mocap/posthoc_mocap_task.py22CODE
LOWfreemocap/core/tasks/mocap/center_of_mass.py32CODE
LOW…cap/core/tasks/mocap/rigid_body/skeleton_rigidifier.py17CODE
LOW…/core/tasks/mocap/rigid_body/online_segment_lengths.py28CODE
LOW…ocap/core/tasks/mocap/rigid_body/segment_fit_ritual.py25CODE
LOWfreemocap/core/viz/frontend_payload.py6CODE
LOWfreemocap/core/viz/frontend_payload.py11CODE
LOWfreemocap/core/viz/frontend_keypoints_serializer.py16CODE
LOWfreemocap/core/viz/frontend_keypoints_serializer.py22CODE
LOW…emocap/core/viz/image_overlay/skeleton_overlay_data.py18CODE
LOWfreemocap/core/kinematics/segment_lengths.py23CODE
LOWfreemocap/core/kinematics/body_kinematics_state.py7CODE
LOWfreemocap/core/kinematics/inertial/ground_reference.py6CODE
LOWfreemocap/core/kinematics/inertial/anthropometry.py24CODE
LOWfreemocap/core/kinematics/inertial/composite_inertia.py6CODE
LOW…eemocap/core/kinematics/online/streaming_kinematics.py7CODE
LOWfreemocap/core/tracking/tracker_factory.py9CODE
LOWfreemocap/core/tracking/tracker_factory.py12CODE
LOWfreemocap/core/tracking/tracker_factory.py14CODE
LOWfreemocap/core/tracking/tracker_factory.py15CODE
LOWfreemocap/core/tracking/tracker_factory.py16CODE
LOWfreemocap/core/tracking/tracker_factory.py17CODE
LOWfreemocap/core/tracking/tracker_factory.py85CODE
LOWfreemocap/core/tracking/observation_buffer.py6CODE
LOWfreemocap/core/tracking/tracker_definitions.py8CODE
LOWfreemocap/core/blender/export_to_blender.py10CODE
LOWfreemocap/app/freemocap_application.py7CODE
LOWfreemocap/app/freemocap_application.py8CODE
LOWfreemocap/app/app.py5CODE
LOWfreemocap/tests/test_binary_keypoints_protocol.py8CODE
LOWfreemocap/tests/pipelines/anthropometry.py10CODE
LOWfreemocap/tests/kinematics/test_anthropometry.py1CODE
LOWfreemocap/utilities/check_main_processs_heartbeat.py2CODE
LOW…eemocap/utilities/extract_camera_id_from_video_path.py3CODE
LOW…eemocap/utilities/extract_camera_id_from_video_path.py3CODE
LOW…ocap/system/recording_structure/recording_structure.py27CODE
LOW…ocap/system/recording_structure/recording_structure.py29CODE
LOW…ocap/system/recording_structure/recording_structure.py33CODE
LOWfreemocap/api/websocket/websocket_server.py11CODE
LOWfreemocap/api/http/calibration/calibration_router.py1CODE
LOWfreemocap/api/http/calibration/calibration_router.py3CODE
LOWfreemocap/api/http/mocap/mocap_router.py2CODE
LOWfreemocap/pubsub/pubsub_manager.py11CODE
LOWfreemocap/pubsub/pubsub_relay.py18CODE
LOWfreemocap/pubsub/pubsub_topics.py13CODE
Docstring Block Structure9 hits · 45 pts
SeverityFileLineSnippetContext
HIGH…emocap/core/tasks/calibration/shared/transform_math.py89Compute mean 4x4 transformation from a list of transforms. Averages Rodrigues vectors and translation vectors indepSTRING
HIGH…emocap/core/tasks/calibration/shared/transform_math.py137Iteratively filter outlier transforms and recompute the mean. At each iteration, transforms whose rotation block diSTRING
HIGH…emocap/core/tasks/calibration/shared/transform_math.py191Full robust averaging pipeline for a list of 4x4 transforms. Clusters to remove outliers, computes initial mean, thSTRING
HIGH…emocap/core/tasks/calibration/shared/transform_math.py235Build a maximum spanning tree from weighted edges via greedy Kruskal. Args: connection_counts: Mapping of (STRING
HIGH…ocap/core/tasks/calibration/shared/groundplane_math.py33Find the longest contiguous run of frames over which the board is still. Motion for a transition t -> t+1 is the MESTRING
HIGH…ocap/core/tasks/calibration/shared/groundplane_math.py106Per-corner median 3D position over a frame window, ignoring NaN (blinky) gaps. Args: charuco_3d: (n_frames,STRING
HIGH…ocap/core/tasks/calibration/shared/groundplane_math.py142Best-fit rigid transform mapping board-frame corners to measured world corners. Solves the orthogonal Procrustes / STRING
HIGH…ocap/core/tasks/calibration/shared/groundplane_math.py244Estimate the board ground-plane pose robustly from triangulated corners. Pipeline: stable window -> per-corner mediSTRING
HIGHfreemocap/core/viz/blender/blender_trajectory_loader.py35 Read mediapipe tracking data from CSV file Args: filepath: Path to the CSV file ReturSTRING
Deep Nesting38 hits · 36 pts
SeverityFileLineSnippetContext
LOWfreemocap/core/pipeline/pipeline_timing_reporter.py98CODE
LOWfreemocap/core/pipeline/posthoc/video_node.py235CODE
LOW…ocap/core/pipeline/posthoc/posthoc_aggregation_node.py95CODE
LOW…emocap/core/pipeline/realtime/charuco_recorder_node.py81CODE
LOW…/pipeline/realtime/realtime_skeleton_inference_node.py118CODE
LOWfreemocap/core/pipeline/realtime/camera_node.py137CODE
LOW…cap/core/pipeline/realtime/realtime_aggregator_node.py193CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py306CODE
LOWfreemocap/core/pipeline/realtime/realtime_pipeline.py447CODE
LOW…/core/tasks/calibration/shared/compare_calibrations.py87CODE
LOW…e/tasks/calibration/shared/interpolate_trajectories.py5CODE
LOW…ation/anipose_calibration/helpers/freemocap_anipose.py181CODE
LOW…ation/anipose_calibration/helpers/freemocap_anipose.py353CODE
LOW…ation/anipose_calibration/helpers/freemocap_anipose.py456CODE
LOW…ibration/pyceres_calibration/helpers/cost_functions.py98CODE
LOW…asks/calibration/pyceres_calibration/helpers/solver.py119CODE
LOW…ibration/pyceres_calibration/helpers/postprocessing.py102CODE
LOW…eemocap/core/viz/image_overlay/charuco_overlay_data.py39CODE
LOWfreemocap/core/viz/blender/blender_trajectory_loader.py34CODE
LOWfreemocap/core/viz/blender/blender_trajectory_loader.py304CODE
LOWfreemocap/app/app.py160CODE
LOWfreemocap/app/app.py242CODE
LOWfreemocap/tests/pipelines/conftest.py73CODE
LOWfreemocap/tests/pipelines/test_realtime_pipeline.py239CODE
LOWfreemocap/utilities/kill_process_on_port.py8CODE
LOWfreemocap/utilities/convert_pydantic_to_zod.py7CODE
LOWfreemocap/utilities/update_1_4_path_names.py47CODE
LOWfreemocap/api/websocket/websocket_server.py244CODE
LOWfreemocap/api/websocket/websocket_server.py357CODE
LOWfreemocap/api/websocket/websocket_server.py397CODE
LOWfreemocap/api/http/calibration/calibration_router.py133CODE
LOWfreemocap/api/http/calibration/calibration_router.py180CODE
LOWfreemocap/api/http/realtime/realtime_router.py95CODE
LOWfreemocap/api/http/playback/playback_router.py258CODE
LOWfreemocap/api/http/playback/playback_router.py385CODE
LOWfreemocap/api/http/playback/playback_router.py869CODE
LOWfreemocap/api/http/playback/playback_router.py923CODE
LOWfreemocap/pubsub/pubsub_abcs.py73CODE
Over-Commented Block25 hits · 25 pts
SeverityFileLineSnippetContext
LOWpoe_tasks.toml1# =============================================================================COMMENT
LOWpoe_tasks.toml21# This file is loaded automatically because pyproject.toml has no [tool.poe]COMMENT
LOWpoe_tasks.toml81[tool.poe.tasks.test-ui]COMMENT
LOWpyproject.toml61 "sys_platform == 'win32' and platform_machine == 'AMD64'",COMMENT
LOWpyproject.toml81 exclude-dependencies = ["opencv-python"]COMMENT
LOWpyproject.toml101name = "rtmlib"COMMENT
LOWpyproject.toml141"freemocap-ui/package.json" = ['"version": "MAJOR.MINOR.PATCH[-TAG.NUM]"']COMMENT
LOWpyproject.toml201# Ruff linter configCOMMENT
LOWfreemocap/core/pipeline/realtime/camera_node_config.py81 # Always rebuilt from charuco_board by _sync_charuco_tracker_config below.COMMENT
LOWfreemocap/core/tasks/mocap/center_of_mass.py281 return total, directly_observedCOMMENT
LOW…sks/mocap/realtime_filtering/realtime_filter_config.py41 #COMMENT
LOW…sks/mocap/realtime_filtering/realtime_filter_config.py61 # Appropriate range for mm-space mocap data: 0.003 - 0.02.COMMENT
LOW…sks/mocap/realtime_filtering/realtime_filter_config.py81COMMENT
LOW…sks/mocap/realtime_filtering/realtime_filter_config.py101 segment_length_agreement_tol: float = 0.05COMMENT
LOW…sks/mocap/realtime_filtering/realtime_filter_config.py121 # frame to count as good (pixels).COMMENT
LOW…sks/mocap/realtime_filtering/realtime_filter_config.py141 # (which scale by height) use the same units.COMMENT
LOWfreemocap/pubsub/pubsub_topics.py181# Pipeline stage timing (opt-in profiling)COMMENT
LOWfreemocap-ui/src/layout/content/SidePanelContent.tsx41// measured from its own content so it can never be squashed (see useContentMinSizes).COMMENT
LOWfreemocap-ui/src/components/tutorial/types.ts1// Tutorial step-graph model.COMMENT
LOWfreemocap-ui/src/hooks/floatingOnboarding.tsx301COMMENT
LOWfreemocap-ui/src/hooks/floatingOnboarding.tsx321 // }COMMENT
LOW…/server-helpers/frame-processor/frame-decode.worker.ts1// frame-decode.worker.tsCOMMENT
LOW…es/active-recording/layout-presets/layout-presets.yaml1# Recording folder layout presets.COMMENT
LOWfreemocap-docs/src/pages/index.tsx1import { Redirect } from '@docusaurus/router';COMMENT
LOW.github/workflows/build-installers-pyinstaller.yml621 R2_ENDPOINT: ${{ secrets.CLOUDFLARE_R2_S3_ENDPOINT }}COMMENT
AI Slop Vocabulary7 hits · 14 pts
SeverityFileLineSnippetContext
MEDIUM…emocap/core/tasks/calibration/shared/transform_math.py191 """Full robust averaging pipeline for a list of 4x4 transforms.STRING
MEDIUM…ation/anipose_calibration/helpers/freemocap_anipose.py235 """Compute the robust average transform between two cameras from shared observations.STRING
MEDIUMfreemocap/core/tasks/triangulation/triangulator.py109 # TODO - Should add more robust camera matching method here. Camera ID's are not stable across (say) reboot,COMMENT
MEDIUMfreemocap/core/kinematics/segment_lengths.py115 mad_mm: float # median absolute deviation (robust spread)CODE
MEDIUMfreemocap/tests/calibration/test_groundplane_math.py1"""Unit and end-to-end tests for the robust charuco ground-plane estimator."""STRING
MEDIUMfreemocap-ui/package-lock.json7586 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
MEDIUMfreemocap-docs/package-lock.json17339 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz",CODE
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMpoe_tasks.toml21# This file is loaded automatically because pyproject.toml has no [tool.poe]COMMENT
MEDIUM…cap/core/pipeline/realtime/realtime_aggregator_node.py254 # Create the skeleton rigidifier (canonical models + per-bone onlineCOMMENT
Verbosity Indicators4 hits · 6 pts
SeverityFileLineSnippetContext
LOW…ibration/pyceres_calibration/helpers/initialization.py241 # Step 1: Estimate board poses per camera per frameCOMMENT
LOW…ibration/pyceres_calibration/helpers/initialization.py257 # Step 2: Build spanning tree from shared observation countsCOMMENT
LOW…ibration/pyceres_calibration/helpers/initialization.py282 # Step 3: Chain pairwise transforms from rootCOMMENT
LOW…ibration/pyceres_calibration/helpers/initialization.py297 # Step 4: Convert 4x4 matrices to CameraExtrinsicsCOMMENT
Structural Annotation Overuse4 hits · 6 pts
SeverityFileLineSnippetContext
LOW…ibration/pyceres_calibration/helpers/initialization.py241 # Step 1: Estimate board poses per camera per frameCOMMENT
LOW…ibration/pyceres_calibration/helpers/initialization.py257 # Step 2: Build spanning tree from shared observation countsCOMMENT
LOW…ibration/pyceres_calibration/helpers/initialization.py282 # Step 3: Chain pairwise transforms from rootCOMMENT
LOW…ibration/pyceres_calibration/helpers/initialization.py297 # Step 4: Convert 4x4 matrices to CameraExtrinsicsCOMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHfreemocap-ui/src/i18n/locales/en-english.json222 "aiTranslatedTooltip": "This translation was generated by AI and may contain errors. If you speak this language, you cCODE
Modern AI Meta-Vocabulary1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUMfreemocap/app/freemocap_application.py62 # Recording orchestrationCOMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMfreemocap/utilities/setup_windows_app_id.py8 # set up so you can change the taskbar icon - https://stackoverflow.com/a/74531530/14662833COMMENT
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGH…cap/core/tasks/calibration/shared/calibration_state.py224 path, where reprojection error is undefined) — or None if no validSTRING
Redundant / Tautological Comments2 hits · 2 pts
SeverityFileLineSnippetContext
LOWfreemocap/core/blender/helpers/bpy_install_addon.py56 # # Check if the addon name is in the list of installed addonsCOMMENT
LOWfreemocap/utilities/download_sample_data.py37 r.raise_for_status() # Check if request was successfulCODE
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…libration/anipose_calibration/helpers/bundle_adjust.py151CODE
LOW…cap/core/tasks/mocap/rigid_body/skeleton_rigidifier.py295CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWfreemocap/core/pipeline/posthoc/video_group_helper.py564# Example usageCOMMENT