VERCEL-READY PLAYABLE REPO

Operate the lab. Sync the crew. Visualize the water column.

This repo ships a deployable browser-based training simulator with five playable missions, a browser mission studio, a shared-session backend layer, normalized mission scoring, local and shared scenario libraries, and a 2.5D tactical visual surface that reacts live to alert state, zone metrics, and asset deployment.

  • Five playable missions from reef sensor drift to nursery oxygen collapse
  • Shared browser sessions with serverless Vercel API routes
  • 2.5D ops view with animated aerostat, boat, alert towers, and zone selection
MISSION BOARD

Selectable scenarios

Choose from five fully wired missions. Each one mutates session state, updates observed values, unlocks evidence, and scores against a mission-specific truth model.

PLAYABLE OPERATOR CONSOLE

Mission

Shared Ops

Create, push, pull, auto-sync

2.5D Situation View

Click a zone in the canvas

Tactical Map

Click a zone

Zone Readout

Alert Stack

    Available Actions

    Evidence

      Assets

      Mission Report

      Score

      Event Log

        MISSION STUDIO

        Fork, edit, launch, and publish custom scenarios

        Use the in-browser editor to clone a mission, modify the environmental truth and observed values, save the scenario locally, launch it instantly in the operator console, or publish it to the shared backend for the rest of the team.

        Scenario Editor

        Browser-native editor

        Environment

        Zones

        Local Scenario Library

        Shared Scenario Library

        DEPLOYMENT

        Ship it on Vercel

        This repo deploys as a hybrid static-plus-serverless site. The front end is plain HTML/CSS/JS, and the shared-session backend is exposed through Vercel API routes under /api.

        Repo structure

        index.html
        styles.css
        app.js
        api/
        src/
        assets/
        vercel.json

        CLI

        vercel
        vercel --prod

        Local preview

        python -m http.server 8080
        # then open http://localhost:8080