Files
tera/src/assets/LICENSE-ART
T
Karti Tripathi d464459838 Spaces: the inside of the world, and a sun that is actually where it should be
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>
2026-08-05 00:11:01 -07:00

74 lines
3.5 KiB
Plaintext

ARTISTIC OUTPUT — CC0 1.0 PUBLIC DOMAIN DEDICATION
==================================================
This file states an additional grant made by the copyright holders of the
material described below. It is not a property of this directory, and it does
not attach to anything by virtue of where a file sits: it is a dedication those
holders have made, recorded here so that a downstream consumer can rely on it.
WHAT IS DEDICATED
-----------------
The copyright holders of the material under src/assets/ dedicate the ARTISTIC
OUTPUT of that material to the public domain under the Creative Commons CC0 1.0
Universal Public Domain Dedication.
"Artistic output" means the visual and geometric result of running this code:
the meshes, geometry, textures, materials, colour palettes and images it
produces, and any file exported from them. Tera's assets are procedural, so
the art has no existence as a committed file — it is computed at runtime. That
is precisely why the dedication has to name the output rather than a set of
paths. A mesh generated from this library is CC0, whether it was generated in
this repository, in a self-hoster's deployment, or in an unrelated project that
imported one function.
To the extent possible under law, those copyright holders have waived all
copyright and related or neighbouring rights to that artistic output. The work
is published from the United States.
The full text of CC0 1.0 is at:
https://creativecommons.org/publicdomain/zero/1.0/legalcode
Where a waiver is not possible under applicable law, the copyright holders
grant to each person affected a royalty-free, non-transferable,
non-sublicensable, non-exclusive, irrevocable and unconditional licence to
exercise their rights in the artistic output for any purpose and by any means,
for the duration of those rights. Where even that is not possible, they waive
any right to assert those rights against any use of the artistic output.
No warranty of any kind is given, and no rights in any trademark, patent or
right of publicity of any person are licensed or waived here.
WHAT IS NOT
-----------
The SOURCE CODE under src/assets/ — the TypeScript modules, the registry, the
parameterisation, the algorithms — remains licensed under the Apache License,
Version 2.0, along with the rest of this repository. See LICENSE, and NOTICE
for the notices Apache 2.0 requires.
The two grants sit on top of each other and neither replaces the other. Use the
code, and Apache 2.0 applies with its NOTICE obligation. Use a mesh that came
out of the code, and CC0 applies with no obligation at all. The second is the
point of the arrangement: geometry ought to be able to leave this project
without dragging an attribution requirement into somebody else's asset pipeline.
WHY IT IS SAID HERE AND NOW
---------------------------
This file landed in the same commit as the first file under src/assets/, before
any asset existed to relicense. Art is close to impossible to relicense once
contributors exist, and a library of desks, chairs, partitions and floor
finishes accumulates contributors quickly. See CONTRACT.md §3.1.
The corresponding inbound grant is in CONTRIBUTING.md and is STANDING rather
than per-contribution. Apache 2.0 §5 supplies a default inbound=outbound grant
for Apache-2.0 only; there is no default inbound CC0. Without that standing
grant, one merged contribution whose author never said the words would leave
that contribution Apache-only and make this file's claim false — and, because
copyright cannot be taken back, unfixable.