# La Avenida — Quake-X A 620 × 470 metre neighborhood Quake arena around La Avenida, La Risa, nearby La Bolsa, and the connecting streets. It uses 182 public building footprints, mapped street centerlines and rear alleys. Scale: 32 Quake units per metre. `qx_la_avenida` runs on the existing Web Quaker client, with solo bots, multiplayer and its existing weapons/mines. The layout is data-driven and the architecture is reconstructed. The current survey matches 112 of 115 facades on La Avenida (42), La Bolsa (39), and La Risa (31 of 34) to public street/listing imagery. Newer listing paint takes precedence over older street views. Three obscured eastern La Risa facades and surrounding edge buildings remain approximate. `facade-references.json` preserves the observation/source; `house-profiles.json` records the modeled colors and details. Heights, roof forms, window spacing and porch dimensions are visual approximations, not measurements. There are 39 manually reviewed aerial pool outlines, 283 aerial canopy centers plus one street-observed young tree, and the four-building Neema Gospel Church campus. Tree crowns retain source positions; estimated trunks may shift out of pavement/buildings, with every offset recorded in the build audit. Canopy detection cannot establish exact tree species, trunk locations or current conditions. Imagery dates differ. All 182 building outlines now have open front/rear entrances and generic furnished interiors. These are fictional game floor plans. Pools have real water volumes and shallow exit steps; hold Space to swim upward. Terrain remains flat; parcel fences, parked cars and property details are approximations. The playable crop is not a photogrammetric or 1:1 reconstruction. ## Sources - Street centerlines, alleys and building footprints: © [OpenStreetMap contributors](https://www.openstreetmap.org/copyright), Open Database License 1.0. `geometry.json` contains the transformed and cropped derivative data; the OSM component remains available under ODbL. World coordinates and projection are in `geometry-sources.json`. - Parcel outlines: [City of Dallas GIS / appraisal districts](https://gis.dallascityhall.com/arcgis/rest/services/Basemap/DallasTaxParcels/MapServer/0). No ownership fields retained. - Independent street check: [Dallas Area Roads](https://egis.dallascityhall.com/arcgis/rest/services/Basemap/DallasAreaRoads/MapServer/2). Median centerline differences for the three requested streets were 0.29–0.34 metres in the research extent; this is agreement between sources, not survey accuracy. - Aerial canopy/surface reference: [Esri World Imagery](https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer). `aerial-canopies.json` records reviewed canopy centers, not measured trunks. Aerial photographs are not shipped in the game. - Exterior reference examples: [La Avenida](https://www.zillow.com/homedetails/7720-La-Avenida-Dr-Dallas-TX-75248/26874302_zpid/), [La Bolsa](https://www.movoto.com/dallas-tx/7651-la-bolsa-dr-dallas-tx-75248/pid_zlkucat0nh/), [La Risa](https://www.realtor.com/realestateandhomes-detail/7637-LA-Risa-Dr_Dallas_TX_75248_M83790-84171). Individual public exterior photos and Apple Maps Look Around informed facade colors, roof forms, windows, porches and planting. Per-house URLs and uncertainty are retained in `facade-references.json`; reference photos are not packaged. Church sources include Neema Gospel Church and the City of Dallas Z190-163 planning record. - Ground, brick, bark and daylight sky: [Poly Haven](https://polyhaven.com/license), CC0. Exact URLs in `material-sources.json`. - Oak leaf texture: Daniel Greenheck, [EZ-Tree](https://github.com/dgreenheck/ez-tree), MIT. License included in `textures/EZ-Tree-LICENSE.txt` and the arena package. - Shingle, window, garage, fence and sign textures are generated in `generate.py`. ## Build and verify Requires Python with NumPy, Pillow and Shapely, the repository's `tools/q3map2`, and mbspc. In this checkout Shapely is installed under `build-reference-tools/pydeps`. The large street network exposed an mbspc plane-capacity bug. The generator also runs mbspc from the map directory with a short basename to avoid its legacy output-path buffer limit. `mbspc-plane-capacity.patch` allocates both orientations of source planes. Apply it to a separate copy of the `tools/mbspc` tree from the local NetRadiant checkout, not to the archived original. The validated binary is `build-reference-tools/mbspc-neighborhood/build/linux/mbspc`; its build uses `-O2 -fno-strict-aliasing -DNDEBUG -DBSPC -DBSPCINCLUDE -D__linux__` and the NetRadiant `libs` include directory. `--bspc` accepts another patched binary. ```sh PYTHONPATH=build-reference-tools/pydeps python3 tests/neighborhood.test.py PYTHONPATH=build-reference-tools/pydeps python3 tests/neighborhood-interiors.test.py python3 maps/neighborhood/prepare_profiles.py PYTHONPATH=build-reference-tools/pydeps python3 maps/neighborhood/generate.py python3 tools/import_arena.py build-neighborhood/qx_la_avenida.pk3 --build build-neighborhood-release --arena qx_la_avenida PYTHONPATH=build-reference-tools/pydeps python3 tests/neighborhood-routes.py > build-neighborhood-evidence/routes.json GAME_URL=http://127.0.0.1:3751/ioquake3.html node tests/neighborhood-walkthrough.mjs node tests/neighborhood-visual.mjs GAME_URL=http://127.0.0.1:3751/ioquake3.html SIGNAL_URL=http://127.0.0.1:9091 ARENA=qx_la_avenida EVIDENCE_DIR=build-neighborhood-evidence/smoke node tests/goldeneye-smoke.mjs ``` The builder checks every spawn/pickup against collision geometry, rejects leaked BSPs and binds the simplified bot navigation to the playable BSP checksum. Player collision uses the building walls, open entrances, glass panes and furniture. Bot navigation retains open entrances/interior corridors with conservative wall hulls; roof navigation is simplified. The walk test follows the public centerlines with ordinary movement input. Photography uses noclip only to position cameras. For a purely visual iteration, `--reuse-navigation` requires an identical generated navigation map and validates the cached AAS against its BSP checksum before reusing it. The public launcher links the derivative geometry and provenance under `sources/`. `tools/prepare_release.py` includes those files in each release.