You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
refactor: migrate Seasonal Farm and remove legacy three workspace - #809
Migrate Seasonal Farm to @deck.gl-community/layers and remove the deprecated @deck.gl-community/three workspace. Consumers, playground registration, workspace metadata, website navigation and legacy docs/example redirects now point to the native TreeLayer package.
Stack: master (#807 landed) → #794 → #806 → #808 → #809. The scene extension and Coit then follow #809 → #814 → #815 to resolve shared integration files before landing. No scene compatibility patch is required at this Tree milestone. The stack record and upgrade guide explain that landing order and limit API claims here to the prepared path.
Farm remount verification stops the old loop, submits queued work and awaits a bounded WebGL fence before rebuilding on the borrowed device. Cold remount readiness permits 30 seconds; interaction limits remain five seconds and all camera/season/responsive assertions remain. Required software WebGL/WebGPU checks and strict Farm types pass. A measured 2.85-second GPU drain followed by a 227 ms first remount frame supports backlog as a contributor to the repeated Linux five-second wait failure.
Validation on this head:
Root yarn, repository build, strict public consumer types and final yarn lint-fix.
Node: 144 files, 1,196 passed, 9 skipped; all 54 example Node tests passed. Earlier migrated Farm/registry checks: 29 passed.
Seasonal Farm standalone types and production Vite build; required software GPU Farm checks: both WebGL2 and WebGPU passed.
Website workspace yarn/build: 191 pages, all four generated legacy redirects verified.
Final source and native adversarial reviews: no remaining actionable findings.
Removing a published package is a breaking change: publish this removal in a major release only after compatible native TreeLayer/SplatLayer packages are available. Previously published three versions remain unchanged. Fresh hosted checks must pass before landing.
Note
Medium Risk
Removing a published npm package is a breaking change for external importers; in-repo consumers are migrated, but release timing must follow the documented major-version gate after native packages ship.
Overview Removes the deprecated @deck.gl-community/three compatibility workspace and treats TreeLayer as canonical-only from @deck.gl-community/layers. The modules/three package, its docs sidebar, playground registration, TypeScript/Vitest aliases, and WebGPU doc entries are deleted; the upgrade guide and migration notes state that unpublishing @deck.gl-community/three is a major-version breaking change.
Seasonal Farm moves from examples/three/seasonal-farm to examples/layers/seasonal-farm with imports and workspace dependencies switched to @deck.gl-community/layers. The website adds client redirects (old three docs and example URLs → native TreeLayer docs and the new example path) and updates sidebars, live examples, and README module listings accordingly.
Docs/stack metadata are refreshed: dev/tree-splat-stack.md documents landing order through #809/#814/#815; splat-layer-spark-design.md reflects #807 landed and TreeLayer streaming stats. Seasonal Farm browser tests call getCrop with accessor context when needed, fix view-state handling for clamp tests, and drain WebGL work (fence sync) before remount with longer cold-remount timeouts.
Reviewed by Cursor Bugbot for commit ef880ac. Bugbot is set up for automated code reviews on this repo. Configure here.
[Medium impact] The PR appears safe to merge with its documented major-release and parent-first landing requirements.
Summary
Migrates Seasonal Farm to @deck.gl-community/layers and removes the deprecated @deck.gl-community/three workspace.
Updates playground imports, website navigation, and legacy redirects.
Documents the required major release and parent-first landing order.
Since the last review, only the Farm browser test changed: it waits for WebGL work before remounting and gives the new scene more time to draw.
No new actionable issues found. The earlier, unnumbered rendering-guide finding does not apply to this head: its API supports prepared inputs with weighted blending.
TreeLayerPropsSchema still accepts only row inputs. A valid document using getTileData: '@@#inventory', getDistantCanopyColor or cache controls fails strict parsing before the playground creates the layer.
The existing schema-coverage test also fails: TreeLayer.defaultProps now includes inventory defaults that this schema lacks. Add the public streaming fields and explicitly exclude internal defaults from that test.
Opening Coit on the website imports this stylesheet into the whole page. These rules set html and body to overflow: hidden, so readers cannot scroll long docs pages after opening the example and navigating elsewhere. The global button and h1 rules also change website controls and headings.
Keep standalone page rules in the standalone entry point, and scope shared styles to the Coit container.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Migrate Seasonal Farm to
@deck.gl-community/layersand remove the deprecated@deck.gl-community/threeworkspace. Consumers, playground registration, workspace metadata, website navigation and legacy docs/example redirects now point to the native TreeLayer package.Stack: master (#807 landed) → #794 → #806 → #808 → #809. The scene extension and Coit then follow #809 → #814 → #815 to resolve shared integration files before landing. No scene compatibility patch is required at this Tree milestone. The stack record and upgrade guide explain that landing order and limit API claims here to the prepared path.
Farm remount verification stops the old loop, submits queued work and awaits a bounded WebGL fence before rebuilding on the borrowed device. Cold remount readiness permits 30 seconds; interaction limits remain five seconds and all camera/season/responsive assertions remain. Required software WebGL/WebGPU checks and strict Farm types pass. A measured 2.85-second GPU drain followed by a 227 ms first remount frame supports backlog as a contributor to the repeated Linux five-second wait failure.
Validation on this head:
yarn, repository build, strict public consumer types and finalyarn lint-fix.yarn/build: 191 pages, all four generated legacy redirects verified.Removing a published package is a breaking change: publish this removal in a major release only after compatible native TreeLayer/SplatLayer packages are available. Previously published
threeversions remain unchanged. Fresh hosted checks must pass before landing.Note
Medium Risk
Removing a published npm package is a breaking change for external importers; in-repo consumers are migrated, but release timing must follow the documented major-version gate after native packages ship.
Overview
Removes the deprecated
@deck.gl-community/threecompatibility workspace and treatsTreeLayeras canonical-only from@deck.gl-community/layers. Themodules/threepackage, its docs sidebar, playground registration, TypeScript/Vitest aliases, and WebGPU doc entries are deleted; the upgrade guide and migration notes state that unpublishing@deck.gl-community/threeis a major-version breaking change.Seasonal Farm moves from
examples/three/seasonal-farmtoexamples/layers/seasonal-farmwith imports and workspace dependencies switched to@deck.gl-community/layers. The website adds client redirects (old three docs and example URLs → native TreeLayer docs and the new example path) and updates sidebars, live examples, and README module listings accordingly.Docs/stack metadata are refreshed:
dev/tree-splat-stack.mddocuments landing order through #809/#814/#815;splat-layer-spark-design.mdreflects #807 landed and TreeLayer streaming stats. Seasonal Farm browser tests callgetCropwith accessor context when needed, fix view-state handling for clamp tests, and drain WebGL work (fence sync) before remount with longer cold-remount timeouts.Reviewed by Cursor Bugbot for commit ef880ac. Bugbot is set up for automated code reviews on this repo. Configure here.