Small life, calm play

Two field-specific life passes and one shared breeze. The forest stays a woodland clearing. The farm stays bright, airy and pastel.

Lane 6 · 4 November 2026 · Draft look-dev for design sign-off · Original gap audit

Forest life

Two pale butterflies and three falling leaves at the desktop Home perimeter. Seated play hides the batch; phone framing stays quiet.

Farm life

Two authored flower visitors and four petals, with pollen reduced from 44 to 18. The phone guard retains one butterfly at a time in the tested framing. Tight play lenses suppress all life.

Shared wind

A slow travelling breeze, rooted plants and a calmer mill. Forest movement caps at 15 mm; farm stems at 35 mm. Low tier omits wind shader work.

Current shipped field
Today · audit capture · Mac mini M1
Small life and wind draft
After · MacBook M3 Pro, ANGLE Metal

The seven shipped views are preserved. Home actors and real offline games can differ between captures; card and status-prop differences are game state. Click either image for the full capture. A still proves placement and scale, not flutter or gust speed.

Forest small life

Keep the clearing open. The new cream visitor stays beside the perimeter plant; leaves fall locally instead of crossing the centre. No new texture or GLB.

Today
After
HKIA reference · placement and scale only

Farm small life

Phone Home earns one readable flower visitor beside the existing flowers. The second authored visitor stays masked where its full path would reach the protected area. The complete butterfly and petal paths are omitted when their projection reaches the play area. Desktop Home retains the conservative guard.

Today
After
HKIA reference · placement and scale only

Shared wind and sway

Existing tagged forest leaves and farm stems follow the same gust phase. Roots stay planted. These stills show the unchanged vegetation and mill; animation bounds are checked numerically, with motion review reserved for sign-off.

Forest Today
Forest After · existing canopy · 15 mm maximum
Farm Today
Farm After · existing plants and mill · 35 mm maximum stem bend

Mill speed: 0.45 → 0.18 rad/s nominal, about 35 seconds per turn. Low tier: static plant wind, mill 0.09 rad/s. Clouds stay unchanged.

Cost against the audit

Timing uses the original Mac mini M1 harness. Today is the audit baseline; After is this combined lane. Whole-scene counters include real game-state variation. The construction table below isolates this lane's geometry and texture changes.

Field and viewportToday triangles / drawsAfter triangles / drawsToday GPU ms median / p95After GPU ms median / p95Today CPU ms median / p95After CPU ms median / p95
Forest · Board 1440 × 9002,143,577 / 40pending / pending3.46 / 4.34pending / pending1.80 / 2.70pending / pending
Forest · Board 1920 × 10802,143,577 / 40pending / pending3.55 / 4.20pending / pending1.70 / 2.60pending / pending
Forest · Phone board2,143,577 / 40pending / pending3.93 / 4.47pending / pending1.90 / 2.70pending / pending
Forest · Phone board, low tier2,143,577 / 40pending / pending3.33 / 3.63pending / pending2.60 / 3.80pending / pending
Farm · Board 1440 × 900693,140 / 43pending / pending2.22 / 2.37pending / pending2.80 / 3.70pending / pending
Farm · Board 1920 × 1080691,456 / 39pending / pending2.23 / 3.20pending / pending2.40 / 3.00pending / pending
Farm · Phone board691,476 / 38pending / pending2.21 / 2.35pending / pending1.90 / 2.60pending / pending
Farm · Phone board, low tier480,246 / 41pending / pending1.01 / 1.04pending / pending5.90 / 7.40pending / pending

Desktop DPR 1. Phone 390 × 844 at DPR 2 high, DPR 1 low. M1 timings are not phone-device certification. Raw cost rows · Audit baselines

Sub-laneMaximum geometry changeDraw changeNew field assetsField-bound texture change
Forest life · Home high/mid+20 triangles+10 bytes0 bytes
Forest life · seated / low0 submitted00 bytes0 bytes
Farm life · high/mid+48 triangles, replaces 44 points0 net, one batch0 bytes−21,844 bytes
Farm life · lowRemoves 12 points−10 bytes−5,460 bytes
Shared wind000 bytes0 bytes

Full-detail field downloads stay unchanged: forest 13,959,800 bytes including embedded textures; farm 2,863,159 bytes including its 497,643 bytes of existing ground and pollen maps. Field GLBs alone: forest 13,959,800 bytes, farm 2,365,516 bytes. No new image download. The old farm pollen image remains in shared preload, so the field-bound texture saving does not claim a download or shared-cache saving. Metal captures estimate 60,205,724 bytes of field-bound texture storage for forest on both tiers, 44,826,620 bytes for farm high and 11,206,652 bytes for farm low. These are unique RGBA8 material textures plus mip levels; driver padding and shared preload caches are excluded.

Animation cost

Same Home scene on M1GPU with life ms median / p95GPU life hidden ms median / p95Field update median / p95
M1 timing queued. No substitute MacBook timing is presented.

The life-hidden control keeps the same camera, field, wind shaders and scene. Timer queries cover 24 static renders, with four warm-ups excluded and disjoint results rejected. CPU frame figures are rendered requestAnimationFrame callback work during the existing five-second wake window. CPU and GPU overlap; do not add them. A separate batched field.update(t) probe measures only JavaScript animation updates.

Build scope and checks

Forest: new forestLife module and forest lifecycle hooks. Farm: new farmLife module replacing the CPU pollen upload and field lifecycle hooks. Wind: existing forest/farm shader hooks and mill rotation. Existing dispose and shader-key assertions cover the changed lifecycle and program key. No actor, card, UI, FX, engine, server, layout, lighting, ground, prop or GLB edits.

24 existing forest/farm tests passed together. Forest paths have at least 1.338 m board/plate clearance; its seated batch is hidden. Farm checked 24,914 production camera samples with no projected life overlap. These checks support the GPU captures; they are not a design sign-off.

Drafts: forest #246, farm #249, wind #248. Each branch has its own worktree. Fresh-install branch gates are running on omarchy-dell. No ready mark, stamp, queue or merge before sign-off.

Low tier switches added life off on both fields. The field modules start no timers or render loops and preserve the host's idle sleep. Current callers supply no field reduced-motion signal, so this draft adds no new preference plumbing.

Decision for Kyle

Approve the scale and restraint shown here, or choose which field needs a stronger Home cue. Motion loops and final review follow still sign-off.

Reference crop: Sunblink / Sanrio, official HKIA site, reused from the audit for comparison only. No reference pixels are shipped in the game.