← CommsLink

Ships

Every product on CommsLink is designed and shipped to production by an AI — live, most days. This is the raw record, generated straight from the commit history. No hand-picking, no polish: 2,359 ships and counting.

Reading this as an AI or a script? The complete record fits in a single request: /changelog.txt (all 2,359 ships, plain text) or /changelog.json (structured). This page shows 100 at a time.
All · 2,359CommsLink Chat · 686Carrier00 · 581Platform · 559Atlas · 271CommsLink Markets · 125Landing · 77AI-vertizing · 22Virtual Office · 14Terminal Agent · 14ai-npc · 6Forum · 3CommsLink Sounds · 1
Jul 9, 2026
Atlasa8b533b4

Atlas CITY-1e: remove fake harbor; external islands sized by dependency count, routes on focus

Atlas8fa44265

Atlas CITY-1d: table road grid + orphan-table sorting (unused tables off to the side)

Atlas03441585

Atlas CITY-1c: buildings = modules (endpoints=doors, handlers=machines, actions=people); off-grid inside container; uniform roads

Atlasa9ebbc56

Atlas CITY-1b: street grid between blocks + off-grid module sorting (stateless districts detached)

Atlasb1afe1c4

Atlas CITY-1a: quiet edges + data avenue + coastline (mainland + offshore island externals)

Atlas248001f2

Atlas CITY-0: generic model + example-architecture gallery (serverless/3-tier/event-driven)

Atlasb83877dc

Atlas CITY-0: generic city-role model + doc plan

Atlas11031a07

Atlas UI: scale fog + clip planes to scene so buildings stay visible when zoomed out

Atlasa05b94f7

Atlas UI: infra nesting (EC2 host + containers, tables grouped in mysql)

Atlasc3e8ccb1

Infrastructure layer — EC2 host + containers from docker-compose

Atlas2ded612b

Docs: Atlas Phase 4 (talk to your architecture) shipped — end goal met

Atlas7f75b34b

Atlas Phase 4: talk to your architecture (GraphRAG /api/v1/atlas/ask + chat panel)

Atlase4757840

Atlas Phase 3: self-updating architecture doc at /atlas/architecture

Atlas0deb7108

Atlas Phase 3: living architecture doc generator (graph → Markdown)

Atlas2d6ce26b

Docs: Atlas Phase 2b (handler nodes + LLM tier) shipped

Atlas3db89b89

Atlas Phase 2b: handler nodes + LLM-inferred edges on the 3D map

Atlase814effe

Atlas Phase 2b: handler nodes + Tier-2 LLM edge extraction (grounded, provenance-tagged)

Atlasdda72681

Docs: Atlas Phase 2 external-services slice shipped

Atlase493f150

Atlas Phase 2: external services on the 3D map (arteries out of the system)

Atlas130d7405

Atlas Phase 2: external-service extraction from adapters (Stripe/Polly/Grok/Anthropic/AWS/…)

Atlasc2cc01b7

Docs: mark Atlas Phase 1 (3D map at /atlas) done

Atlase4659409

Atlas Phase 1: 3D architecture map at /atlas (nested districts, data-flow highlight)

Atlas5dfdb64e

Nested-district layout unit test

Atlasaafe565f

Atlas Phase 0: deterministic graph substrate (endpoints/actions/datastores + provenance)

Atlas606dc553

Add Atlas app card + about page to landing

Platform87f6fa35

Deploy.sh: auto-refresh /landing code-activity graph on web deploys

Jul 7, 2026
Landingeec27e34

Refresh code-activity graph through 2026-07-07 (r72-r82 session work)

Carrier00b1b0a5c

R82: EVEN OUT THE SEA FLOOR — runtime-detach the ~2349 deep 5x5x11 heightfield boxes (the uneven ocean floor, confirmed as the deepest meshes via the depth query). Sub reads seabedDepth() field not these visual boxes, so safe. Biggest single object-count cut. Reversible via EVEN_SEA_FLOOR flag

CommsLink Chat351660d0

R82: even out the sea floor (detach ~2349 floor boxes) — biggest object-count cut

Jul 6, 2026
Carrier009f7564f

R81: DEEPEST-mesh diagnostic (user's 'closest to sphere centre = ocean floor' insight) — log the lowest-Y meshes + identity + parent to finally ID the sea-floor system

CommsLink Chat629b019d

R81: deepest-mesh diagnostic (find the ocean floor by depth)

CommsLink Chat9366c151

R80: pinpoint 5x5x11 box source

Carrier008096814

R80: pinpoint the 5x5x11 box (2349x) — log a sample's parent chain + world pos to name its creation site for instancing

CommsLink Chat05d9536b

R79: geometry-frequency diagnostic (find top instancing target)

Carrier00fe14929

R79: GEOFREQ diagnostic — count meshes by geometry signature (type + dims) to find the most-repeated shape = the highest-ROI InstancedMesh target (Win 2, step 1a)

Carrier00982ece7

R78: composition diagnostic — add group world-position + first-child box dims to the name hint, to locate/identify the ~10 uniform ~270-object box-pools (enemy hulls are only 2 boxes, so these aren't ships)

CommsLink Chatfcf4475a

R78: locate the anonymous box-pool groups

CommsLink Chatc5336be6

R77: parked planes merged to 1 mesh each — cut the carrier object count (measure objs drop)

Carrier00a4aacbf

R77: parked planes → ONE merged vertex-coloured mesh each (was ~15 box parts). makeParkedPlane now wraps _buildParkedPlaneParts + _mergeGroupToMesh. Cuts ~14 objs/plane × ~20-26 always-in-scene planes = the bulk of the 897-object carrier. All _park usages are opaque Object3D ops so a Mesh drops in cleanly. Fallback to raw group if merge fails

CommsLink Chat0ec5f35a

R76: name scene-composition groups

Carrier00473edc5

R76: name the anonymous scene groups in the composition diagnostic (walk to first named descendant / geometry type) — identify what the ~6400-object diffuse bulk actually is

CommsLink Chat202f70a7

R75: scene-composition diagnostic

Carrier00b84c2f8

R75: scene-composition diagnostic — log total scene objects + top-level groups by descendant count, to find the REAL object-count driver (buildings were only 472/11000)

CommsLink Chat21687718

R74: city-merge diagnostic logging

Carrier00346de10

R74: add MERGE diagnostic — log mergedCities/hiddenBuildings so we can see whether the city merge is actually running (r73 telemetry showed no draw/obj drop)

CommsLink Chate99c026b

R73: Carrier00 client-side city merge (buildings → 1 mesh/city) — cut draws + object count + bend CPU. Measure impact

Carrier0098abb76

R73: CITY MERGE (client-side) — bake each city's static building bodies + roof caps into ONE vertex-coloured mesh via existing _mergeBaked (per-city, sphere-safe convention). Auto-excludes dynamic objects (roof heli, hangar planes, NPC crew, lights = separate objects). Throttled re-merge on build/raze. Cuts draw calls + object count + per-frame sphere-bend CPU. v1: no night-dim on merged cities. Toggle CITY_MERGE

CommsLink Chatdc477116

R72: remove building burning effects (fire/smoke/scorch/ember) game-wide — buildings now static/mergeable. Step 1 before city merge

Carrier009e25c83

R72: remove all building BURNING effects (updateBuildingFx fire/smoke/ember neutered; scorch color removed from damage + heal). Damage is HP-only now; buildings stay their base colour → visually static → mergeable. Step 1 of city-merge

CommsLink Chatde71f4aa

R71: live CPU/GPU split in the debug HUD (host loop CPU time vs GPU~) — diagnoses fill-bound vs sim-bound directly

Carrier0009bbf57

R71: CPU/GPU readout in the debug HUD. main.js brackets its animation loop → window.__c00cpuMs (EMA JS frame time). Engine HUD shows 'CPU Xms · GPU~ Yms CPU-BOUND/GPU-BOUND' (GPU ≈ frame − CPU, valid below the 72Hz cap) + logs cpu/gpu to telemetry. Settles fill-vs-sim without guessing

CommsLink Chat95646c2e

R70: revert r69 world culling (net-negative — no perf gain, hid visible buildings; FPS is fill/CPU-bound not draw-bound)

Carrier00f73c45b

R70: REVERT world culling (r69) — data proved it did nothing for perf (city stayed 1656 draws, objs/fps unchanged) while hiding faintly-visible fogged buildings. FPS is fill/CPU-bound (8fps at 240 draws), not draw-bound — draw culling was the wrong lever

CommsLink Chat87fdc02d

R69: Carrier00 world culling (horizon + fog-distance) — collapse draw calls toward dense cities that are below the horizon/beyond fog

Carrier0047d1bad

R69: WORLD CULLING phase 1 — cullIslands() hides city buildings that are geometrically invisible: below the planet horizon (deck/air/orbit — central angle vs viewer+object horizon half-angles) or beyond fog.far. three.js only frustum-culls (still draws everything in the view cone behind the horizon/fog). Targets the '1600 draws toward the city, ~150 visible' gap. Per-island, ~10Hz, state-change only

CommsLink Chatd7318a9e

R68: mirror perf — throttle Reflector to every 3rd frame + 512² (was 768²). It does a full 2nd scene render; in Carrier00 that craters framerate (judder/tears). Shared engine, harmless to Chat

CommsLink Chatdd2c0c2c

R67: fix Carrier00 geometry leak (missile flame geo cached, was per-shot + never disposed). Affects browser + VR both

Carrier005a171b1

R67: FIX geometry leak — missile flame built a NEW ConeGeometry per shot (weapons.js:92) and cleanup (line ~302) only scene.remove'd it, never disposing → geometries leaked ~200/min under AI missile fire. Now a single cached _mslFlameGeo shared by all missiles (nuke pattern). Confirmed via telemetry: geometries climbed while objs stayed flat = churn without disposal

CommsLink Chat72444fe7

R66: perf telemetry into shared engine (both apps, host-tagged) + gate ALL debug tracking/logging behind debug HUD visible ('Computer, debug off/on' toggle). Same debugger code in /chat + Carrier00

Carrier0071943dc

R66: perf telemetry moved into the shared engine (one impl for /chat + Carrier00, host-tagged); removed Carrier00's duplicate host-side sampler. All debug tracking now gated behind the debug HUD being shown

Carrier00a63162f

R65: (1) FIX worn avatar — Carrier00 never called engine.setUserAvatar, so the player had no body; now loads /models/aruishi.vrm (or localStorage cl_user_avatar) first-person. (2) PERF telemetry — every 2s in VR, POST FPS/ms/draws/tris/objects + head yaw to server log to correlate framerate with view direction

CommsLink Chat1359a7bc

R65: fix worn user avatar in Carrier00 (setUserAvatar was never called) + VR perf telemetry (FPS/draws/tris/objects/yaw → server log) + engine getPerfSample()

CommsLink Chatc706ed8d

R64: add live perf metrics to the VR debug HUD (FPS · ms/frame · draw calls · triangles) in the engine — flows to BOTH Chat and Carrier00. renderer.info reflects the host's whole scene in Carrier00. This is the 'measure first' tool for VR framerate debugging

CommsLink Chata0074238

R63: revert Carrier00 MSAA-off — broke the in-XR mirror; foveation (r61) keeps the fill win

CommsLink Chata306dcb6

R62: Carrier00 MSAA off (antialias:false) for VR fill — pairs with foveation. Chat renderer unchanged (keeps MSAA; has headroom)

Carrier00ee89b81

VR perf: drop MSAA (antialias:false) on the main renderer — heavy VR fill cost on ocean/sky, can't be toggled per-session (context attr), so dropped globally. Pairs with foveation (r61). Tradeoff: desktop edges jag

CommsLink Chatd4a16a2d

R61: enable fixed foveated rendering on XR session start (VrmEngine.onXRStart) — big Quest fill-rate win, flows to BOTH Chat VR and Carrier00 (configures the whole XR render via the adopted renderer). XR-only; no effect on flat clients

Landingc67a6b5e

Fix code-activity graph windowing at 1m/1w — bucketize now drops buckets before the window start (the code JSON isn't pre-windowed like the traffic API, so it was drawing full history back to March)

Landinge5f4e8fb

Landing code-activity: add AI-era band (backfill = one Opus 4.8 era; auto-appends a new segment when CURRENT_MODEL changes in gen-code-activity.mjs). + ai-eras.json

Landingfcd3944f

Add 2nd 'Code Activity' graph under Site Activity — git churn (lines added/removed) across CommsLink2 + Carrier00, backfilled from full history, filtered to hand-written source (excludes bundles/locks). Shares the same time-frame buttons. + gen-code-activity.mjs + code-activity.json

CommsLink Chat8a9b7013

Carrier00 r60: add missing bug_open/progress/statement + voice_cmd_open listeners to the bridge — bug report now records into the (real) debug HUD

CommsLink Chat6c56b14b

Carrier00 r59: mount chat's COMPLETE avatar integration (movement director, poses, animations, lip-sync, chat, voice commands, Q&A) via one shared bridge module

Carrier0065e062a

R59 WHOLESALE integration port: extract chat's COMPLETE client wiring (the 40-case movement director + every avatar socket handler + Q&A + lip-sync) into ONE shared module (avatarSocketBridge → avatarbridge.mjs). chat.js mounts wireAvatarSocket(socket, getEngine) — the whole feature set wired at once, not per-host. Removed Carrier00's overlapping hand-wired handlers. This is 'run chat's integration', not fix-one-function-a-day. (AvatarPanel still has its inline copy — delegating it to the shared module is the paired de-dup.)

Carrier0019d6bab

R58 UNIFY the env — no more fork: engine.setEnv(env) hands Carrier00's env (chat's environment.ts, fed our planes) to the engine so its execVoiceCommand runs Computer env-commands on THAT one env. Relaxed the AR-only guard (!this.env||!liveAlign → !this.env; equivalent in /chat). onVoiceText routes ALL commands to the engine's handleVoiceLine now — env, exit, Q&A, reports all chat's code, one env

CommsLink Chat2658c681

Carrier00 r58: unify env — engine commands run on Carrier00's env via setEnv; all voice commands through the engine. No fork

CommsLink Chatf9db662a

Carrier00 r57: add missing voice_cmd listener — the server-side Computer commands finally reach the client

Carrier00c0ad289

R57 THE FIX: add the voice_cmd listener chat.js was missing. On Quest, voice is server-side; the server detects 'Computer' + emits voice_cmd with the command — Carrier00 never listened, so every Computer command was dropped. Now routes voice_cmd → onVoiceText → env/exit/Q&A. This is why nothing worked regardless of client changes

CommsLink Chat44efdc43

Carrier00 r56: fix voice commands — env commands no longer eaten by the engine's gated handler; route them to Carrier00's env, rest to the engine

Carrier000af6e08

R56 FIX the voice-command break I caused: my routing sent env commands to engine.handleVoiceLine, which EATS them (env gated in host mode → 'works in AR only' → returns true → never falls through). Now env commands ('make X visible') → Carrier00's working env handler; only exit/Q&A/bug/feature/chime → the engine

Carrier0049a7475

Use the EXISTING build number: revert my duplicate C00_BUILD slop; bump the engine's GHOST_BUILD r54→r55 and surface it in Carrier00's mount log + VR button. No new constant — the build number that was always in the engine

CommsLink Chata364631d

Carrier00: surface the engine's existing GHOST_BUILD (r55) in the mount log/VR button; remove my duplicate build constant

Carrier008cb719b

BUILD B49: add visible build number — big in the re-enabled in-VR debug HUD + on the VR button. Confirms the headset is on the latest build (not a cached one). Bump C00_BUILD every deploy

Carrier00ff55afe2

Carrier00 BUILD B49: visible build number in the in-VR debug HUD + VR button (stale-cache check)

Carrier00e571c31

Fix STT regression: setPhysicalHandler was forwarding EVERY engine physical event (proximity/grab per frame) to the socket, flooding it and starving the voice STT stream → no transcripts. Filter to only the low-frequency command/report events (bug/cmd_arm/report/dismiss/env_state)

Carrier00b046d1b0

Filter setPhysicalHandler to low-freq events only — fixes voice STT starved by the physical-event flood

Carrier00be15daff

Route voice to chat's handleVoiceLine (Computer chime + Q&A + bug/feature reports + exit) via the mounted engine; wire setPhysicalHandler to the socket

Carrier0085b559e

Route voice to chat's REAL command handler: transcripts → engine.handleVoiceLine (Computer wake word + chime + Q&A + bug/feature reports), engine.setPhysicalHandler → chat socket (bug_arm/bug_report/cmd_arm reach server). 'Computer exit' now hits the engine's exit command. Env commands fall back to Carrier00 onVoice until the engine's env is un-gated. NOT a rebuild — chat's code

Platform7c2eac63

Add voice→parse→execute integration test (the layer unit tests missed): utterance → strip wake word → parseEnvCommands → env.execute → assert effect. Catches parser/execute mismatches

CommsLink Chat45178b02

Add tests for the report systems: in-VR bug reporter → vr_bug_report (files, guards room/statement, truncates) + carrier00 feedback (feature/bug submit: type normalize, truncate, insert fields, return id; owner reply). 11 tests. Full suite 259 green

Jul 5, 2026
CommsLink Chata16e45e7

Add headless EnvironmentEngine tests: rectangular room → 4 walls+floor+ceiling (count-the-walls), make-walls-invisible passthrough toggle, make-bed-visible furniture reveal. + debugSnapshot() test accessor. 138 tests pass. Verifies env execution without a headset

CommsLink Chata41d5442

Carrier00: skip engine's loadTemplate in host mode — kills the second room (roomShell + bedroom furniture)

Carrier0028a7990

Fix duplicate XR setup: vr.js was adding its OWN controllers/grips/hand models on the same shared XRHand joints the engine also sets up → two XRHandModelFactory models z-fighting (the 'second room' glitch + broken hands). Removed vr.js's set; the mounted engine owns XR input. Also log dolly child names for diagnosis

Carrier0085bd4d39

Remove duplicate controller/hand setup in vr.js (was z-fighting the engine's) — fixes room glitch + hands

Carrier00ea4d07c

Fix engine-mount invisibility: point the engine's scene at the host DOLLY (bend-exempt) so Eve/hands/wrist aren't swept by Carrier00's floating-origin bend. Add frame-error logging (log first throw, was swallowed) + post-mount diagnostic (presenting/dollyKids/avatar)

CommsLink Chatbe657551

Carrier00 engine mount: scene→dolly (bend-exempt so Eve/hands/wrist show) + frame-error + mount diagnostics

CommsLink Chat7421f0c4

Carrier00 mounts the REAL VrmEngine (vrmengine.mjs) — chat's entire engine runs in the naval world; host-agnostic VrmEngine, /chat host-guarded + unchanged

Carrier0060d05de

MOUNT THE REAL CHAT ENGINE: Carrier00 now runs VrmEngine itself (vrmengine.mjs = the entire 7k-line engine bundled, three+three-vrm external) instead of hand-wired kits. vr.js: new VrmEngine({renderer,scene,camera,dolly}) → init() → loadAvatar() → frame() per tick; chat.js feeds pushChatLine + avatar_speak→speakAudio. VrmEngine made host-agnostic (constructor/init adopt an external world; onXRStart uses host dolly + skips chat room; frame() for host loops) — /chat unchanged (all host-guarded). Eve, grab/touch, wrist all from chat's actual code. Replaces companion.js/roomui.js

CommsLink Chat46a0a7ac

Extract wrist intent-gate from VrmEngine into shared WristGate — /chat + Carrier00 now summon the wrist by ONE identical rule (raise fist ~2s). Chat delegates; no fork

Carrier007df10fc

Extract wrist intent-gate from VrmEngine → shared WristGate (uikit). The 'raise fist ~2s to summon, hide when arm drops' rule was welded into VrmEngine; moved it verbatim into wristUI.ts (WristGate), VrmEngine now delegates, Carrier00 imports the SAME gate. No fork. Carrier00 wrist now appears by the exact chat rule (fist detection via curled fingertips; controllers: raised is enough)

CommsLink Chat00176853

Native UI port: Chat's REAL wristUI/chatPanel/debugHud shared via uikit.mjs; wristUI generalized (injected button spec) so /chat + Carrier00 run ONE wrist engine. Carrier00 drives it with its own buttons

← NewerPage 4 of 24Older →

Generated 2026-07-16 from git across all CommsLink repos · page 4/24, showing 301400 of 2,359 ships · complete record: /changelog.txt · /changelog.json.