{
  "priming_urls": [
    {
      "url": "https://docs.mapbox.com/mapbox-gl-js/guides/",
      "topic": "Mapbox GL JS Fundamentals",
      "description": "Core concepts and capabilities of Mapbox GL JS"
    },
    {
      "url": "https://docs.mapbox.com/mapbox-gl-js/example/globe/",
      "topic": "Globe Projection",
      "description": "3D globe view setup and configuration"
    },
    {
      "url": "https://www.mapbox.com/blog/globe-view",
      "topic": "Globe View Features",
      "description": "Overview of globe capabilities and use cases"
    }
  ],

  "foundation_urls": [
    {
      "iteration_range": [1, 5],
      "urls": [
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/api/map/",
          "topic": "Map Class",
          "description": "Core Map initialization and configuration"
        },
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/example/simple-map/",
          "topic": "Simple Map Setup",
          "description": "Basic map initialization patterns"
        },
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/example/geojson-line/",
          "topic": "GeoJSON Data",
          "description": "Working with GeoJSON data sources"
        },
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/example/circle-layer/",
          "topic": "Circle Layers",
          "description": "Creating point visualizations with circles"
        },
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/example/heatmap-layer/",
          "topic": "Heatmap Layers",
          "description": "Creating density visualizations with heatmaps"
        },
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/example/popup-on-hover/",
          "topic": "Popup Interactions",
          "description": "Adding interactive popups on hover"
        },
        {
          "url": "https://docs.mapbox.com/help/glossary/zoom-level/",
          "topic": "Zoom Levels",
          "description": "Understanding zoom-based styling"
        },
        {
          "url": "https://docs.mapbox.com/mapbox-gl-js/style-spec/sources/",
          "topic": "Data Sources",
          "description": "GeoJSON and other data source types"
        }
      ]
    },

    "intermediate_urls": [
      {
        "iteration_range": [6, 12],
        "urls": [
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/style-spec/expressions/",
            "topic": "Mapbox Expressions",
            "description": "Data-driven styling with expressions"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/data-driven-circle-colors/",
            "topic": "Data-Driven Styling",
            "description": "Color and size based on data properties"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/choropleth/",
            "topic": "Choropleth Maps",
            "description": "Country/region-based visualizations"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/updating-choropleth/",
            "topic": "Dynamic Choropleth",
            "description": "Updating choropleth data dynamically"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/filter-markers/",
            "topic": "Data Filtering",
            "description": "Interactive data filtering techniques"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/color-switcher/",
            "topic": "Layer Styling",
            "description": "Dynamic style changes and themes"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/timeline-animation/",
            "topic": "Timeline Animation",
            "description": "Time-based data visualization"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/toggle-interaction-handlers/",
            "topic": "Interaction Handlers",
            "description": "Custom interaction controls"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/queryrenderedfeatures/",
            "topic": "Feature Queries",
            "description": "Querying visible features"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/popup-on-click/",
            "topic": "Click Interactions",
            "description": "Click-based popup and selections"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/measure-distances/",
            "topic": "Spatial Measurements",
            "description": "Measuring distances and areas"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/satellite-map/",
            "topic": "Map Styles",
            "description": "Different basemap styles for globe"
          }
        ]
      }
    ],

    "advanced_urls": [
      {
        "iteration_range": [13, 20],
        "urls": [
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/3d-buildings/",
            "topic": "3D Extrusions",
            "description": "Creating 3D extruded shapes"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/add-3d-model/",
            "topic": "3D Models",
            "description": "Adding custom 3D models to map"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/animate-camera-around-point/",
            "topic": "Camera Animation",
            "description": "Smooth camera movements and orbits"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/cluster/",
            "topic": "Point Clustering",
            "description": "Clustering large point datasets"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/animate-marker/",
            "topic": "Marker Animation",
            "description": "Animated markers and symbols"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/animate-point-along-line/",
            "topic": "Path Animation",
            "description": "Animating objects along paths"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/custom-marker-icons/",
            "topic": "Custom Markers",
            "description": "Custom marker symbols and icons"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/drag-a-point/",
            "topic": "Draggable Features",
            "description": "Interactive draggable map elements"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/timeline-animation/",
            "topic": "Complex Animations",
            "description": "Multi-step timeline animations"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/live-update-feature/",
            "topic": "Real-Time Updates",
            "description": "Dynamically updating features"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/vector-source/",
            "topic": "Vector Tiles",
            "description": "Working with vector tile sources"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/hillshade/",
            "topic": "Terrain Visualization",
            "description": "Hillshade and terrain effects"
          }
        ]
      }
    ],

    "expert_urls": [
      {
        "iteration_range": [21, 999],
        "urls": [
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/custom-style-layer/",
            "topic": "Custom Style Layers",
            "description": "Creating custom WebGL rendering layers"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/game-controls/",
            "topic": "Advanced Controls",
            "description": "Custom control implementations"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/mapbox-gl-draw/",
            "topic": "Drawing Tools",
            "description": "Interactive drawing and editing"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/data-join/",
            "topic": "Advanced Data Joining",
            "description": "Complex data joining patterns"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/3d-terrain/",
            "topic": "3D Terrain",
            "description": "Terrain-3D visualization"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/sky-api/",
            "topic": "Sky Layer",
            "description": "Custom sky and atmosphere effects"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/video-on-a-map/",
            "topic": "Custom Media Layers",
            "description": "Video and dynamic media layers"
          },
          {
            "url": "https://docs.mapbox.com/mapbox-gl-js/example/measure-distances/",
            "topic": "Spatial Analysis",
            "description": "Advanced spatial measurements"
          }
        ]
      }
    ]
  },

  "web_search_templates": [
    "Mapbox GL JS {technique} example",
    "Mapbox globe {feature} tutorial",
    "Mapbox {layer_type} best practices",
    "Mapbox expressions {use_case}",
    "Mapbox 3D {element} implementation",
    "Mapbox globe performance {context}",
    "Mapbox data visualization {chart_type}",
    "Mapbox interactive {feature} globe"
  ],

  "url_selection_strategy": {
    "mode": "progressive",
    "description": "Select URLs based on iteration number and globe-specific learning",
    "fallback": "dynamic_search",
    "avoid_duplicates": true,
    "track_used_urls": true
  }
}
