{
  "id": "maths-distance-calculator",
  "name": "Trail Distances",
  "short_name": "Trail Calc",
  "start_url": "/",
  "scope": "/",
  "display": "standalone",
  "display_override": ["standalone", "minimal-ui"],
  "orientation": "landscape",
  "background_color": "#0d1b35",
  "theme_color": "#0d1b35",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    {
      "src": "/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ],
  "level-icons": [
    {
      "level": 1,
      "src": "/level-icons/level-1.svg",
      "sizes": "256x256",
      "type": "image/svg+xml"
    },
    {
      "level": 2,
      "src": "/level-icons/level-2.svg",
      "sizes": "256x256",
      "type": "image/svg+xml"
    },
    {
      "level": 3,
      "src": "/level-icons/level-3.svg",
      "sizes": "256x256",
      "type": "image/svg+xml"
    }
  ],
  "screenshots": [
    "screenshots/distance-scene-2026-04-02T06-53-37-426Z.png",
    "screenshots/distance-scene-2026-04-02T06-54-10-831Z.png",
    "screenshots/distance-scene-2026-04-02T06-55-05-443Z.png",
    "screenshots/distance-scene-2026-04-02T06-55-36-267Z.png"
  ],
  "tags": ["distance", "addition", "subtraction", "map", "decimals"],
  "subjects": ["maths"],
  "skills": [
    "adding decimals",
    "subtracting decimals",
    "reading maps",
    "distance calculation"
  ],
  "teachesLevels": [
    {
      "label": "Level 1: adding decimal distances across multiple road segments to find a total journey distance",
      "stageLabel": "Stage 3 (Years 5-6)",
      "syllabusCode": "MA3-7NA",
      "syllabusUrl": "https://www.educationstandards.nsw.edu.au/wps/wcm/connect/ffb1e831-46fc-4db6-975c-7be286334e74/stage-statements-and-outcomes-programming-tool-k-10-landscape.pdf?CVID=&MOD=AJPERES#page=40",
      "syllabusDescription": "Compares, orders and calculates with fractions, decimals and percentages."
    },
    {
      "label": "Level 2: subtraction of decimals with a missing segment shown as \"?\"",
      "stageLabel": "Stage 3 (Years 5-6)",
      "syllabusCode": "MA3-7NA",
      "syllabusUrl": "https://www.educationstandards.nsw.edu.au/wps/wcm/connect/ffb1e831-46fc-4db6-975c-7be286334e74/stage-statements-and-outcomes-programming-tool-k-10-landscape.pdf?CVID=&MOD=AJPERES#page=40",
      "syllabusDescription": "Compares, orders and calculates with fractions, decimals and percentages."
    },
    {
      "label": "Level 3: comparison of two distances from a common point with three scaffolded input rows",
      "stageLabel": "Stage 3 (Years 5-6)",
      "syllabusCode": "MA3-9MG",
      "syllabusUrl": "https://www.educationstandards.nsw.edu.au/wps/wcm/connect/ffb1e831-46fc-4db6-975c-7be286334e74/stage-statements-and-outcomes-programming-tool-k-10-landscape.pdf?CVID=&MOD=AJPERES#page=40",
      "syllabusDescription": "Selects and uses the appropriate unit and device to measure lengths and distances, calculates perimeters, and converts between units of length."
    }
  ],
  "githubUrl": "https://github.com/anandamarsh/maths-distance-calculator",
  "videoUrl": "https://youtu.be/oGwZgLAZDmo?si=IItjTG0tGIAZ8xmT",
  "description": "Build: 14:04:26 21:50 | 394cb96\n\nTrail Distance Calculator is an interactive arcade-style maths game.\n\nWHAT IT DOES:\nA dinosaur character lives on a trail map with 3–5 named towns connected by road segments. The child drags the character along the trail and watches an odometer accumulate distance in km or miles. Each session generates a fresh random map with randomised town names, distances, and colour palette.\n\nWHAT IT TEACHES:\n- Level 1: adding decimal distances across multiple road segments to find a total journey distance\n- Level 2: subtraction of decimals with a missing segment shown as \"?\"\n- Level 3: comparison of two distances from a common point with three scaffolded input rows\n\nINTERACTION MODEL:\nDrag-based. Child drags the dinosaur along the road. The odometer counts up as it walks and continues counting on backtrack. Node dead zones prevent distance accumulating while standing at a town. A pause toggle lets the child freeze the odometer.\n\nPEDAGOGICAL NOTES:\n- Decimal arithmetic is grounded in a real-world map-distance context\n- Random generation keeps every session different\n- Level 3 scaffolded working builds the habit of showing steps\n- Arcade aesthetic and 8-bit sound effects maintain engagement\n\nTECH: React, TypeScript, Vite, Tailwind CSS, SVG, Web Audio API."
}
