Repository navigation
feat(examples): Tree Lab, Citrus, forest and unified world demos - #808
charlieforward9 wants to merge 25 commits into
Conversation
CoverageStmts: 40.21% ▲+6.76% | Branch: 31.30% ▲+7.10% | Funcs: 33.52% ▲+5.48% | Lines: 39.71% ▲+6.33%
|
e2318e8 to
5f8b7c4
Compare
c4e16db to
09a35e1
Compare
|
09a35e1 to
a322080
Compare
5f8b7c4 to
4216f6e
Compare
4216f6e to
0485485
Compare
a322080 to
0f467f6
Compare
0f467f6 to
7baaff7
Compare
0485485 to
e9ab8c9
Compare
e9ab8c9 to
71af59b
Compare
7baaff7 to
1c3c4ac
Compare
71af59b to
eb378bc
Compare
1c3c4ac to
63b42c5
Compare
ee6c1e5 to
aaad10c
Compare
ac3e9f1 to
40f776c
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit aaad10c. Configure here.
aaad10c to
6645ec2
Compare

Add native Tree Lab, Citrus, 10K/20K forest and geographic world examples and website entries. The world demo uses the unified public TreeLayer, flat accessors and explicit budgets.
Pause wind at the rendered clock, preserve offscreen specimen poses and Forest wind phase across hidden tabs without rebuilding wind-off inventories, resume the Tree Lab, Citrus and Forest tours without advancing through pauses or hidden-tab intervals, refresh current sunlight when wind-off specimens re-enter, use one sunlight model for cycling and manual control, retain cycled sunlight across shadow toggles, frame large single-species grids with their computed pullback zoom and keep film startup errors visible after cleanup. World measurements count every completed draw independently of frame intervals and abort on renderer errors. Benchmark errors reject samples; closing cancels idle timers, camera animation callbacks and queued repeated samples. Actual winter ground pixels verify partial wood coverage, and a resumed timeline update verifies that hidden wall time is excluded.
The forest control fixture retains all 20K source rows and highest native geometry with a bounded logical viewport/framebuffer, 128-pixel shadow maps and fewer than 256 wood casters in the grazing close view with shadows enabled only after entering that view, then restores full-inventory framing for all four seasons; production maps retain their 1024-pixel default and full-resolution receiver tests cover shadow pixels; dedicated lab tests assert actual pixels. The all-species ownership fixture retains all sixteen renderers at 160 by 120 pixels; separate species cases retain full-size pixel checks. The wind-clock control fixture uses a bounded real view, stops automatic raster work after the live pose exists and explicitly renders its frozen source before testing engine-time updates. World UI/report fixtures retain real Deck/tiled TreeLayer with empty source pages; separate source and rendering contracts verify streamed data and pixels.
Base: #806. #809 migrates Seasonal Farm and removes the legacy three workspace. #815 remains independent from #814.
Final integration validation: immutable install, lint, package build, strict public/example types, production example bundles and website build pass. All 1,128 Node tests and 22 renderer browser contracts pass. All 28 Tree Lab, Citrus, forest and world application cases pass across the full-suite and focused final-fixture reruns. Renderer tests require software WebGPU and exercise both sorted backends.
Ordinary headless CI explicitly uses software WebGL on GitHub runners. The same provider passed all three forest cases locally; the dedicated required-adapter lane continues to verify WebGPU separately.
Stack graph:
Full stack record.