From 924be42f19c748c910315d26132d524ea2e750b1 Mon Sep 17 00:00:00 2001 From: Karti Tripathi Date: Wed, 5 Aug 2026 03:53:35 -0700 Subject: [PATCH] Say two, because two is what ships MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Trimming Southern California from seven focus regions to two was a measured call — seven came to 0.73M lattice points and a 6.6 second field build against 0.13M and 0.8 — but the comment above the array went on describing seven, with arithmetic for a configuration that no longer existed. That comment is the only place the per-axis limitation of `buildAxis` is written down next to real numbers, so it now records what happened rather than what was planned. Also corrected the coarse cell size (10x, not 6x) and the Bay Area's instance count. The marketing pages cite these figures. A repository comment that disagrees with them is how the two start drifting. Co-Authored-By: Claude Opus 5 --- src/cities/socal.ts | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/cities/socal.ts b/src/cities/socal.ts index b0c31f1..6302c5e 100644 --- a/src/cities/socal.ts +++ b/src/cities/socal.ts @@ -2116,8 +2116,8 @@ export const LANDMARKS: Landmark[] = [ * same reason. One instance here is a city block, not a building, and a block * reads as its tallest thing. * - * The whole set comes to about fifty-five thousand instances, against San - * Francisco's ninety. Fewer buildings over twenty times the district area is + * The whole set comes to about fifty-five thousand instances, against the + * Bay Area's eighty-three. Fewer buildings over twenty times the district area is * the arithmetic working correctly, not a gap to be filled: a scene unit is * four times longer, so a lot covers sixteen times the ground. */ @@ -2898,24 +2898,30 @@ export const DISTRICTS: District[] = [ // ---- Focus regions -------------------------------------------------------- /** - * The seven rectangles that get fine terrain, at about 80 m; everywhere else is - * six times coarser, at about 480 m. + * The two rectangles that get fine terrain, at about 80 m; everywhere else is + * ten times coarser, at about 800 m. * * This is the trade ARCHITECTURE.md §5 asked for, and the arithmetic is worth * writing down because it is the whole argument for the feature existing. * Uniform 80 m cells over this frame would be 1.08° / 0.00072 by 1.66° / * 0.00086 — just under 2.9 million lattice points, several seconds of build, - * and a mesh with nothing in most of it. Coarse everywhere is 80,500. The seven - * boxes below add about 120,000 back, in the places a camera actually stops, - * for a total near 200,000: comfortably under San Francisco's 337,000, on a - * board twenty-five times the size. + * and a mesh with nothing in most of it. What ships is 0.13 million, and the + * whole city builds in about 2.3 seconds. * - * Where a box is *not* is as considered as where it is. The San Fernando Valley - * and the harbour both get chapters and neither gets a box, because both are - * flat: fine cells there would buy several thousand extra triangles of - * absolutely level ground. The relief that matters at those two stops is the - * range behind the Valley and the coastline around the port, and neither is - * inside the frame the camera is pointed at. + * It was seven boxes when this pack was written, and that did not survive + * contact with the engine. `buildAxis` in world.ts refines **per axis**, not + * per rectangle: a focus region sharpens its whole row *and* its whole column, + * so seven boxes scattered across a basin this wide refine most of the basin + * between them. Measured, on this data: seven regions came to 0.73 million + * points and a 6.6 second field build; two come to 0.13 million and 0.8. The + * boxes that stayed are the two the camera spends its time in. + * + * Where a box is *not* is as considered as where it is. The San Fernando + * Valley and the harbour both get chapters and neither gets a box, because + * both are flat: fine cells there would buy several thousand extra triangles + * of absolutely level ground. The relief that matters at those two stops is + * the range behind the Valley and the coastline around the port, and neither + * is inside the frame the camera is pointed at. */ export const FOCUS_REGIONS: FocusRegion[] = [ { minLat: 34.01, maxLat: 34.09, minLng: -118.3, maxLng: -118.19 }, @@ -3100,7 +3106,7 @@ export const SOCAL_CITY: City = { */ verticalExaggeration: 3.4, - // ~80 m inside a focus region, ~480 m outside one. See FOCUS_REGIONS for the + // ~80 m inside a focus region, ~800 m outside one. See FOCUS_REGIONS for the // arithmetic; the short version is that this is the difference between // 200,000 lattice points and 2.8 million. cellLat: 0.00072,