d464459838
Ten agents wrote this in parallel against CONTRACT.md, which exists because the five design agents before them collided on fifteen blocking points — four files specified twice with incompatible contents, three separate backends for one box, and `Environment` exported twice meaning different things. What landed: a Stage owning only the renderer and the loop, with the city and an office as two scenes over it. They cannot share one — San Francisco is ~94 m per scene unit with 3.6x vertical exaggeration and an office is 1 unit = 1 m — and the city is paused rather than disposed on the way in, because rebuilding its 336,864-point heightfield costs about a second on the way back out. Offices are data. `src/offices/lumbridge-hq.ts` is fifteen rooms and seventy-six seats, and it is the file a self-hoster copies. Walls are a segment list with 1-D openings, so doors and windows are holes punched in a wall rather than placed objects, and the pass that splits a wall around its openings hands the walk-mode collider its segments for free. The sun is real. `solar.ts` is a NOAA/Meeus implementation with no imports at all — not even three.js — so time of day keeps working on a laptop in a field. Verified against known values: 75.45 degrees at the June solstice in SF, 28.79 at December, sunset at 03:15Z. The first screenshot after wiring it was a black rectangle, which turned out to be correct: it was midnight in San Francisco. Presence binds to a seat id and never to a coordinate. The pack knows where `eng-04` is; who is sitting in it is private data behind an API. Same shape as the marker rule, one level in. Two corrections to ARCHITECTURE.md are in here. Containment does not discharge ODbL — publishing OSM-derived coordinates is Public Use of a Derivative Database wherever the rows live, so the rule is about the geocoder (US Census, public domain) and not the storage. And a person at a desk is not a Marker; markers are geographic. One contract gap surfaced only in a screenshot: two agents read `height` on a viewpoint differently, so the establishing shot aimed at empty air fourteen metres above the roof. It now means what the same field means for a city. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
99 lines
4.2 KiB
Plaintext
99 lines
4.2 KiB
Plaintext
Tera — the map view of Lumbridge Simulate
|
|
Copyright 2026 Lumbridge Corp.
|
|
|
|
This product includes software developed at Lumbridge Corp.
|
|
Licensed under the Apache License, Version 2.0 (see LICENSE).
|
|
|
|
|
|
ORIGIN AND ORIGINALITY
|
|
----------------------
|
|
|
|
Tera's city view was inspired by the interaction model of two prior works —
|
|
Levels.fyi Atlas, and Nutlope's NYC AI Atlas (https://github.com/Nutlope/
|
|
nyc-ai-atlas), which itself credits Levels.fyi. What was taken is the *idea*:
|
|
a left-hand chapter legend, animated camera flights into map areas, clickable
|
|
place labels, and ambient motion in the scene.
|
|
|
|
No code, geometry, or asset from either work is present here. Tera's renderer,
|
|
its terrain system, its block-lattice building placement, and every coordinate
|
|
in every city pack were written from scratch. The two projects do not even
|
|
share a subject: the NYC atlas renders hand-traced Manhattan on flat ground,
|
|
and Tera's premise is relief — a city you cannot read without its section.
|
|
|
|
Stating this plainly matters, because at the time of writing the NYC AI Atlas
|
|
repository carries no LICENSE file. Absent a licence grant, the default is that
|
|
no rights are given, so nothing from it could have been reused even had we
|
|
wanted to. Attribution here is courtesy toward a good idea, not a licence
|
|
obligation.
|
|
|
|
|
|
GEOGRAPHIC DATA
|
|
---------------
|
|
|
|
All geography in src/cities/ is original expression, traced by hand.
|
|
|
|
It is deliberately NOT derived from OpenStreetMap. OSM data — including
|
|
coordinates returned by Nominatim geocoding — is licensed under the Open
|
|
Database License (ODbL), whose share-alike terms would attach to any derivative
|
|
database and cannot be reconciled with the permissive licence above.
|
|
|
|
Where real elevation data is used in future, it will come from USGS/SRTM
|
|
sources, which are United States government works in the public domain.
|
|
|
|
Where addresses are geocoded to coordinates and those coordinates are then
|
|
served publicly, the geocoder is the US Census Geocoder
|
|
(geocoding.geo.census.gov), a United States government work in the public
|
|
domain. This is a licence requirement rather than a preference: publishing a
|
|
snapshot of OSM-derived coordinates is Public Use of a Derivative Database under
|
|
ODbL and carries share-alike obligations no matter where the rows are stored.
|
|
Commercial geocoders are not an escape either — Google, Mapbox and HERE all
|
|
restrict storing and redistributing the coordinates they return.
|
|
|
|
Every such row carries a provenance field, and rows whose provenance is not on
|
|
the non-ODbL allowlist are refused at publication time.
|
|
|
|
|
|
TRADEMARKS
|
|
----------
|
|
|
|
This repository contains no third-party logos, wordmarks, or brand assets.
|
|
|
|
Organisation logos displayed by applications built on Tera are fetched at
|
|
runtime and are never redistributed as part of this project. All trademarks,
|
|
service marks, and trade names are the property of their respective owners.
|
|
Any use is nominative — to identify the organisation referred to — and does not
|
|
imply affiliation with or endorsement by the trademark holder.
|
|
|
|
|
|
ARTISTIC OUTPUT (src/assets/)
|
|
-----------------------------
|
|
|
|
The material under src/assets/ is source code and is licensed under Apache 2.0
|
|
along with the rest of this repository. In addition, the copyright holders of
|
|
that material dedicate the artistic output it generates — meshes, geometry and
|
|
textures produced by running it — to the public domain under CC0 1.0.
|
|
|
|
This repository is therefore NOT uniformly Apache-2.0, and that is deliberate:
|
|
it means a mesh generated from this library can be used in another project
|
|
without carrying a NOTICE obligation into it. See src/assets/LICENSE-ART for the
|
|
dedication and CONTRIBUTING.md for the inbound grant that keeps it true.
|
|
|
|
|
|
THIRD-PARTY DEPENDENCIES
|
|
------------------------
|
|
|
|
three.js — MIT License — Copyright (c) 2010-2026 three.js authors
|
|
https://github.com/mrdoob/three.js
|
|
|
|
Build tooling (Vite, TypeScript, esbuild) is a development dependency only and
|
|
is not redistributed in built output.
|
|
|
|
|
|
AIRCRAFT DATA
|
|
-------------
|
|
|
|
The flight sources shipped in this repository are a simulator (original work)
|
|
and clients for open community ADS-B feeds. No commercial aviation data
|
|
provider's data is included or redistributed, and no client for a provider
|
|
whose terms prohibit such use is present.
|