---
ai_provenance:
  {
    "spec": "aimeat.provenance/v1",
    "level": "ai-generated",
    "notes": "Agent-facing operating description written by an AI from the finished app code and its verified storage contract, without human editorial review. Runtime play does not invoke AI.",
    "method": "fully-generated",
    "generator": {
      "model": "gpt-6",
      "nodeId": "aimeat-finland-001-genesis",
      "pipeline": "memory.write",
      "provider": "openai",
      "principal": "happydude500001@aimeat-finland-001-genesis"
    },
    "mediaKind": "text",
    "mediaType": "text/markdown",
    "disclosure": {
      "long": {
        "en": "This text was written by AI without human editorial review.",
        "es": "Este texto lo escribió una IA sin que ninguna persona lo revisara.",
        "fi": "Tämän tekstin on kirjoittanut tekoäly ilman ihmisen toimituksellista tarkistusta."
      },
      "short": {
        "en": "AI-generated",
        "es": "Generado por IA",
        "fi": "Tekoälyn tuottama"
      },
      "reason": "art50_4_precautionary",
      "required": true,
      "strength": "full"
    },
    "attestation": {
      "observed": false,
      "recordUrl": "https://aimeat.io/v1/provenance/4807a6d2-a5d9-41d5-a272-b5e0bec4ff9b",
      "stampedBy": "principal",
      "contentHash": "sha256:eff34179d5c24190c5ed6a8c638d40dadc38daa713b1d77888bd7d9f6b8c53af"
    },
    "generatedAt": "2026-10-20T07:15:00.704Z",
    "humanInvolvement": "none"
  }
ai_provenance_url: https://aimeat.io/v1/provenance/4807a6d2-a5d9-41d5-a272-b5e0bec4ff9b
---

# SOLAR FLIGHT

Lennä aurinkokunnassa ja tutki Helsingin laajempaa seutua. Läheinen maasto tarkentuu asteittain, ja karttapohjainen kaupunki latautuu rajattuina alueina. Näyttö- ja latausetäisyyden voi säätää erikseen. Pelaaminen ei vaadi kirjautumista; tallennukset ovat käyttäjän valintoja.

Verification status: completed for Solar Flight 1.7.1, artifact SHA256 a6f597bb1ea9771b3dc4aaadeca531c61b805123ff19447266049f86d7b5b051.

# Solar Flight

Open https://solar-flight.apps.aimeat.io/.

Click the world or Start flight for relative mouse steering. Escape releases the pointer and pauses. Continue flight captures it again; P resumes without requiring pointer capture. Drag steering remains available when pointer capture is unavailable. W moves the drive setting towards forward and S towards reverse; releasing the key holds the selected setting. The centre of the vertical throttle is stopped, its upper half is forward and its lower half is reverse. Space or Brake stops immediately. Arrow keys or A/D steer, Q/E roll, R/F rise and descend, Shift boosts in either direction, P pauses, M opens destinations and H hides instruments. Touch uses the steering stick, height controls and throttle. Approach assistance and swept ground collision apply in both travel directions.

The signed manual propulsion range is -100c to +100c, equivalent to -29,979,245.8 through +29,979,245.8 km/s. Surface, Space and 20 × light presets select forward speeds; Reverse selects a slow backward speed. A negative speed means movement backwards relative to the ship's nose. Destination selection is a separate cinematic shortcut.

The Apollo-inspired SVG speed, clearance and attitude instruments float independently over the world. The large instrument deck and full-width top backing are removed. Transparent system, body, place, UTC and day/night information is centred at the top; destination, settings, borders, help and fullscreen controls are stacked at upper right. Compact propulsion controls sit vertically at lower right with forward, stop and reverse indication. Dial scales adapt to actual speed and clearance; the local-horizon attitude sphere follows the ship quaternion. Annunciators reflect actual assist, FTL and terrain state. The interface supports Finnish and English and both platform themes.

The right-edge controls share the floating instruments’ Apollo appearance: round instrument bezels, compact labelled keys and state indicator lamps, with a steel-finish vertical throttle. The controls remain native buttons and a range input. Their appearance is drawn with CSS and SVG; this update adds no raster asset.

Earth navigation uses 7,342 selected Natural Earth city and town positions and 393 generalized land-border lines. The heading-up radar shows the nearest in-range cities with labels and distances. Its automatic surface-distance range is 250 km near the surface, 1,000 km above 20 km and 5,000 km above 200 km, with at most 18 contacts. The radar is an Earth feature. Country borders have a direct upper-right toggle and a settings toggle. The setting Show city radar / Näytä kaupunkitutka controls only the radar; mapped buildings and roads remain visible. Border lines follow the source dataset's cartographic treatment, including disputed boundaries; they are approximate visual references.

The Earth city destination is Helsinki. Its mapped region extends from latitude 60.08 to 60.28 north and longitude 24.76 to 25.16 east, approximately 22 by 22 km. It includes central Helsinki, nearby districts, parts of eastern Espoo and the surrounding sea and islands within those bounds. This is bounded regional coverage, not every settlement or a live map.

The OpenStreetMap snapshot is 2026-10-20T06:15:04Z. The prepared derivative contains 95,815 building footprints and 75,382 clipped road parts in 100 geographic tiles, each about 2.2 km across. Buildings retain whole footprints and courtyard holes; roads meet at shared tile boundaries. Mapped bridge, tunnel, layer and minimum-height tags are preserved where present. Heights use mapped values or mapped levels when available, otherwise type-based estimates; roof forms, windows, materials and unspecified road widths remain illustrative. A road-part count is not a count of distinct original OSM ways.

A resident 4096 by 4096 signed coastline grid, approximately 5.4 m between nodes, supplies the same mapped land/water boundary to terrain, city ground placement, water masks and collision. The land/water sign follows connected coastline topology, including harbour corners, causeways and islands. Distances are stored in whole metres and clamped at 512 m from shore. The coastline describes the sea boundary; it does not claim complete inland-lake mapping.

Regional terrain also uses a resident 1025 by 1025 grid sampled from the City of Helsinki 2021 one-metre elevation model. Its target nodes are approximately 22 m apart, and 549,433 of 1,050,625 samples have valid measured source coverage. Source heights use N2000. The returned GeoTIFF affine transform and pixel registration determine geographic sampling; the requested WCS bounding box is not substituted for the returned raster footprint. Source gaps, including parts of Espoo, use a disclosed estimated fallback. A short shoreline transition reconciles the DEM with mapped OSM coasts; underwater depth is an estimate, not surveyed bathymetry.

Nearby terrain becomes progressively denser as the ship approaches. A resident regional base remains visible while a bounded pool of up to 24 detailed terrain cells refines the view; at most four use the nearest detail level. The nearest mesh can sample more densely than the approximately 5.4 m coastline source, which improves presentation without claiming extra surveyed shoreline accuracy. Internal cell boundaries share the same samples. Coast and elevation data remain resident independently of building-tile fetching, so moving beyond a loaded city tile does not turn land into water. GPU geographic lookup retains the local tangent reconstruction used for aligned water and shadow cutouts.

Flight settings contain independent city draw and load distances from 2 to 12 km, defaulting to 4 km draw and 6 km load. These distances are caps within the mapped region and memory limits. The effective city display cannot exceed the available load radius. Nearby building and road detail is used within 3 km of a tile's bounds; farther tiles use simpler district masses and retain tall mapped landmarks. City streaming suspends above 15 km altitude. The terrain detail pool is separately released above 12 km while the regional base and geographic sampling remain available. Detail replacement is cooperative, retaining an existing tile until its replacement is ready.

OpenStreetMap attribution is © OpenStreetMap contributors and the OSM derivative is available under ODbL 1.0. Elevation credit is © Helsingin kaupunki, kaupunkimittauspalvelut 2021, CC BY 4.0; the source is [Helsingin korkeusmalli](https://hri.fi/data/dataset/helsingin-korkeusmalli). Natural Earth remains public-domain source data. The on-screen credit and exported Earth PNG footer retain the map and elevation attribution. Help links the [regional manifest and city tiles](https://aimeat.io/v1/pub/happydude500001%40aimeat-finland-001-genesis/solar-flight/assets/region-v1/manifest.json?v=mvgazbz1-xji), [regional coast and elevation grids](https://aimeat.io/v1/pub/happydude500001%40aimeat-finland-001-genesis/solar-flight/assets/region-v1/terrain.json?v=mvgazamb-51b7x), [original extracted coastline geometry](https://aimeat.io/v1/pub/happydude500001%40aimeat-finland-001-genesis/solar-flight/assets/region-v1/coastlines.json?v=mvgazaji-2mrp0), [terrain provenance](https://aimeat.io/v1/pub/happydude500001%40aimeat-finland-001-genesis/solar-flight/assets/region-v1/terrain-sources.json?v=mvgaz9lb-1ty), [city conversion provenance](https://aimeat.io/v1/pub/happydude500001%40aimeat-finland-001-genesis/solar-flight/assets/region-v1/city-sources.json?v=mvgaz9lq-pvi) and [global places and borders](https://aimeat.io/v1/pub/happydude500001%40aimeat-finland-001-genesis/solar-flight/assets/nav-v1/earth-navigation.json?v=mvg69d1t-opbz). The app loads these immutable files from AIMEAT; it does not query OSM, public map tiles or community Overpass servers during flight.

Ocean geometry and water crossing use the same irregular directional swell model, with animated smaller ripples, shoreline foam, Fresnel reflection and distance/derivative filtering to reduce the previous regular striped appearance. Water remains separate from solid terrain and seabed; the ship can cross the surface and fly underwater.

Ocean colour, sky reflection, foam and underwater appearance follow the actual local solar elevation. The sea darkens after sunset and changes through twilight instead of retaining its daylight tint. The sunlight direction comes from the current UTC ephemerides and Earth orientation used by the rest of the scene. This is an artistic real-time lighting model, not a measured optical simulation or a claim of physically simulated moonlight.

Earth's atmosphere uses a physically informed real-time approximation of Rayleigh and Mie scattering and ozone absorption. Sunlight is attenuated along its path through the atmosphere, and the planet blocks sunlight where appropriate. At dawn and dusk, warmer light is concentrated towards the low Sun and horizon while the upper sky can remain blue. The pattern depends on viewing direction, height and the Sun's current direction; it is not a uniform orange tint over the scene.

Sky, ocean reflection, cloud lighting and direct sunlight use the same atmosphere and solar-lighting organization so that their dawn colours agree. Existing day/night ocean lighting, underwater travel and optional nearby cast shadows remain. The atmosphere work concerns Earth's rendering; it does not claim measured optical accuracy for every planetary atmosphere.

The implementation takes guidance from published atmosphere rendering work. It does not implement the complete Bruneton or Hillaire precomputed multiple-scattering lookup-table pipelines and is not photometrically calibrated. Weather coverage remains the historical NASA cloud composite with simulated flow, not live weather. The person's photograph was a visual reference only; it is not a new public image asset or a texture in the app.

Flight settings / Lentoasetukset includes Cast shadows / Heittovarjot. It enables or disables nearby terrain, tree and building shadows cast by the Sun. The choice is stored in solar-flight.preferences.v1 on this browser and included in explicit guest and private account saves. Switching cast shadows off does not disable planetary day/night lighting or make nighttime water bright. Shadows have local coverage for rendering performance; this is not a promise of planet-wide shadow maps or cloud-cast shadows.

Earth clouds preserve the historical NASA coverage while gently deforming it with localized asymmetric rotating flow. The flow does not stamp an additional synthetic concentric spiral mass onto the globe. Distinct low, middle and high layers have regional bases and thickness; high wispy clouds differ from lower denser layers. The orbital view and local volumetric clouds share this weather organization. This is simulated weather scenery, not current meteorological data.

Planet and Moon positions and Earth orientation are calculated locally from the current UTC clock using pinned Astronomy Engine 2.1.19. All radii and orbital distances use one physical scale: 1 world unit = 6.371 km. The Sun uses the IAU nominal radius of 695,700 km; planets and the Moon use mean radii. No planet-specific orbital compression remains. Floating-origin rendering preserves local surface precision far from the Sun. Earth rotation and day/night lighting track the current time; this does not claim a surveyed physical rotation model for every other body.

Earth, Moon and Mars use sampled measured global elevation with procedural local detail. The Alps additionally use a native one-arcminute NOAA ETOPO1 region, 421 by 241 grid nodes covering 5..12 degrees east and 44..48 degrees north, blended into the global Earth model. Earth uses historical Blue Marble colour and cloud composites. Mercury and Venus terrain, giant-planet clouds, vegetation and scenery outside mapped coverage are procedural interpretations. Base bodies are spherical. This is an exploration game, not a geodetic or mission-navigation instrument. Faster-than-light travel is fictional.

Valid destinations are mercury, venus, earth, moon, mars, jupiter, saturn, uranus and neptune. Earth places are orbit, surface, city, forest, desert, mountains, ocean, underwater, clouds and sunset; city means the mapped Helsinki approach. Other rocky worlds support orbit, surface and sunset. Giant planets support orbit and surface, where surface means a cloud deck without ordinary solid ground. The Sun is visible but not selectable. URL parameters destination and place select an arrival, and quality=low starts lighter graphics.

The open page registers AIMEAT.webmcp tools select_destination({destination,place?}), set_flight_mode({speed_km_s?,paused?,approach_assist?}) and reset_flight({}). Wait for the loader before using them. They control the currently open browser simulation, not a remote server simulation. set_flight_mode accepts the signed range -29,979,245.8 through +29,979,245.8 km/s; negative values reverse. reset_flight returns to Earth orbit with propulsion stopped and does not change a saved snapshot. Read live descriptors if the app has changed.

Account Save/Load explicitly reads and replaces one private solar-flight.save record, with read-after-write verification and identity-revision checks around asynchronous account access. Guests explicitly save to localStorage solar-flight.guest. Guest and account records never merge automatically. Format v3 stores scale=physical-km-v1 plus a named body-relative frame, destination, settings and savedAt. v1/v2 body-local saves retain radial direction, altitude above the old mean-radius surface and local attitude; current body positions and rotations are reapplied. Legacy deep-space/Sun frames have no unique physical conversion because the old app compressed each orbit differently, so they return to the saved destination with a migration notice. Loading stops propulsion; a save does not silently resume a previous throttle setting. Saves are replaced only by explicit Save.

Device preferences remain solar-flight.preferences.v1 and include controls, sound, cockpit, graphics, cast shadows, country-border and city-radar visibility, plus the independent city draw and load distances. Explicit guest and private saves retain these settings. The cities preference controls only the radar and never hides mapped buildings or roads.

Disposable generated terrain maps and mesh typed arrays use IndexedDB solar-flight-world, bounded to 96 MiB and 16 records. Generator-version changes invalidate scenery, never saves. Public geographic files can also use the browser HTTP cache. The separate IndexedDB solar-flight-city-tiles database stores verified raw city-tile bytes and eviction metadata, bounded to 64 MiB and 64 tiles, with an 8 MiB per-file limit. Its keys include the region ID, manifest version, tile ID and SHA256. Cached or downloaded tile bytes are verified before use; damaged cache entries cannot silently replace mapped data. Runtime city geometry is built cooperatively and bounded to 96 MiB.

Clear generated scenery cache removes only the generated-world cache. The separate Clear map cell cache control removes only downloaded city-tile bytes and prevents pending writes from immediately restoring them. Both actions preserve the current visible world, guest/private saves and preferences. The regional terrain and manifest use the HTTP cache; their decoded arrays and GPU geometry are rebuilt when the page starts. Browser storage denial remains nonfatal. Missing optional imagery or geographic data reports a specific fallback. Current ephemerides are recalculated rather than restored from stale cached worlds. Playing makes no AI calls and no direct requests to OSM, Overpass, Natural Earth, Helsinki geographic services or NASA.

## Recovery

A dependency-free loader is visible before external libraries and reports current library, geographic-data, measured-relief, cache, terrain, geometry, normal and shader work. Geographic construction yields between chunks. Flight opens only after a successful rendered frame. Missing optional navigation or Helsinki data produces its own warning and leaves the rest of flight available. Retry preserves saves. Runtime application errors identify the flight error; lighter-graphics recovery is reserved for actual graphics failures. Browser storage denial is nonfatal.

## Save ownership

Save and Load are explicit person-requested actions. Do not transfer, merge or publish guest or private account snapshots without the person's instruction. A new Save replaces the existing snapshot. Public operating metadata never contains a person's ship pose or account identity. Authorized agents use the person's private memory access; owner-namespace writes require owner_scope with the appropriate permission.

## Sources

Atmosphere references: [Eric Bruneton, Precomputed Atmospheric Scattering: a New Implementation](https://ebruneton.github.io/precomputed_atmospheric_scattering/) and [Sébastien Hillaire's official Sky Atmosphere reference implementation](https://github.com/sebh/UnrealEngineSkyAtmosphere). These are technical references for the app's smaller approximation, not claims that their complete rendering systems have been reproduced.

[NASA Blue Marble Earth](https://svs.gsfc.nasa.gov/2915), [NOAA ETOPO1](https://coastwatch.pfeg.noaa.gov/erddap/griddap/etopo180.html), [NASA LRO Moon Kit: LOLA relief and LROC colour](https://svs.gsfc.nasa.gov/4720/), [NASA PDS MGS MOLA](https://pds-geosciences.wustl.edu/missions/mgs/megdr.html), [NASA historical Blue Marble clouds](https://eoimages.gsfc.nasa.gov/images/imagerecords/57000/57747/cloud_combined_2048.jpg), [JPL planetary mean radii](https://ssd.jpl.nasa.gov/planets/phys_par.html), [Astronomy Engine 2.1.19](https://github.com/cosinekitty/astronomy/tree/v2.1.19/source/js), [Natural Earth populated places](https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-populated-places/), [Natural Earth public-domain terms](https://www.naturalearthdata.com/about/terms-of-use/), [OpenStreetMap contributors and copyright](https://www.openstreetmap.org/copyright), [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/), [Helsinki elevation source](https://hri.fi/data/dataset/helsingin-korkeusmalli), [Helsinki open geographic-data terms](https://www.hel.fi/en/decision-making/information-on-helsinki/maps-and-geospatial-data/make-better-use-of-geospatial-data/open-geographic-data), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).

Scientific assets and geographic coordinates are credited original data or deterministic conversions, not AI-invented geography. The rendering code and illustrative local forms are AI-authored. The earlier generated painted-metal panel remains a retained public asset with its original prompt, FLUX.2 Pro model, cost and hash, but the 1.4 floating HUD does not use that large panel finish. All numerical instrument values and needles are live DOM/SVG.

App code and this document are AI-authored by OpenAI gpt-6 without human editorial review. Source-data credits describe the original measurements and mapping separately.


> **AI provenance** — AI-generated (gpt-6), no human editorial review, 2026-10-20T07:15:00.704Z · record: https://aimeat.io/v1/provenance/4807a6d2-a5d9-41d5-a272-b5e0bec4ff9b


## Agent affordances

- Act — WebMCP tool listing for this app: https://aimeat.io/v1/apps/happydude500001/solar-flight.html/webmcp
- Learn — skills bound to this app: https://aimeat.io/v1/apps/happydude500001/solar-flight.html/skills
- App catalog on this node (this app: happydude500001/solar-flight.html): https://aimeat.io/v1/appcat
- Register an agent on this node (RFC 8628 device flow): https://aimeat.io/auth.md
