Draft
Conversation
Introduces @sqlrooms/cesium, a new package for 3D geospatial visualization built on CesiumJS and Resium, along with an example app demonstrating earthquake data visualization on a 3D globe. Package features: - CesiumSlice for state management (camera, clock, layers, scene) - SQL-driven entity layers via useSqlToCesiumEntities hook - Support for geojson, czml, sql-entities, and tileset layer types - Time-animated entities with clock sync - Depth testing against terrain, subsurface rendering, and camera height controls - CesiumPanel, CesiumClock, CesiumToolbar UI components Example app (examples/cesium-app): - Earthquake explorer loading parquet data from HuggingFace - Demonstrates SQL query to 3D entity rendering pipeline - Uses vite-plugin-cesium for asset handling
- Room.tsx: remove manual initialize() call; RoomShell handles it automatically, and the manual useEffect fired twice under React StrictMode. - cesium-config.ts: createDefaultCesiumConfig now returns a structuredClone of DEFAULT_CESIUM_CONFIG so callers cannot mutate the shared singleton. Also fix stale doc comment claiming camera longitude/latitude are in radians (they are degrees). - useSqlToCesiumEntities: skip rows with non-finite lon/lat/alt or unparseable time values instead of passing NaN to Cartesian3.fromDegrees / JulianDate.fromIso8601. - useClockSync: narrow the store->Cesium selector with useShallow to exclude currentTime. Previously the tick handler wrote currentTime to the store, retriggering the effect that reapplied the full clock config to Cesium, creating a feedback loop.
- CesiumEntityLayer: remove debug console.log from clock-range setter that was leaking into production logs. - cesium-app README: correct the earthquake magnitude filter (5.0+, not 4.0+) and the speed slider description (logarithmic 1x to 1 year/sec, not "0.1x to 100x").
- useClockSync: restore store->Cesium currentTime propagation that was lost when we excluded currentTime from the selector. A separate guarded effect now watches store currentTime and applies it to the viewer only when it differs from the last tick-originated write, preventing the feedback loop while allowing external setCurrentTime calls (e.g. timeline scrub) to reach the viewer. - useSqlToCesiumEntities: compute stopJd by scanning all rows for the maximum valid timestamp instead of assuming the last row is latest. Rows may not be time-sorted depending on the SQL query.
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
Signed-off-by: Ilya Boyandin <[email protected]>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Uh oh!
There was an error while loading. Please reload this page.