1-2 per building at second-floor height on metal brackets, double-faced
with generated ad graphics — the perpendicular sign clutter that defines
Akihabara/anime-city streets and makes rows read dense from street level.
Verified via street capture; smoke test 0 failures.
Co-Authored-By: Claude Fable 5 <[email protected]>
Final detail pass — no gameplay object remains a plain box:
- Markets: box stalls replaced with modeled kit stalls (4 styles seeded),
hidden box colliders keep the wood acoustics; hand carts at the market
mouths; standing lanterns between stalls
- Shrines: hanging lanterns on the stone pillars, wooden fences flanking
the torii approach
- Towers: giant mid-height wall ads on the street faces (the anime-city
mega-ad look), on top of crown boards and corner columns
- Storefront awnings (kit detail piece) on ~40% of buildings
- Traffic signals at every central-avenue crossing, diagonal from the
streetlights
- Fantasy Town Kit (CC0) installed at assets/props/town
Verified via street capture (wall-scale glyph ads, pharmacy signs,
banner ads, stalls, carts); movement 11/11, smoke 0, acoustics PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>
The city's flat color sign panels are now real graphic designs, closing
the street-level "graphic density" that anime cities live on:
- tools/generate_ads.py: procedural ad library (24 textures) — bold
two-tone layouts (diagonal splits, bands, circles, stripes) with
fake-glyph text blocks that read as kanji/kana from gameplay distance,
inked borders, seeded palette system
- Every building gets 1-3 street-level posters plastered on its facade
- Vertical sign columns render a stacked-glyph column texture
- Rooftop billboards, tower crown boards (both faces) and the central
4-face screen tower all show distinct ad graphics
- Posters under the viaduct arches on every pier
- All panels lit (albedo + emission of the same texture) so they glow
as signage without blooming out
Verified via street capture (glyph posters, pharmacy-cross signs, ad
boards visible down the avenue); movement 11/11, smoke 0 failures,
acoustics ALL PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>
Streets are now populated: seeded parking lanes hug the curbs of every
N-S street with sedans, taxis, vans, SUVs, hatchbacks, delivery trucks
and the occasional police car (~100+ across the city).
- Wheels attach at the models' wheel-socket empties at spawn
- Metal-tagged box colliders: cars are cover that sounds like cover
- Toonified + darkened base tint (kit albedo clips under the map light)
with per-car hue jitter for varied paint jobs
- Slight rotation jitter so parking reads natural, not stamped
Verified via street capture (colored cars parked down the avenue, no
clipping/glow); movement 11/11, smoke 0 failures, acoustics ALL PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>
Boxes with lines can't reach the requested fidelity — the city now uses
real modeled architecture, toonified into the cel style:
- Kenney City Kit Commercial (CC0, 41 GLBs) installed at
assets/props/citykit: 13 mid-rise buildings + 5 glass skyscrapers with
actual modeled window insets, doors, storefronts, awnings, trim and
rooftop detail, plus parasol/awning props
- Standard + market blocks: street edges fill with seeded kit buildings
(measured catalog drives placement, x13 scale -> 11-32m facades) over
box colliders; Akiba signage layer (corner sign columns, glowing
segments, roof billboards) attaches aligned to each model's bounds
- Tower blocks: kit skyscrapers (up to ~70m curtain-wall glass) on the
walkable podium, seeded rotation, crown billboards kept
- Market blocks add cafe parasols among the stalls
- SSAO enabled + exposure recalibrated for the kit's bright albedo
(sun 2.2 / ambient 1.7); lighter asphalt/paving to match; lighter haze
All kit meshes run through apply_toon_recursive: toon banding over the
kit textures, matching characters/weapons/VFX.
Verified: street + aerial captures (detailed facades at eye level, dense
believable skyline); movement 11/11, smoke 0, acoustics ALL PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>
Scaled the single block to a full 10x10 city grid (48m cells, 16m streets,
640m across) with a hand-authored layout so the fabric stays varied:
Block types:
- S standard retail (70%): paired parametric buildings facing the N-S
streets, seeded heights/colors per block; ~half get a mid-block alley
with fire-escape climbs so no two blocks play identically
- T landmark towers: 8-10 floors on a walkable retail podium, mega corner
sign, double-sided rooftop crown billboard (skyline wayfinding)
- J shrine courtyards: walled court, torii, slide-roof hall, lanterns,
trees — the green quiet break in the fabric
- M market streets: dense stall rows + lantern strings between low
buildings (close-quarters cover mazes)
- P plaza cluster at the city centre with planter cover and a giant
4-face screen tower at the exact middle (the Crossing)
- C construction sites: open slab frame to wallrun, access ramp, container
stacks, and a 28m crane whose jib is the city's tallest grapple anchor
City systems:
- Brick rail viaduct runs the full east-west width on per-block piers with
vending arcades under alternating arches + slide ramps at the centre
- Central avenues x=0/z=0 get matched streetlights and zebra crossings at
every block line; brick wall rings the district; city-haze fog for depth
- Detail pass per building: window bands every floor, water tanks/antenna
masts seeded on roofs, denser sign stacking
Perf/physics: decoration (signs, windows, leaves, lamp heads) is
render-only MeshInstances; only gameplay surfaces are static bodies, all
acoustics-tagged. Spawns distributed across block types facing centre.
Verified: full-city aerial (all 100 blocks, aligned grid), avenue-level
capture (clean canyon, viaduct vista); movement 11/11, smoke 0 failures,
acoustics ALL PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>
Complete new approach after the hand-placed layout shipped misaligned:
every element now derives from a street grid and its building's footprint,
so alignment is structural, not luck.
District structure (modeled on Akihabara's Chuo-dori / Denki-gai / JR
viaduct):
- 16m avenue flanked by continuous mid-rise rows; buildings defined ONLY
by z-interval + floor count (4m quantized floors), packed edge-to-edge
- _building() derives everything from the footprint: parapet lips on the
roof rim, inset glass storefront, sidewalk canopy, stacked per-floor
sign bands, a solid vertical corner sign column with glowing segments,
evenly spaced roof AC units, rooftop billboard on 4+ floor buildings
- Brick rail viaduct crosses the whole block on piers with an under-track
vending arcade; sidewalk-aligned slide ramps with handrails reach the
deck on both flanks
- Denki-gai alley cut through both rows (wallrun walls + fire escape
platforms climbing per floor); red SEGA-style landmark + blue
electronics building anchor the north corners
- Matched streetlight pairs every 16m with arms over the road; zebra
crossings at the alley mouth and south block; spawns on sidewalks/deck
facing the map center
Movement: viaduct high lane + roof-hop onto the 2-floor row, canopy lane
above each sidewalk, alley wallruns + fire escapes, grapple anchors on
lamp arms / sign columns / viaduct edge / billboards, slide ramps.
Acoustics: facades concrete, storefronts glass, canopies wood, viaduct
brick, signs/AC/vending/lights/escapes metal.
Renamed in the level selector: "Akiba Crossing". Verified via aerial and
street captures (aligned rows, clean canyon, viaduct framing); movement
11/11, smoke 0 failures, acoustics ALL PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>
- LevelMaterials.flat(): toon-banded FLAT color material (no greybox grid
texture) for dressed maps; cached per tint, rim/spec off
- Neon Alley overrides _box_static: every structure renders flat cel color;
prop-scale pieces (<10m) get an inverted-hull ink outline scaled to their
size. Building-scale boxes skip the hull — the inflated plates smear into
black voids at close range (found via fixed street-camera capture)
- Pylon wires render as flat ink lines; warmer wood + hotter vermilion for
flat shading (the grid multiply used to brighten tints)
- visual_capture: deterministic street-level shot after the aerial for
style comparisons
Street capture now reads properly BoomerangX: flat lavender asphalt, hard
light bands, torii framed down the underpass, neon strips + sign glow.
Co-Authored-By: Claude Fable 5 <[email protected]>
New map (scenes/maps/neon_alley/, auto-appears in the level selectors):
Layout for movement flow:
- Main N-S street = the long sightline, crossed by a pedestrian bridge
(slide ramps up both ends, underpass cover below, railed high ground)
- West machiya row: wooden two-story houses with a jump route
(awning -> balcony -> roof deck) and 25-degree slide roofs facing the street
- East concrete towers with glass storefronts; brick wallrun alley between
them (AC units to vault); metal fire-escape platform route to the roofs;
angled rooftop billboard as cover + grapple anchor
- Three power pylons with crossarms over the street chain a grapple route;
the torii gate crossbeam at the north shrine plaza is a fourth anchor
- South market: wooden stalls with neon canopies + metal vending machines
= scattered mid cover; shipping container corner piece
- Spawns ring the block and face the map center
Acoustics as level design: every surface is tagged (machiya/stalls/torii
wood, towers concrete, storefronts glass, alley+perimeter brick, escapes/
AC/rails/container metal) so occlusion tells you which structure a shot
came through and reflections differ per street.
Style: sunset sky + fixed dusk-lavender ambient (calibrated for the toon
shader's 1/PI light response), warm low sun, neon sign columns, shop signs,
lantern strings, billboard glow, underpass strip lights.
Verified: aerial + street-level + third-person captures; movement 11/11,
smoke 0 failures, acoustics ALL PASSED.
Co-Authored-By: Claude Fable 5 <[email protected]>