{
  "schema_version": 1,
  "top_level_directories": {
    "source_modules": [
      "app",
      "cli",
      "core",
      "gui",
      "models",
      "mvr",
      "viewer2d",
      "viewer3d",
      "viewer_common"
    ],
    "runtime_content": ["library", "resources"],
    "build_support": ["cmake", "scripts"],
    "packaging": ["packaging"],
    "quality_and_documentation": ["docs", "tests"],
    "vendored_dependencies": ["third_party"],
    "licenses": ["licenses"],
    "automation_metadata": [".github"]
  },
  "root_file_roles": {
    "application_entry_point": ["main.cpp"],
    "build_entry_points": ["CMakeLists.txt", "CMakePresets.json"],
    "setup_launchers": ["setup.sh", "setup_windows.ps1"],
    "dependency_metadata": ["vcpkg.json"],
    "project_metadata": ["VERSION", "LICENSE.txt", "THIRD_PARTY_NOTICES.md"],
    "documentation_and_community": [
      "README.md",
      "CONTRIBUTING.md",
      "CODE_OF_CONDUCT.md",
      "SECURITY.md"
    ],
    "repository_guidance": ["AGENTS.md"]
  },
  "source_registration": {
    "model": "Explicit source lists; no recursive project-source discovery.",
    "module_cmake_directories": [
      "app",
      "cli",
      "core",
      "gui",
      "models",
      "mvr",
      "viewer2d",
      "viewer3d",
      "viewer_common"
    ],
    "root_registered_source_groups": [],
    "root_project_sources": ["main.cpp"],
    "root_compiled_entry_points": ["main.cpp"],
    "generated_sources": ["generated/build_info.cpp"],
    "conditional_subdirectories": ["tests"]
  },
  "documentation_contract": {
    "architecture_source_modules_marker": "repository-source-module-responsibilities",
    "repository_layout_source_modules_marker": "repository-source-modules",
    "repository_layout_root_source_roles_marker": "repository-root-source-roles",
    "root_source_roles": {
      "main.cpp": "application_entry_point"
    }
  },
  "module_guard_sets": {
    "dependency_directions": [
      "app", "cli", "core", "gui", "models", "mvr", "viewer2d", "viewer3d", "viewer_common"
    ],
    "application_bootstrap_lower_level": [
      "cli", "core", "gui", "models", "mvr", "viewer2d", "viewer3d", "viewer_common"
    ]
  },
  "structural_guard": {
    "local_configuration": {
      "prohibited_root_files": [
        "CMakeUserPresets.json",
        "CMakeCache.txt",
        "cmake_install.cmake",
        "CTestTestfile.cmake",
        "compile_commands.json",
        "build.ninja",
        ".ninja_deps",
        ".ninja_log",
        "Makefile"
      ],
      "prohibited_directory_prefixes": ["build/", "out/", "Debug/", "Release/", ".vs/"],
      "prohibited_paths": [
        ".vscode/extensions.json",
        ".vscode/launch.json",
        ".vscode/settings.json"
      ],
      "prohibited_build_tree_components": ["CMakeFiles", "Testing"],
      "required_gitignore_patterns": ["build/", "CMakeUserPresets.json"]
    },
    "third_party_ownership": {
      "owned_directory": "third_party",
      "vendor_directory_names": ["external", "externals", "thirdparty", "vendor", "vendors"],
      "provenance_markers": [
        "Vendored from ",
        "Upstream-Repository:"
      ],
      "exceptions": []
    },
    "machine_path_scan": {
      "root_files": [
        "CMakeLists.txt",
        "CMakePresets.json",
        "setup.sh",
        "setup_windows.ps1",
        "vcpkg.json"
      ],
      "directory_prefixes": [".github/workflows/", "cmake/", "scripts/"],
      "file_suffixes": [".cmake", ".json", ".ps1", ".sh", ".yaml", ".yml"],
      "grandfathered_occurrences": []
    }
  },
  "development_entry_points": {
    "build": ["CMakeLists.txt", "CMakePresets.json", "setup.sh", "setup_windows.ps1"],
    "tests": ["tests/CMakeLists.txt"],
    "continuous_integration": [".github/workflows/ci-tests.yml"],
    "packaging": [
      "packaging/arch/PKGBUILD",
      "packaging/windows/Perastage.iss"
    ]
  }
}
