Compare commits

...

1480 Commits

Author SHA1 Message Date
Matt Schwartz df31bf3411
Merge pull request #13058 from CesiumGS/remove-zip-sandcastle
deploy / deploy (push) Has been cancelled Details
dev / lint (push) Has been cancelled Details
dev / coverage (push) Has been cancelled Details
dev / release-tests (push) Has been cancelled Details
dev / node-20 (push) Has been cancelled Details
sandcastle-dev / deploy (push) Has been cancelled Details
Remove legacy sandcastle from zip file
2025-11-26 21:39:38 +00:00
Luke McKinstry 885c3ec377
Merge pull request #13001 from CesiumGS/azure-2d-tiles
Add Azure 2D imagery provider
2025-11-26 16:04:27 -05:00
lukemckinstry 08bf89704e fixup 2025-11-26 15:40:57 -05:00
lukemckinstry 115927d39f pr review updates 2025-11-26 15:32:12 -05:00
lukemckinstry 7e4614a0f3 switch to azure production asset ids 2025-11-26 15:32:12 -05:00
lukemckinstry 5c9dde6dae remove labels thumbnails 2025-11-26 15:32:12 -05:00
lukemckinstry b78f9a15a5 update specs 2025-11-26 15:32:12 -05:00
lukemckinstry 66372eb6c2 remove labels only layers from base layer picker defaults 2025-11-26 15:32:12 -05:00
lukemckinstry b15d76bcea use derived resources for attribution calls 2025-11-26 15:32:12 -05:00
lukemckinstry 84a84d61ae add azure maps to default options in imagery layer picker 2025-11-26 15:32:12 -05:00
lukemckinstry 1c1eb3197c move azure sandcastles out of development folder 2025-11-26 15:32:12 -05:00
lukemckinstry bd9c9f4b04 make Azure class public 2025-11-26 15:32:12 -05:00
lukemckinstry 96329b8ee9 docs typo 2025-11-26 15:32:12 -05:00
lukemckinstry c522e126b5 update imagery tutorial sandcastle 2025-11-26 15:32:12 -05:00
lukemckinstry e842f72cac add attribution for azure 2025-11-26 15:32:12 -05:00
jjspace 14fe9fdd94
remove legacy sandcastle from zip file 2025-11-26 14:02:34 -05:00
Marco Hutter 673bd6a82f
Merge pull request #13026 from CesiumGS/fix-sandcastle-paths
deploy / deploy (push) Waiting to run Details
dev / lint (push) Waiting to run Details
dev / coverage (push) Waiting to run Details
dev / release-tests (push) Waiting to run Details
dev / node-20 (push) Waiting to run Details
sandcastle-dev / deploy (push) Waiting to run Details
Fix Sandcastle paths for windows
2025-11-26 00:10:13 +00:00
Don McCurdy 41a0f18ba9
Merge pull request #13018 from CesiumGS/billboard-depth-regression-fix
Fixes model-billboard depth interactions
2025-11-25 18:03:41 +00:00
Don McCurdy 8bd8ae7f63
Merge branch 'main' into billboard-depth-regression-fix 2025-11-25 13:02:57 -05:00
jjspace 0b11c10039
Merge remote-tracking branch 'origin/main' into fix-sandcastle-paths 2025-11-25 12:54:17 -05:00
jjspace 2171604b40
use node executable for windows 2025-11-25 12:50:55 -05:00
jjspace ee2b3813b2
Merge pull request #13038 from CesiumGS/fix/textureatlas-border-internal
deploy / deploy (push) Has been cancelled Details
dev / lint (push) Has been cancelled Details
dev / coverage (push) Has been cancelled Details
dev / release-tests (push) Has been cancelled Details
dev / node-20 (push) Has been cancelled Details
sandcastle-dev / deploy (push) Has been cancelled Details
fix(textureatlas): Apply internal padding between images
2025-11-21 17:14:38 +00:00
Don McCurdy 4e3980cc53 fix(textureatlas): Apply internal padding between images 2025-11-21 11:44:18 -05:00
jjspace c92d0d80a1
Merge pull request #13037 from CesiumGS/chore/textureatlas-visual-tests
chore(textureatlas): Refactor unit tests for visual output
2025-11-20 17:39:22 +00:00
Don McCurdy 16d0cccfdb chore(textureatlas): Fix vertical order unit test debug output 2025-11-20 09:31:57 -05:00
Don McCurdy 5213dfc1c0 update empty space character with '.' 2025-11-18 16:44:20 -05:00
Don McCurdy bd5aa3ff29 chore(textureatlas): Refactor unit tests for visual output 2025-11-18 15:34:19 -05:00
Matt Schwartz bcc5ea383e
Merge pull request #13013 from CesiumGS/clear-console
Add option to clear the console in Sandcastle
2025-11-14 16:56:31 +00:00
Matt Schwartz 278174f9f1
Merge pull request #13020 from donmccurdy/fix/billboard-svg-scale
fix(billboards): Rasterize SVG content at billboard resolution
2025-11-14 15:59:37 +00:00
Don McCurdy cfce282f08 fix(billboards): Scale SVGs in texture atlas to match billboard display size 2025-11-13 16:39:02 -05:00
Sean Lilley debd74eb91
Merge pull request #9961 from DanielLeone/fastPickingWithOctree
Fast terrain picking (via quadtree)
2025-11-13 19:04:43 +00:00
Matt Schwartz d063514d1a Changes.md 2025-11-13 13:41:40 -05:00
Matt Schwartz d748edee14 Variable rename in terrainpicker 2025-11-13 11:49:42 -05:00
Matt Schwartz cdbd86b05b Merge remote-tracking branch 'origin' into fastPickingWithOctree 2025-11-13 11:47:52 -05:00
Matt Schwartz a1419b267c Fix to CHANGES.md 2025-11-13 10:39:26 -05:00
Matt Schwartz 644c18332b
Merge pull request #12983 from alarkbentley/alark/async-picking
Added Scene.pickAsync for non GPU blocking picking
2025-11-13 06:24:25 +00:00
Adam Larkeryd 71a12a341b fix for typedef 2025-11-13 12:22:00 +09:00
Matt Schwartz 9113ae75bc PR revisions #1 2025-11-12 13:23:25 -05:00
Matt Schwartz a6e0226968
Merge pull request #12958 from Beilinson/fix-billboard-subregion
fix billboard subregion not displayed
2025-11-12 16:24:55 +00:00
Adam Larkeryd e70ec8043c doc fixes 2025-11-12 10:21:08 +09:00
Adam Larkeryd 7145e11ba4 revert sandcastle picking demo 2025-11-12 09:47:32 +09:00
Adam Larkeryd 95cb3bb3b9 Picking.pickAsync 2025-11-12 09:40:10 +09:00
Adam Beili e6ac78ff3b Promises 2025-11-11 16:06:53 +02:00
Adam Beili 034653c846 Fix jsdoc types 2025-11-11 15:34:32 +02:00
Adam Larkeryd 45f8734037 Context readPixelsToPBO 2025-11-11 15:45:16 +09:00
Adam Larkeryd 64f07aec37 tests for Sync waitForSignal 2025-11-10 16:31:32 +09:00
Adam Larkeryd febfade1df Sync waitForSignal 2025-11-10 15:25:26 +09:00
jjspace 841a4cf12a
better tsc path and fix globby paths for windows 2025-11-07 17:20:46 -05:00
Adam 9b42731f52 Fix 2025-11-07 18:33:16 +02:00
Adam 55b2ba865a CR 2025-11-07 18:00:24 +02:00
Matt Schwartz d4582b519b
Merge pull request #13014 from CesiumGS/multiple-console-args
Support multiple console arguments in sandcastle
2025-11-07 10:57:05 -05:00
Adam d34e3ccc30 Fix changes 2025-11-07 13:56:22 +02:00
Adam 85fabf515b Fix jsdoc 2025-11-07 13:39:28 +02:00
Adam 84890e6d95 Refactor 2025-11-07 13:28:26 +02:00
Adam 829a768abf Make existing test properly reflect the render loop 2025-11-07 13:02:44 +02:00
Adam Beili 4ed382f4f3
Merge branch 'CesiumGS:main' into fix-billboard-subregion 2025-11-07 11:03:50 +02:00
Adam Larkeryd 7148621fda added synchronus fallback warning 2025-11-06 15:09:45 +09:00
Matt Schwartz 020749de32 Add to CHANGES.md 2025-11-05 09:27:19 -05:00
Matt Schwartz f4e49d7b64 Fixes model-billboard depth interactions 2025-11-05 09:12:11 -05:00
jjspace 3cc5f439f3
support multiple arguments in console mirror messages 2025-11-04 17:00:23 -05:00
jjspace ba462e219d
add option to clear the console log 2025-11-04 15:21:08 -05:00
Matt Schwartz 1c30cf64b5 Unit test fixes 2025-11-03 22:39:56 -05:00
Matt Schwartz cdf07f4214 Merge remote-tracking branch 'origin' into fastPickingWithOctree 2025-11-03 22:10:29 -05:00
Matt Schwartz e399a8a306 Moves and adds unit tests for picking 2025-11-03 22:09:56 -05:00
Matt Schwartz c0acb452b7 Fixes zero-scale bug in non-terrain cases 2025-11-03 21:50:22 -05:00
Matt Schwartz 1689691878 Fixes transform bugs in 2D/CV modes 2025-11-03 21:30:27 -05:00
Adam Larkeryd ac61464780 Merge branch 'main' into alark/async-picking 2025-11-04 10:10:09 +09:00
jjspace edceb42f3a
update changes.md 2025-11-03 16:01:54 -05:00
jjspace 4547dbb196
Merge pull request #13011 from CesiumGS/fix-sandcastle-deployment
Fix gallery build for prod
2025-11-03 14:53:05 -05:00
jjspace 26bb7275c3
build gallery to Build dir for production deployments 2025-11-03 14:48:24 -05:00
jjspace 8f923ededf
update thirdparty 2025-11-03 13:06:53 -05:00
jjspace b833c8c0a1
minor release guide changes 2025-11-03 13:05:48 -05:00
jjspace 34d6698079
update package versions and changes.md 2025-11-03 13:04:22 -05:00
jjspace cf19f38748
update tokens 2025-11-03 13:02:09 -05:00
Jeshurun Hembd a129f06ea9
Merge pull request #13010 from CesiumGS/remove-splat-deprecation
Remove support for the legacy splats extension
2025-11-03 17:55:09 +00:00
jjspace caf297d63e
change wording 2025-11-03 12:32:29 -05:00
jjspace 30ed7083c3
tidy up the code 2025-11-03 11:47:19 -05:00
jjspace 88951ffde4
remove support for the legacy splats extension 2025-11-03 11:40:10 -05:00
Jeshurun Hembd 96c4ca3f4b
Merge pull request #13009 from CesiumGS/remove-banner
Remove banner pointing to legacy sandcastle
2025-11-03 16:18:57 +00:00
jjspace 90e527961e
remove banner pointing to legacy sandcastle 2025-11-03 11:07:59 -05:00
jjspace 7aae7e358e
Merge pull request #12904 from CesiumGS/sandcastle-build-updates
Sandcastle build config updates
2025-11-03 11:07:30 -05:00
jjspace c59e106436
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-11-03 10:48:42 -05:00
jjspace 7d3efcb544
Merge pull request #12963 from CesiumGS/3d-tiles-terrain
3d tiles terrain
2025-11-03 14:58:59 +00:00
Adam Larkeryd eb1fa20a49 Merge branch 'main' into alark/async-picking 2025-11-03 10:38:15 +09:00
Jeshurun Hembd a3ae7943f9
Merge pull request #12959 from CesiumGS/voxel-exaggeration
Fix exaggeration of ellipsoid voxel clipping bounds
2025-11-02 02:56:09 +00:00
Jeshurun Hembd b321b6fadc PR feedback part 2 2025-10-31 18:05:08 -04:00
Jeshurun Hembd 7f81c437f4 Avoid undefined TypedArray type 2025-10-31 17:35:02 -04:00
Jeshurun Hembd 3f911ee8e1 Store exaggeration state in VoxelPrimitive 2025-10-31 13:11:17 -04:00
jjspace 9675ce52d7
don't include engine bundle in npm package 2025-10-31 12:23:04 -04:00
Matt Schwartz 01fde5c93f Style refactor 2025-10-31 10:46:05 -04:00
Matt Schwartz 488bc7c961 More jsdoc 2025-10-31 10:20:32 -04:00
Matt Schwartz c8b00a4ec7 Improves jsdocs for terainpicker 2025-10-31 09:37:48 -04:00
Matt Schwartz 8e57c5a37c Polishes PR 2025-10-31 00:45:30 -04:00
Matt Schwartz b823e08546 Moves transform computation from terrain picker to terrain mesh 2025-10-30 19:59:40 -04:00
Matt Schwartz 7081df8824 Fixes bug with intersections behind ray 2025-10-30 19:24:33 -04:00
Matt Schwartz fdb8ee42a4 Switch terrain picking data structure to quadtree 2025-10-30 19:02:41 -04:00
Gabby Getz ba5b5d77e8
Merge branch 'main' into sandcastle-build-updates 2025-10-30 18:03:48 -04:00
Luke McKinstry 453b40d6f1
Merge pull request #13004 from CesiumGS/ion-headers
Set headers for URLs proxied from Cesium ion
2025-10-30 18:13:04 +00:00
ggetz b45dead50e Fix ionImageryProvider cache, unit test cleanup 2025-10-30 13:41:25 -04:00
Sean Lilley b36984b4f7
Merge pull request #12926 from CesiumGS/gsplat-fixedframe-transform
Gsplat fixedframe transform
2025-10-30 17:36:25 +00:00
keyboardspecialist 88dd03e097 wording 2025-10-30 10:26:25 -05:00
keyboardspecialist e9f2388ffb use primitive transform for inverse rotation matrix to ensure SH works for all datasets 2025-10-30 10:16:36 -05:00
Adam Beili 1d6d5e6570 Cleaner and readable code 2025-10-30 02:07:06 +02:00
Adam Beili f73f2f2b5c Self CR 2025-10-30 01:59:41 +02:00
Adam Beili 6f1349bc09 Suggested CR changes 2025-10-30 01:23:30 +02:00
Matt Schwartz b0f14b30f3 Refactors scene mode change and reset in octree picking 2025-10-29 19:08:15 -04:00
Adam Beili 5d00fca596 Safer implementation, handle edge cases as done previously 2025-10-29 23:29:04 +02:00
Adam Beili 08ecab02d0
Merge branch 'main' into fix-billboard-subregion 2025-10-29 23:05:56 +02:00
keyboardspecialist 72584a27e7 remove unnecessary fromArray 2025-10-29 15:58:49 -05:00
keyboardspecialist f3664c6528 removed extraneous defined check and assignment of rootTransform 2025-10-29 15:53:52 -05:00
keyboardspecialist fec2dbf35e move changes to Nov release 2025-10-29 15:50:06 -05:00
keyboardspecialist 9246bb8e3e Merge branch 'main' into gsplat-fixedframe-transform 2025-10-29 15:49:48 -05:00
Matt Schwartz cbfa3cea27 Fixes to globesurfacetile spec 2025-10-29 14:43:15 -04:00
Matt Schwartz 2e3d6b6bf2 Moves ray-AABB intersection tests to utility class 2025-10-29 14:01:23 -04:00
Matt Schwartz 83364cc5a5 Adapts octree for different scene modes 2025-10-29 11:20:41 -04:00
Adam Larkeryd 86049c8fe6 added pickAsync code example to doc 2025-10-29 10:25:55 +09:00
Adam Larkeryd ec3e71b360 changelog 2025-10-29 10:21:56 +09:00
Adam Larkeryd 40bce95af4 test: picks async throws timeout if too slow 2025-10-29 10:12:54 +09:00
Adam Larkeryd ce0c6a79e9 Merge branch 'main' into alark/async-picking 2025-10-29 09:24:56 +09:00
Jeshurun Hembd b222893b2a PR feedback part 1 2025-10-28 18:56:05 -04:00
Jeshurun Hembd 1f737c2d78 PR feedback part 1 2025-10-28 18:08:42 -04:00
Marco Hutter 0ee5670050
Merge pull request #12924 from CesiumGS/fix-draped-imagery-removal
Fix draped imagery removal
2025-10-28 21:26:12 +00:00
ggetz c5ac658738 Minor code cleanup 2025-10-28 14:27:13 -04:00
ggetz 6f6dc355de Set ion headers for ion proxied URLs 2025-10-28 13:53:18 -04:00
Matt Schwartz 9b215be7b7 Minor fix to clear triangles 2025-10-28 12:29:21 -04:00
Matt Schwartz b00b65cee1 Merge remote-tracking branch 'origin/main' into fastPickingWithOctree 2025-10-28 11:52:03 -04:00
Matt Schwartz 1e8d248e34 Move incremental build to worker 2025-10-28 11:20:19 -04:00
Matt Schwartz 63a8371eb6 Incrementally build octree on pick 2025-10-27 23:15:52 -04:00
jjspace 5cc27ef976
small doc link change 2025-10-27 14:14:10 -04:00
jjspace 22df371dda
extract gulp tasks to help avoid dynamic imports 2025-10-27 14:13:45 -04:00
Matt Schwartz 3af3ef03a2 Marks octree for rebuild on exaggeration changes 2025-10-27 13:04:37 -04:00
jjspace 8b212bd7b5
rebuild package bundles in dev server 2025-10-27 12:12:33 -04:00
Adam Larkeryd 9cfc449c55 Merge branch 'main' into alark/async-picking 2025-10-27 15:16:20 +09:00
Matt Schwartz b1e03247cb Improve memory patterns and simplify function signatures 2025-10-26 21:40:57 -04:00
Matt Schwartz 53fa96bf85 Lazily builds picking octree
WIP - the goal is to only build octrees on tiles
that are picked against. Beyond saving memory and worker time,
this allows us to conservatively rebuild octrees when
vertical exaggeration changes.

TODO: build the octree in a worker task, and fallback to
the default pick strategy while it's being built.
2025-10-26 20:48:50 -04:00
Matt Schwartz 790962d129 Revert changes to RequestErrorEvent.js 2025-10-26 14:38:00 -04:00
jjspace b478c3fb63
rename arguments and functions for clarity 2025-10-24 15:26:49 -04:00
Jeshurun Hembd 61f8dcfeef Clear TODO comments in Cesium3DTilesTerrainGeometryProcessor 2025-10-24 11:22:47 -04:00
Matt Schwartz 5ac1b0757d
Merge pull request #12997 from CesiumGS/react-eslint-warning
Fix eslint warning for react
2025-10-24 14:00:04 +00:00
Adam Larkeryd f02b48a50a pr comment fixes #1 2025-10-24 11:33:39 +09:00
Adam Larkeryd e53c22d09d Merge branch 'main' into alark/async-picking 2025-10-24 09:32:58 +09:00
Jeshurun Hembd d08ce7a58e Move constructors to tops of files 2025-10-23 19:44:40 -04:00
Jeshurun Hembd 2de6dd7ba3 Merge branch 'main' into 3d-tiles-terrain 2025-10-23 18:32:28 -04:00
Jeshurun Hembd 668b8bba24 Update CHANGES.md, clean up whitespace 2025-10-23 18:28:58 -04:00
Jeshurun Hembd 77fb377592 Avoid recomputing keys in ResourceCache 2025-10-23 18:12:51 -04:00
Matt Schwartz ceccffefe6
Merge pull request #12998 from CesiumGS/no-submit-filter
Don't refresh page gallery search
2025-10-23 21:05:00 +00:00
jjspace cc931d222f
don't submit and refresh page on Enter 2025-10-23 15:13:21 -04:00
Matt Schwartz 023b4f2d60 Fixes scratch variable reuse bug 2025-10-23 15:03:53 -04:00
Matt Schwartz f58ea2c51e Add child node after creation in octree 2025-10-23 14:53:10 -04:00
jjspace f843821566
use correct dependencies in hooks 2025-10-23 14:33:41 -04:00
Matt Schwartz a8f7d8f9b8 Fixes bug in octree ray intersection 2025-10-23 14:29:02 -04:00
Matt Schwartz 948e00cfc3 Reverts unit test changes for octree picking
These tests were more like integration tests and would
likely be brittle in the future, and not hard to diagnose.
2025-10-23 14:15:26 -04:00
Matt Schwartz 64ec998897 Refactors octree picking for style and modularity 2025-10-23 14:10:46 -04:00
jjspace ba045e7e77
convert to options params for clarity 2025-10-23 13:22:55 -04:00
jjspace b74d62da2a
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-10-23 12:56:59 -04:00
Matt Schwartz f5b807d3ce
Merge pull request #12996 from CesiumGS/infobox-background
override the cesium viewer color-scheme
2025-10-23 15:40:24 +00:00
jjspace 9a83ebdada
override the cesium viewer color-scheme 2025-10-23 11:29:22 -04:00
Jeshurun Hembd e944a82c68 Minor cleanup in Cesium3DTilesTerrainProvider 2025-10-22 22:13:47 -04:00
Jeshurun Hembd c2024630f7 Use async/await in Cesium3DTilesTerrainDataSpec 2025-10-22 14:45:49 -04:00
Gabby Getz b804be9e97
Merge pull request #12821 from CesiumGS/billboard-terrain-clip-fix
Switch from automatic to manual depth testing for billboards
2025-10-22 15:16:14 +00:00
Gabby Getz 008ff68eab
Merge branch 'main' into billboard-terrain-clip-fix 2025-10-22 11:15:36 -04:00
Adam Larkeryd bf11b3af93 prettier fix 2025-10-22 10:18:32 +09:00
Adam Larkeryd 5c07c4dbbc
Update packages/engine/Source/Scene/PickFramebuffer.js
spelling

Co-authored-by: Matt Schwartz <mzschwartz5@gmail.com>
2025-10-22 09:58:01 +09:00
Adam Larkeryd 2b7861edab
Update packages/engine/Source/Scene/Scene.js
Simplify promise using await

Co-authored-by: Matt Schwartz <mzschwartz5@gmail.com>
2025-10-22 09:49:18 +09:00
Jeshurun Hembd d31a0c3ba7 Fix destructuring in Cesium3DTilesTerrainGeometryProcessor 2025-10-21 18:14:32 -04:00
Matt Schwartz 074acf176a
Merge pull request #12991 from CesiumGS/sandcastle-console-index
Prevent selecting console index in sandcastle
2025-10-21 19:41:28 +00:00
jjspace 453096724d
switch dev-sandcastle to main branch 2025-10-21 15:35:57 -04:00
jjspace 89028975de
Merge pull request #12990 from CesiumGS/detect-and-remove-unused-eslint-disable-directives
Detect and remove unused eslint disable directives
2025-10-21 19:23:22 +00:00
Marco Hutter 9d00201f33 Merge remote-tracking branch 'origin/main' into fix-draped-imagery-removal
# Conflicts:
#	CHANGES.md
2025-10-21 20:36:32 +02:00
Marco Hutter 572b34fac5 Move unused directive check from CLI to config 2025-10-21 20:20:10 +02:00
Marco Hutter b096d177e5 Undo literal to string change. Add comment. 2025-10-21 20:17:46 +02:00
jjspace 51e39236f6
prevent selecting console index, better render icons 2025-10-21 13:49:43 -04:00
Jeshurun Hembd 2afb7b65b9 Clean up, clarify docs in Cesium3DTilesTerrain classes 2025-10-21 12:19:36 -04:00
Marco Hutter af3625979a Remove unused eslint disable directives 2025-10-21 17:23:23 +02:00
Marco Hutter ff05f712b6 Detect unused eslint disable directives 2025-10-21 17:22:46 +02:00
Gabby Getz 359251339c
Merge branch 'main' into billboard-terrain-clip-fix 2025-10-21 11:07:28 -04:00
Adam Larkeryd 4439df1658 Merge branch 'main' into alark/async-picking 2025-10-21 10:49:37 +09:00
jjspace da2dd8a942
update function names 2025-10-20 17:22:15 -04:00
Gabby Getz 4b77c39685
Merge pull request #12859 from CesiumGS/edge_line_unique_VAO
Add support for GLTF extension: EXT_mesh_primitive_edge_visibility
2025-10-20 20:55:55 +00:00
Gabby Getz b2b46433c8
Merge pull request #12981 from CesiumGS/dependabot/github_actions/main/actions/setup-node-6
Bump actions/setup-node from 5 to 6
2025-10-20 20:45:29 +00:00
Gabby Getz 3c6df4ca0c
Update CHANGES.md: Consolidate mismatched release dates 2025-10-20 16:43:17 -04:00
Gabby Getz e7916beecc
Merge branch 'main' into edge_line_unique_VAO 2025-10-20 16:39:28 -04:00
Adam Larkeryd c9c27259ac tests for Context readPixels 2025-10-20 14:53:25 +09:00
Adam Larkeryd 2d3be0f559 added more tests 2025-10-20 11:55:05 +09:00
Jeshurun Hembd 470fbdd000 Clean up types in 3d tiles terrain processing 2025-10-17 19:08:10 -04:00
Adam Larkeryd ebaf3e7d20 added SyncSpec 2025-10-17 12:00:26 +09:00
Adam Larkeryd c8d2d81425 added as contributor 2025-10-17 10:59:03 +09:00
Adam Larkeryd 3a0e0aad04 Merge branch 'main' into alark/async-picking 2025-10-17 10:44:34 +09:00
Jeshurun Hembd 62b5da41fa Merge branch 'main' into 3d-tiles-terrain 2025-10-16 18:15:50 -04:00
Jeshurun Hembd 0ed8a626ba Update 3d tiles terrain sandcastle 2025-10-16 18:09:35 -04:00
Sean Lilley ed6f310138
Merge pull request #12978 from Beilinson/fix-clamped-polygon-picking
Fix clamped polygon picking
2025-10-16 21:33:24 +00:00
jjspace 8104a6445c
Merge pull request #12969 from CesiumGS/terrain-docs
Clean up docs and type checks for terrain providers
2025-10-16 21:14:33 +00:00
Adam Beili 5fd0b7c06f Update changes 2025-10-16 23:17:35 +03:00
Adam Beili b7d4591f74
Merge branch 'main' into fix-clamped-polygon-picking 2025-10-16 23:15:25 +03:00
Adam Beili d0177ce52b Add spec, update CHANGES 2025-10-16 23:09:26 +03:00
Jeshurun Hembd 6d6e0fc92c Fix TerrainEncodingSpec 2025-10-16 13:10:50 -04:00
Jeshurun Hembd bc9981a1a7 Fix optional param doc in TerrainEncoding 2025-10-16 13:02:13 -04:00
Jeshurun Hembd ae3641c8fd Fix types for optional properties in TerrainEncoding 2025-10-16 12:50:12 -04:00
Adam Beili b3e013a010 Unify conditions between pick and regular path 2025-10-16 14:38:13 +03:00
Adam Larkeryd aa140c1a79 added .js for imports 2025-10-16 13:33:05 +09:00
Adam Larkeryd 0d3daff896 avoid test asyncpick if stub 2025-10-16 11:33:12 +09:00
Adam Larkeryd 6872ef2e99 added comment 2025-10-16 11:24:45 +09:00
Adam Larkeryd 8e0ba0c6d3 comments and refactoring 2025-10-16 11:15:46 +09:00
Adam Larkeryd f5fad8ed20 pick debouncing 2025-10-16 10:11:29 +09:00
Jeshurun Hembd bc97809deb Merge branch 'terrain-docs' into 3d-tiles-terrain 2025-10-15 15:49:59 -04:00
Jeshurun Hembd fc342685ee Add descriptions, optional param types in TerrainEncoding 2025-10-15 10:26:59 -04:00
Adam Larkeryd 7a01e6ebe3 toggle ui for async 2025-10-15 15:06:32 +09:00
Adam Larkeryd f3351b7133 Added test for pixelbuffer and async pick 2025-10-15 14:39:25 +09:00
Daniel Zhong 17b7dd6f67
Merge branch 'main' into edge_line_unique_VAO 2025-10-15 01:28:59 -04:00
danielzhong 06c1335872 fix build test 2025-10-15 00:54:53 -04:00
dependabot[bot] 1e91fa77da
Bump actions/setup-node from 5 to 6
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 01:09:15 +00:00
Adam Larkeryd c0f3fd44fd pickAsync pick first match 2025-10-15 09:56:44 +09:00
Adam Larkeryd 116ef099dd Merge branch 'main' into alark/async-picking 2025-10-15 09:54:47 +09:00
Jeshurun Hembd bb28a74504
Merge pull request #12964 from CesiumGS/patch-release-guide
Add patch release instructions
2025-10-14 21:06:33 +00:00
Gabby Getz 80abee3125
Merge branch 'main' into voxel-exaggeration 2025-10-14 16:56:12 -04:00
Gabby Getz 1b283fd231
Merge branch 'main' into patch-release-guide 2025-10-14 16:41:24 -04:00
Gabby Getz 79233529c7
Merge pull request #12979 from CesiumGS/reset-override
Prevent stratakit reset from affecting inspectors
2025-10-14 20:27:38 +00:00
Daniel Zhong 429fa2d97c
Merge branch 'main' into edge_line_unique_VAO 2025-10-14 14:05:08 -04:00
jjspace 3b6dd1e271
update comment 2025-10-14 13:22:02 -04:00
jjspace a5ef545573
make sure to revert the reset on all viewer components 2025-10-14 13:07:29 -04:00
Marco Hutter 248f73978a
Merge pull request #12972 from CesiumGS/implicit-content-bounding-volumes
Fixed parsing implicit content bounding volumes
2025-10-14 16:25:38 +00:00
Marco Hutter 6c2d2b2426
Merge branch 'main' into implicit-content-bounding-volumes 2025-10-14 18:12:22 +02:00
Adam Larkeryd 988b72f44e async picking 2025-10-14 16:31:11 +09:00
Matt Schwartz 3418fa936e
Merge pull request #12907 from CesiumGS/quadtree-performance
Quadtree performance
2025-10-13 19:58:42 +00:00
Marco Hutter 0158ca0bf9 Merge remote-tracking branch 'origin/main' into quadtree-performance
# Conflicts:
#	CHANGES.md
2025-10-13 21:48:20 +02:00
Matt Schwartz f8ac5772f5 Declares iterator in quadtreetile constructor 2025-10-13 15:28:53 -04:00
Matt Schwartz e8f082344c Improves method for getting child quad tile at position 2025-10-13 14:33:50 -04:00
Adam Beili 7f72a02a77
Merge branch 'main' into fix-clamped-polygon-picking 2025-10-13 21:22:54 +03:00
Adam Beili 452dd1984d
Merge branch 'main' into fix-billboard-subregion 2025-10-13 21:21:42 +03:00
Gabby Getz 85477fcb6e
Merge pull request #12976 from CesiumGS/event-patchrelease-merge
Sync version info from 1.134.1 patch release
2025-10-13 18:18:08 +00:00
Gabby Getz 8872bd694f
Merge branch 'main' into patch-release-guide 2025-10-13 11:10:56 -04:00
Adam Beili 8ed54593f1 I think this fixes it 2025-10-12 00:56:07 +03:00
Jeshurun Hembd ba486ca401 Revert signatures in TerrainEncodingSpec 2025-10-10 19:28:52 -04:00
Jeshurun Hembd 6ebd634215 Fix typos 2025-10-10 19:09:50 -04:00
Jeshurun Hembd ae8c523ba6 sync version info 2025-10-10 19:02:09 -04:00
Jeshurun Hembd 7106ce3585 Update ThirdParty.json 2025-10-10 18:42:32 -04:00
Jeshurun Hembd 2f83bc9911 Updates for 1.134.1 patch release 2025-10-10 18:39:00 -04:00
Matt Schwartz ea82582313 Fixes bug in Event when adding a listener during a callback 2025-10-10 18:34:56 -04:00
Jeshurun Hembd 9bcd70c2b6 More primitive vs constructor type fixes 2025-10-10 18:11:53 -04:00
Jeshurun Hembd e0eadb4628 Fix ImplicitSubtreeSpec 2025-10-10 18:04:18 -04:00
Jeshurun Hembd c2f5433469 Fix Cesium3DTilesTerrainProviderSpec 2025-10-10 17:52:53 -04:00
Jeshurun Hembd 639ea459b0 Clean up docstrings and types 2025-10-10 17:08:33 -04:00
Daniel Zhong 0e99020196
Merge branch 'main' into edge_line_unique_VAO 2025-10-10 15:56:24 -04:00
Sean Lilley df1d0eca13 Add link to PR in CHANGES.md 2025-10-10 15:22:01 -04:00
Sean Lilley d4b5071554 Fix parsing implicit content bounding volumes 2025-10-10 15:05:05 -04:00
Matt Schwartz 4c5b2d5d52 Fixes bug with billboard three-point depth test origin 2025-10-10 13:14:04 -04:00
Matt Schwartz 2966aa7780 Minor fixes to billboard depth changes 2025-10-10 13:14:03 -04:00
Jeshurun Hembd 4b3c0ef68f Use primitive type instead of constructor type 2025-10-10 12:32:14 -04:00
Jeshurun Hembd bec0717a59 Terrain-related doc fixes and type checks 2025-10-10 12:07:16 -04:00
jjspace bee0278186
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-10-10 12:05:55 -04:00
Adam Beili cae6a029d1 Add CHANGES.md 2025-10-10 18:29:40 +03:00
Adam Beili 981e206407
Merge branch 'main' into fix-billboard-subregion 2025-10-10 18:25:05 +03:00
Matt Schwartz 1dcf97348f
Merge pull request #12962 from CesiumGS/update-npm-packages
Update npm packages
2025-10-10 15:14:53 +00:00
Gabby Getz c6cb440d0c
Merge pull request #12957 from CesiumGS/small-gulpfile-updates
Small gulpfile updates
2025-10-10 14:49:47 +00:00
Matt Schwartz e3b388d662
Merge pull request #12916 from Beilinson/depth-picking-performance
drill picking performance
2025-10-10 02:27:46 +00:00
ggetz b48641d3e5 Typical -> Regular 2025-10-09 17:25:33 -04:00
ggetz 2e3f7d9616 Add patch release instructions 2025-10-09 17:20:37 -04:00
Jeshurun Hembd 9550c39aa0 Merge branch 'main' into 3d-tiles-terrain 2025-10-09 16:18:03 -04:00
Adam Beili 34945ad3fa Fix missing tsconfig lib and other jsdoc error 2025-10-09 20:57:49 +03:00
jjspace f6adc0671b
update vite 2025-10-09 13:50:52 -04:00
jjspace 640a8b04da
update eslint react plugin 2025-10-09 13:50:30 -04:00
jjspace a695d0b6c1
basic package upgrades 2025-10-09 13:50:27 -04:00
Adam Beili 51fba44cfb Fix jsdoc error 2025-10-09 20:09:16 +03:00
Adam Beili e8d62327a5
Merge branch 'main' into depth-picking-performance 2025-10-09 19:31:56 +03:00
Adam Beili fe5099e91d
Merge branch 'main' into depth-picking-performance 2025-10-09 19:31:20 +03:00
jjspace 8817a88aed
Update ReleaseSchedule.md 2025-10-09 12:29:58 -04:00
Matt Schwartz 5d9cbb7a10
Merge pull request #12922 from Beilinson/fix-hidden-label-background
Fix background updating when label hidden #12138
2025-10-09 15:03:13 +00:00
danielzhong a693b119a0 Update CHANGES.md 2025-10-08 17:17:38 -04:00
Jeshurun Hembd 00959e31ab Fix exaggeration of ellipsoid voxels 2025-10-08 17:07:21 -04:00
Daniel Zhong 2b8e0ec198
Merge branch 'main' into edge_line_unique_VAO 2025-10-08 16:35:31 -04:00
Adam Beili 3363ee863c
Merge branch 'main' into fix-billboard-subregion 2025-10-08 18:09:23 +03:00
Adam Beili 0c9a5236b1 Add billboard subregion condition 2025-10-08 18:01:17 +03:00
Adam Beili ecdabc4e8c
Merge branch 'main' into fix-hidden-label-background 2025-10-08 15:57:25 +03:00
Adam Beili 1744ed81fa
Merge branch 'main' into depth-picking-performance 2025-10-08 15:56:17 +03:00
jjspace b497b84088
Merge pull request #12956 from CesiumGS/webgl2-pick-spec
Run PickingSpec in both WebGL1 and WebGL2
2025-10-07 20:37:49 +00:00
jjspace fd8540856e
adjust config structure 2025-10-07 16:04:03 -04:00
jjspace 4eaf0c2d4e
small gulpfile updates 2025-10-07 15:50:56 -04:00
jjspace dde0e07c3a
small cleanup, remove excess changes 2025-10-07 15:47:11 -04:00
Jeshurun Hembd fbb2271dd7 Run PickingSpec in both WebGL1 and WebGL2 2025-10-07 13:56:02 -04:00
jjspace 00dce5a3f1
update release index url to new sandcastle 2025-10-07 13:33:10 -04:00
jjspace f3ecf5ba96
build sandcastle on server start when it doesn't exist 2025-10-07 13:30:48 -04:00
jjspace 61d330af7d
correctly build sandcastle for zip file 2025-10-07 13:29:24 -04:00
Jeshurun Hembd 3fe0d3f9ef
Merge pull request #12955 from CesiumGS/event-fix
Fixes event bug with changes to listeners during callback
2025-10-07 17:24:30 +00:00
jjspace b695f5de55
adjust prod GH workflow 2025-10-07 13:15:41 -04:00
jjspace aaf4ae1bd1
move and trim build config 2025-10-07 13:15:20 -04:00
jjspace c4e8eea3ac
switch to relative routes for non-prod builds 2025-10-07 12:36:13 -04:00
ggetz 0a87bc360c Formatting 2025-10-07 11:59:50 -04:00
Gabby Getz 8b56190e5c
Merge branch 'main' into edge_line_unique_VAO 2025-10-07 11:54:15 -04:00
Gabby Getz 9c9705c794
Merge branch 'main' into billboard-terrain-clip-fix 2025-10-07 11:48:22 -04:00
jjspace b586c14aa6
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-10-07 11:24:34 -04:00
Adam Beili 8a37234d29 update CHANGES.md 2025-10-07 12:40:00 +03:00
Adam Beili 6aef37979f
Merge branch 'main' into fix-hidden-label-background 2025-10-07 12:38:10 +03:00
Adam Beili e183063eed Update changelog 2025-10-07 12:27:05 +03:00
Adam Beili 0646fcaa99
Merge branch 'main' into depth-picking-performance 2025-10-07 12:14:50 +03:00
Matt Schwartz 91a202a16f Fixes bug in Event when adding a listener during a callback 2025-10-06 16:43:48 -04:00
Matt Schwartz b5b34173dd
Merge pull request #12954 from CesiumGS/iterate-fonts-ff
Fix editor fonts in firefox
2025-10-06 17:38:55 +00:00
jjspace 2c789f9a84
iterate fonts directly not .values() 2025-10-06 13:29:46 -04:00
jjspace c708661860
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-10-03 13:04:58 -04:00
jjspace 2ffac63c04
Merge pull request #12942 from porotkin/fix-jsdoc
JSDoc. Fix `Google2DImageryProvider.ConstructorOptions` generated type
2025-10-03 14:57:04 +00:00
jjspace e80302fb4d
remove extra line 2025-10-03 10:54:18 -04:00
Michael Porotkin 4f325506ed
Merge branch 'main' into fix-jsdoc 2025-10-03 10:10:44 +03:00
Gabby Getz d4b8184b40
Merge pull request #12947 from CesiumGS/fix-sandcastle-code-url
Fix Sandcastle urls with `code` search param
2025-10-02 18:55:22 +00:00
jjspace 22a8a8e0f7
fix urls with code search param 2025-10-02 12:46:20 -04:00
porotkin 02fd4543dd
Add to CONTRIBUTORS.md 2025-10-02 14:56:23 +03:00
porotkin ddfca3b3f1
Fix `Google2DImageryProvider.ConstructorOptions` type generation 2025-10-02 14:45:06 +03:00
Jeshurun Hembd 8371941064 Update ThirdParty.json 2025-10-01 16:05:17 -04:00
Jeshurun Hembd dfabecd1f8 Updates for 1.134 release 2025-10-01 16:02:45 -04:00
jjspace f4bb1527c1
Merge pull request #12941 from CesiumGS/remove-defaultvalue
Remove defaultValue and defaultValue.EMPTY_OBJECT
2025-10-01 19:16:19 +00:00
Jeshurun Hembd f1f7a91d1c Clarify usage note for defaultValue removal 2025-10-01 15:09:48 -04:00
Jeshurun Hembd a83936c000 Merge branch 'main' into remove-defaultvalue 2025-10-01 15:01:40 -04:00
Jeshurun Hembd 8d67e9ea35
Merge pull request #12933 from CesiumGS/voxel-rte
Use eye coordinates for voxel raymarching
2025-10-01 19:00:18 +00:00
Jeshurun Hembd 573f952c23 Remove defaultValue 2025-10-01 14:55:24 -04:00
Jeshurun Hembd 64e17d3fb6 Fix latitude intersection for ellipsoid voxels 2025-10-01 14:36:23 -04:00
Gabby Getz 25a085dc74
Merge branch 'main' into voxel-rte 2025-10-01 12:43:12 -04:00
Luke McKinstry 0e357283da
Merge pull request #12913 from CesiumGS/google-azure-2d-imagery
Google2D & Azure2D ImageryProvider classes
2025-10-01 16:16:28 +00:00
Jeshurun Hembd c0a730bc79 Update CHANGES.md to highlight WebGL2 requirement for voxels 2025-10-01 11:59:07 -04:00
lukemckinstry 85eb61996d prod asset ID updates 2025-10-01 11:16:52 -04:00
lukemckinstry f74fa5738b update to prod asset ids 2025-10-01 10:37:29 -04:00
Gabby Getz 6e3195b6df
Merge pull request #12937 from CesiumGS/sandcastle-banner-update
Sandcastle full release
2025-10-01 14:25:00 +00:00
ggetz 74c943dec6 Update CHANGES.md 2025-10-01 10:22:58 -04:00
Jeshurun Hembd 052855d275 Update CHANGES.md, re-run prettier 2025-10-01 10:16:12 -04:00
Jeshurun Hembd 1bcf62a9e1 Fix transforms for box voxels 2025-10-01 10:11:39 -04:00
lukemckinstry 8ddcf0c1fd fixups 2025-10-01 10:10:18 -04:00
Jeshurun Hembd 634fdeafdc Merge branch 'main' into voxel-rte 2025-10-01 09:39:23 -04:00
Jeshurun Hembd 05935a108a Fix transforms for cylindrical voxels 2025-10-01 09:35:51 -04:00
Gabby Getz 89eee79879
Merge pull request #12841 from CesiumGS/polyline-request-render-draft-0001
Drafts for polyline requestRender handling
2025-10-01 13:26:37 +00:00
ggetz 278df2c6b0 Update CHANGES.md 2025-10-01 09:19:23 -04:00
Gabby Getz 66a835b7cd
Merge branch 'main' into polyline-request-render-draft-0001 2025-10-01 09:14:23 -04:00
lukemckinstry 96390e43f1 update sandcastle descriptions 2025-10-01 09:10:12 -04:00
lukemckinstry 3beb45e8e5 move azure sandcastles to development 2025-10-01 09:02:14 -04:00
lukemckinstry fd24d66c8b remove azure assets from ion showcase for now 2025-10-01 09:01:29 -04:00
lukemckinstry 0905d8a9f2 undo ion resource refactor 2025-09-30 23:43:11 -04:00
Jeshurun Hembd ff471a4e08 PR feedback round 1 2025-09-30 22:14:53 -04:00
Jeshurun Hembd 293d7190d0 Clean up comments and dead code 2025-09-30 18:45:26 -04:00
jjspace 978056c16a
Merge remote-tracking branch 'origin/main' into sandcastle-banner-update 2025-09-30 17:29:37 -04:00
jjspace cbb08839fe
backport extra build during website-release from cesium.com branch 2025-09-30 17:18:50 -04:00
lukemckinstry 8b801e612b prettier 2025-09-30 17:06:34 -04:00
jjspace ecf0050a7b
Merge pull request #12917 from CesiumGS/monaco-highlight-fix
Attempt to fix highlighting issue in monaco
2025-09-30 16:55:47 -04:00
Jeshurun Hembd 8a7050a3ed Remove unused voxel coordinate conversions from shaders 2025-09-30 16:55:13 -04:00
jjspace 28719ef919
exclude gallery from the zip 2025-09-30 16:52:22 -04:00
Jeshurun Hembd 784405ff60 Clarify shape-specific voxel uniforms 2025-09-30 16:49:56 -04:00
Gabby Getz 1ff67a49c8
Merge pull request #12934 from CesiumGS/gallery-search-reset
remove label filter on first search
2025-09-30 20:43:41 +00:00
Gabby Getz 1d87ed02d7
Merge branch 'main' into monaco-highlight-fix 2025-09-30 16:41:00 -04:00
ggetz 9f7ff6e753 Fix jsdoc 2025-09-30 16:40:32 -04:00
ggetz 2df3d249d5 Refactor ion resource refresh token callbacks and credit 2025-09-30 16:36:46 -04:00
jjspace 8aab6dfd19
deploy new sandcastle in prod 2025-09-30 16:35:54 -04:00
lukemckinstry bbe42b2d47 default azure max zoom 22 2025-09-30 16:24:35 -04:00
lukemckinstry 80d41ec00a add azxure 2d specs 2025-09-30 16:18:03 -04:00
jjspace 8e75bfc2d9
revert release sandcastle link 2025-09-30 16:10:06 -04:00
lukemckinstry d36a586c72 azure 2d provider updates 2025-09-30 16:00:21 -04:00
jjspace 75e1e34d74
don't include dev sandcastles in prod 2025-09-30 15:56:45 -04:00
jjspace 3a0a7a430e
update local server links to new sandcastle 2025-09-30 14:54:59 -04:00
jjspace 3fda5a057a
update gallery focus outline style 2025-09-30 14:54:59 -04:00
jjspace c1a14d88d3
change banner links 2025-09-30 14:54:58 -04:00
jjspace 0f7a9c8f30
switch deployed sandcastle directory 2025-09-30 13:57:58 -04:00
Jeshurun Hembd 7852cb7b9a Re-run prettier, clean up voxel sandcastles 2025-09-30 11:46:11 -04:00
lukemckinstry 994c6e63c7 update changelog 2025-09-30 11:45:36 -04:00
lukemckinstry 420650e24c organize options passing 2025-09-30 11:27:07 -04:00
jjspace 26a011d5d3
remove extra logs 2025-09-30 11:01:46 -04:00
lukemckinstry ac27462db5 cleanup 2025-09-30 09:56:15 -04:00
Jeshurun Hembd 7fb57178f0 Fix longitude bound bug in VoxelEllipsoidShape 2025-09-30 09:28:41 -04:00
Jeshurun Hembd bc967f5d6f Fix longitude bound bug in VoxelCylinderShape 2025-09-30 01:51:31 -04:00
Jeshurun Hembd 8511913cdb Cleanup VoxelCylinderShape uniforms 2025-09-30 01:19:34 -04:00
Jeshurun Hembd 0c5f1a7edb Fix longitude bounds bugs in VoxelCylinderShape 2025-09-30 00:53:48 -04:00
lukemckinstry 9fd62dfd18 document attribution function 2025-09-29 21:44:30 -04:00
lukemckinstry ba95957936 spec fixes 2025-09-29 21:31:49 -04:00
lukemckinstry a756739e71 use GoogleMaps mapTilesApiEndpoint and defaultApiKey 2025-09-29 21:25:27 -04:00
lukemckinstry 19ba0d2fad pr feedback fixups 2025-09-29 20:50:43 -04:00
lukemckinstry 78656e61ef update default base layer picker options 2025-09-29 19:00:54 -04:00
Jeshurun Hembd 45ac5e5ef7 Fix normal handling for voxel longitude bounds 2025-09-29 18:01:22 -04:00
jjspace 7df35911b0
remove label filter on first search 2025-09-29 17:53:43 -04:00
jjspace d83fb7631a
switch from ts api to tsc cli 2025-09-29 17:23:40 -04:00
lukemckinstry 0a4db5c263 add sandcastle thumbnails 2025-09-29 17:19:11 -04:00
jjspace 1bd41e93cc
further isolate sandcastle build process 2025-09-29 16:08:45 -04:00
lukemckinstry ce543843da mark google 2d provider constructor private 2025-09-29 14:10:29 -04:00
lukemckinstry f7ebec70b1 remove geocoder check pending decision 2025-09-29 13:29:51 -04:00
Gabby Getz fdc2cb2b3f
Merge pull request #12905 from CesiumGS/label-clamping-performance
Reduces redundant clamping on labels
2025-09-29 17:07:23 +00:00
Adam Beili 0e46d6e564
Merge branch 'main' into fix-hidden-label-background 2025-09-29 20:06:23 +03:00
Adam Beili a455bcada3 Move defined check into upgradeBackgroundBillboard 2025-09-29 20:05:37 +03:00
lukemckinstry 648b0e3021 cleanup specs and checks 2025-09-29 12:57:50 -04:00
Gabby Getz 7e376b6450
Merge branch 'main' into label-clamping-performance 2025-09-29 12:57:08 -04:00
Gabby Getz edccce4229
Merge pull request #12838 from CesiumGS/gsplat-buffer-fix
GaussianSplatPrimitive Multiple Instances Fix
2025-09-29 16:53:02 +00:00
Gabby Getz 19c2a9a7db
Update CHANGES.md 2025-09-29 12:41:48 -04:00
Gabby Getz 8170062b10
Merge branch 'main' into polyline-request-render-draft-0001 2025-09-29 12:09:19 -04:00
Gabby Getz 089371b07b
Merge branch 'main' into gsplat-buffer-fix 2025-09-29 11:58:52 -04:00
lukemckinstry 59d27791fa fixups to google 2d imagery provider 2025-09-29 11:23:32 -04:00
lukemckinstry bfd5110722 add google types to ion world imagery style 2025-09-29 11:23:11 -04:00
Gabby Getz 6a5a0c469a
Merge branch 'main' into billboard-terrain-clip-fix 2025-09-29 10:52:45 -04:00
Jeshurun Hembd f868e33ee4 Fix VoxelEllipsoidShapeSpec 2025-09-29 10:27:32 -04:00
Jeshurun Hembd 6cd1367600 Re-run prettier 2025-09-29 10:18:07 -04:00
Adam Beili fba8093543 Split out updateBackgroundBillboard into separate function 2025-09-29 16:46:17 +03:00
Adam Beili 5cdf7ea4fd
Merge branch 'main' into depth-picking-performance 2025-09-29 15:50:08 +03:00
Adam Beili 1e6356820b CR Refactors 2025-09-29 15:46:22 +03:00
Matt Schwartz f1ab9d0c1e Merge remote-tracking branch 'origin/main' into fastPickingWithOctree 2025-09-28 13:03:40 -04:00
lukemckinstry 54a042e302 specs cleanup 2025-09-28 12:13:18 -04:00
lukemckinstry 2373596c9c cleanup 2025-09-28 12:03:24 -04:00
lukemckinstry a5ca6fb565 docs updates, add examples and links 2025-09-28 12:00:12 -04:00
Matt Schwartz fb9290a4d4
Merge pull request #12928 from marcoYxz/honour-removePragmas-when-bundle-workers
Fix removePragmas command line argument and honour removePragmas in the bundleWorker flow
2025-09-28 15:31:05 +00:00
lukemckinstry fa93e62254 cleanup request image 2025-09-28 11:22:18 -04:00
lukemckinstry 242e459467 use ion resource for fromIon 2025-09-28 11:21:47 -04:00
lukemckinstry 4bc35e3aff update key in ion resource retry callback 2025-09-28 11:02:10 -04:00
lukemckinstry b466ef4df9 rename custom styles sandcastle 2025-09-28 10:09:11 -04:00
lukemckinstry 21bfcf92f3 add specs for request image process 2025-09-27 16:55:47 -04:00
lukemckinstry e291f075f7 increase default width of attribution popup 2025-09-27 14:49:15 -04:00
lukemckinstry 4622d17e39 gather viewport attribution when google provider loads 2025-09-27 14:48:46 -04:00
lukemckinstry 160c17f682 add v2 sandcastles 2025-09-27 10:42:17 -04:00
lukemckinstry 50ae785ec1 remove cache in google 2d from ion 2025-09-27 10:41:56 -04:00
Jeshurun Hembd 382512f51a Return eye coordinate normals from voxel shape intersections 2025-09-26 23:26:31 -04:00
Jeshurun Hembd 87ebfbe416 Rename glsl files for voxel coordinate conversions 2025-09-26 18:55:51 -04:00
Jeshurun Hembd afb90a923c Use local coordinates instead of UV for voxel transforms 2025-09-26 18:47:55 -04:00
lukemckinstry 0ee41e57c5 wip google 2d ip specs 2025-09-26 17:53:28 -04:00
lukemckinstry 9259bd92bb add imagery available from ion sandcastle 2025-09-26 17:34:30 -04:00
lukemckinstry 0ccbdd0485 fixup availability rollback 2025-09-26 17:02:20 -04:00
Adam Beili 147f1b7ed7
Merge branch 'main' into fix-hidden-label-background 2025-09-26 23:54:22 +03:00
Adam Beili 8622662975 Added unit test 2025-09-26 23:17:02 +03:00
Adam Beili ca63657e5f Fixes for added edge cases when updating label 2025-09-26 23:04:41 +03:00
lukemckinstry d11c001286 google style options via ion 2025-09-26 15:41:12 -04:00
Matt Schwartz 4b819564c5
Merge branch 'main' into honour-removePragmas-when-bundle-workers 2025-09-26 14:59:15 -04:00
Matt Schwartz 6febd2ba52 Removes rectangle check from quadtree tile for performance 2025-09-26 14:20:57 -04:00
jjspace 63c8ccbe66
clarify build option 2025-09-26 12:58:42 -04:00
jjspace d35002027a
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-09-26 12:52:17 -04:00
jjspace ce6c3e28fc
Merge pull request #12930 from CesiumGS/fix-import-path
Follow up for import urls
2025-09-26 12:51:30 -04:00
jjspace 7862473225
ensure import path on all systems 2025-09-26 12:45:11 -04:00
jjspace 20aa51f1ec
Merge remote-tracking branch 'origin/main' into monaco-highlight-fix 2025-09-26 11:45:28 -04:00
jjspace f9212da81a
remove testing code 2025-09-26 11:42:19 -04:00
Marco Hutter d353922ac3 Skip GL-based test in CI 2025-09-26 16:18:46 +02:00
Jeshurun Hembd e437bd5d24 Raymarch ellipsoid voxels in unscaled coordinates 2025-09-26 01:18:57 -04:00
Marco Zhan 09d25dfb12 add myself to the contributors file 2025-09-26 13:13:31 +08:00
Marco Zhan 467cbacc23 fix removePragmas command line argument and honour removePragmas in the bundleWorker flow 2025-09-26 12:50:13 +08:00
lukemckinstry 7080a3576b wip tile availability 2025-09-25 21:22:58 -04:00
keyboardspecialist 520ebd9f2c changes 2025-09-25 15:44:30 -05:00
keyboardspecialist 9c9c5eb360 Switches to a fixed frame transform which fixes cases where the tileset has an identity root transform and children have their world transform 2025-09-25 15:42:41 -05:00
keyboardspecialist e21f4a6919 inline docs
added rotation and scale comparisons
2025-09-25 15:10:03 -05:00
keyboardspecialist 4e2fe081d8 New validation test for transformed positions when multiple instances of a tileset are loaded 2025-09-25 15:05:27 -05:00
Matt Schwartz e8843b4b34
Merge pull request #12650 from CesiumGS/improve-clipping-polygon-performance
Improve clipping polygon performance
2025-09-25 19:35:54 +00:00
keyboardspecialist c3ef9cc57b Merge branch 'main' into gsplat-buffer-fix 2025-09-25 13:45:17 -05:00
danielzhong c69f8a0664 fix bug 2025-09-25 14:06:40 -04:00
jjspace 89d036f091
wait for font load before setting monaco 2025-09-25 13:30:24 -04:00
jjspace 0010d7ae03
expose monaco for testing 2025-09-25 10:04:09 -04:00
Marco Hutter a4b010c30d Update CHANGES.md 2025-09-25 15:09:24 +02:00
Marco Hutter 540e7c2bcf Update spec for imagery layer removal 2025-09-25 15:08:22 +02:00
Marco Hutter a51814f934 Delete rendered imagery when layer was removed 2025-09-25 15:08:04 +02:00
Adam Beili 1e9b827b09 Fix background updating when label hidden 2025-09-25 14:09:04 +03:00
danielzhong dd67f9629c Fix 2025-09-25 01:49:10 -04:00
danielzhong 3916a9940f Fix 2025-09-24 21:57:34 -04:00
Adam Beili 9e6f099a64 Undo readPixels scratch array 2025-09-25 02:25:17 +03:00
Adam Beili 07a22760d1 Fix raypicking 2025-09-25 01:51:05 +03:00
Adam Beili 245f4c3235 Fix unit tests 2025-09-25 01:50:49 +03:00
Jeshurun Hembd 6317f2e30f Fix TS error 2025-09-24 18:24:07 -04:00
Jeshurun Hembd 4a72394e04 Implement RTE rendering for ellipsoid voxels (WIP) 2025-09-24 17:42:25 -04:00
lukemckinstry 66ecf4cd31 wip - add support for custom maps and overlays via ion 2025-09-24 17:06:25 -04:00
lukemckinstry fcd8e088ac move from session token to constructor 2025-09-24 16:04:30 -04:00
jjspace b2f262772a
attempt to fix highlight issue in monaco 2025-09-24 15:13:08 -04:00
danielzhong 92ef75fc91 Adding FeatureID check 2025-09-24 14:10:28 -04:00
Adam Beili 7afe9c1e4b Update changes and contributors 2025-09-24 20:16:08 +03:00
Adam Beili 94e579ea42 Performance boost over large screenSpaceRectangle 2025-09-24 19:56:58 +03:00
Adam Beili bed4dbaf85 remove byte-float-byte conversion, use scratcharray for readPixels 2025-09-24 19:23:04 +03:00
Adam Beili dbd13b65f3 switch Context._pickObjects to a Map 2025-09-24 19:15:54 +03:00
lukemckinstry f5276ea666 sandcastle - google overlay and styles 2025-09-24 12:04:58 -04:00
lukemckinstry 0913984d61 google overlay and styling fixups 2025-09-24 12:04:16 -04:00
lukemckinstry 9e869f156f add google overlay and styling params to imagery provider api 2025-09-24 11:25:53 -04:00
Daniel Zhong 5036f73cdd
Merge branch 'main' into edge_line_unique_VAO 2025-09-23 18:55:16 -04:00
lukemckinstry 51f9ae556d cleanup 2025-09-23 17:09:14 -04:00
jjspace b04b59282d
Merge pull request #12912 from CesiumGS/import-paths-windows
Use proper URLs for import statements
2025-09-23 16:31:02 -04:00
lukemckinstry 26f4755797 Azure ion token refresh 2025-09-23 16:28:21 -04:00
lukemckinstry 4f1be5d65f Azure 2D Maps sandcastle 2025-09-23 16:28:13 -04:00
lukemckinstry 66d2fb3a1c Azure 2D Maps use ion proxy 2025-09-23 16:28:13 -04:00
lukemckinstry c4fd6fe2c5 jsdoc fix 2025-09-23 16:28:13 -04:00
lukemckinstry cb6d016980 wip google fromMapType endpoint 2025-09-23 16:28:13 -04:00
lukemckinstry 8a45264f62 sandcastle - add google 2d 2025-09-23 16:28:06 -04:00
jjspace 5630ccf954
Use proper URLs for import statements 2025-09-23 16:25:50 -04:00
jjspace 20f3edc9aa
Merge pull request #12911 from CesiumGS/sandcastle-build-updates-windows
Use proper URLs for import statements
2025-09-23 16:18:31 -04:00
jjspace 2fcefac82f
make sure imports are strings 2025-09-23 16:16:23 -04:00
Marco Hutter 4aab5650d9 Use proper URLs for import statements 2025-09-23 21:47:06 +02:00
jjspace 97f606dec1
move import inside module declaration in package types 2025-09-23 14:55:03 -04:00
jjspace dcc4ec107b
fix ci build double // 2025-09-23 11:16:14 -04:00
Marco Hutter d2ff08eb0c Merge branch 'polyline-request-render-draft-0001' of https://github.com/CesiumGS/cesium into polyline-request-render-draft-0001 2025-09-23 16:26:22 +02:00
Marco Hutter 3eedab200f Trigger rendering after primitive became ready 2025-09-23 16:25:12 +02:00
Marco Hutter fbcd4c8041 Remove fix from GroundPolylinePrimitive 2025-09-23 16:21:52 +02:00
Marco Hutter e508c36f58 Baseline documentation of the staus quo 2025-09-23 16:11:26 +02:00
Matt Schwartz 7de48c2fb8 Changes customData to set in GlobeSurfaceTile 2025-09-22 16:31:44 -04:00
Matt Schwartz 7a98a4d0ed CHANGES.md for quadtree 2025-09-22 14:56:52 -04:00
Matt Schwartz 327a3e6b1d Changes quadtree tile customdata from array to set 2025-09-22 14:54:07 -04:00
lukemckinstry 95819da8a7 fixups for refresh logic 2025-09-22 14:31:06 -04:00
Matt Schwartz 4b7dd01a38 Improves performance of quadtree customdata 2025-09-22 14:09:51 -04:00
lukemckinstry d58748a3f3 use ion resource retry to reset session query parameter for Google 2d imagery 2025-09-22 13:25:05 -04:00
Matt Schwartz 3f678cae6b Revert "Reduces redundant clamping on labels"
This reverts commit 83eb415e2a.
2025-09-21 16:56:51 -04:00
Matt Schwartz f99c570378 Skip clamping for glyphs 2025-09-21 16:46:47 -04:00
Matt Schwartz 83eb415e2a Reduces redundant clamping on labels 2025-09-21 15:25:40 -04:00
Daniel Zhong f3e807fe78
Merge branch 'main' into edge_line_unique_VAO 2025-09-19 16:27:58 -04:00
danielzhong 2a356aa364 fix 2025-09-19 16:23:53 -04:00
danielzhong 688a5a4e26 Reapply "handel case when positions are quantized"
This reverts commit bad1aa1d2a.
2025-09-19 15:54:40 -04:00
danielzhong bad1aa1d2a Revert "handel case when positions are quantized"
This reverts commit 335d7bcbc4.
2025-09-19 15:50:06 -04:00
jjspace 4de8de12e4
Merge remote-tracking branch 'origin/main' into sandcastle-build-updates 2025-09-19 15:41:51 -04:00
danielzhong 335d7bcbc4 handel case when positions are quantized 2025-09-19 15:25:40 -04:00
jjspace f3f4075c55
build TS for sandcastle 2025-09-19 15:15:21 -04:00
danielzhong 6b43c56517 Optimize using Cartesian3 and leas heap allocations 2025-09-19 14:40:50 -04:00
danielzhong 38a6680993 remove edge visibility extra v_positionView 2025-09-19 13:49:26 -04:00
Daniel Zhong 4f4a1d52e5
Update packages/engine/Source/Scene/Model/EdgeVisibilityPipelineStage.js
Co-authored-by: Sean Lilley <lilleyse@gmail.com>
2025-09-19 13:32:56 -04:00
Daniel Zhong 04d429ab45
Update packages/engine/Source/Scene/Model/EdgeVisibilityPipelineStage.js
Co-authored-by: Sean Lilley <lilleyse@gmail.com>
2025-09-19 13:32:45 -04:00
Matt Schwartz 2ddb704e6e Merge remote-tracking branch 'origin' into billboard-terrain-clip-fix 2025-09-19 12:46:58 -04:00
Matt Schwartz 79484478e9 Merge remote-tracking branch 'origin' into billboard-terrain-clip-fix 2025-09-19 12:25:27 -04:00
jjspace aabcb3d9e6
add commit sha to build for CI 2025-09-19 12:07:39 -04:00
jjspace f7c4d62d50
dont include dev sandcastles in prod 2025-09-19 12:07:24 -04:00
jjspace 814cb73efe
remove duplicated configs 2025-09-19 11:45:23 -04:00
jjspace f490f639ad
central sandcastle build function, bundle esm packages 2025-09-19 11:29:55 -04:00
Gabby Getz a158b2f01b
Merge pull request #12893 from CesiumGS/fix-pnts-draco-loading
Fix pnts draco loading
2025-09-19 15:14:27 +00:00
Gabby Getz 17647cb2da
Merge pull request #12896 from CesiumGS/event-performance
Event performance
2025-09-19 15:10:23 +00:00
Gabby Getz 202e4c30bb
Merge branch 'main' into event-performance 2025-09-19 10:53:30 -04:00
jjspace 7bd358c4d9
Merge pull request #12874 from CesiumGS/gallery-build-path-fix
Sandcastle gallery build path fix
2025-09-19 14:48:35 +00:00
lukemckinstry 2a2dbc1788 use IonResource for external imagery types 2025-09-19 10:30:12 -04:00
Marco Hutter 713dbb7bd1 Update CHANGES.md 2025-09-19 13:01:51 +02:00
Marco Hutter 15404b424e Merge remote-tracking branch 'origin/fix-pnts-draco-loading' into fix-pnts-draco-loading 2025-09-19 12:54:01 +02:00
Marco Hutter a03f4f8baa Merge remote-tracking branch 'origin/main' into fix-pnts-draco-loading 2025-09-19 12:53:21 +02:00
Marco Hutter a73aa33327 Use smaller file for specs, and valid tileset JSON 2025-09-19 12:53:00 +02:00
Matt Schwartz 082788d496 Fix unit tests for event refactor 2025-09-18 12:06:49 -04:00
Daniel Zhong 25d8eb31e2
Merge branch 'main' into edge_line_unique_VAO 2025-09-18 12:01:04 -04:00
Gabby Getz 35b0005ffa
Merge branch 'main' into polyline-request-render-draft-0001 2025-09-18 11:56:47 -04:00
Gabby Getz 7316507986
Merge branch 'main' into fix-pnts-draco-loading 2025-09-18 11:15:32 -04:00
Gabby Getz d8dbe0510b
Merge branch 'main' into gallery-build-path-fix 2025-09-18 11:14:00 -04:00
Gabby Getz 0720eff615
Merge branch 'main' into event-performance 2025-09-18 11:12:34 -04:00
Gabby Getz b2ba066f42
Merge pull request #12899 from CesiumGS/cleanup-terrain-provider-specs
Fix failing specs – Clean up terrain provider data and related specs
2025-09-18 15:11:21 +00:00
lukemckinstry 0e003c84a4 stream via ion wip 2025-09-18 10:06:13 -04:00
Matt Schwartz 6521f6de9c Merge remote-tracking branch 'origin' into event-performance 2025-09-18 09:53:50 -04:00
Matt Schwartz 8b757f11e9 Minor updates to event refactor 2025-09-18 09:53:08 -04:00
danielzhong b896c224a8 Reapply "Merge branch 'main' into edge_line_unique_VAO"
This reverts commit 90699e1e39.
2025-09-17 21:26:21 -04:00
danielzhong 5a00918005 Reapply "optimize scene edge visibility toggle"
This reverts commit bcc5f55424.
2025-09-17 21:25:09 -04:00
danielzhong bcc5f55424 Revert "optimize scene edge visibility toggle"
This reverts commit 7da8453b69.
2025-09-17 21:17:23 -04:00
danielzhong 90699e1e39 Revert "Merge branch 'main' into edge_line_unique_VAO"
This reverts commit bc16ca06e1, reversing
changes made to afe6e41b31.
2025-09-17 20:56:29 -04:00
Daniel Zhong bc16ca06e1
Merge branch 'main' into edge_line_unique_VAO 2025-09-17 20:45:39 -04:00
danielzhong afe6e41b31 temp edge color: white 2025-09-17 20:44:42 -04:00
danielzhong 7da8453b69 optimize scene edge visibility toggle 2025-09-17 20:40:13 -04:00
danielzhong 59ed55ee3d Edge Depth 2025-09-17 20:29:21 -04:00
Jeshurun Hembd e9f112fd4c Use transform for cylinder voxel RTU coordinates 2025-09-17 19:40:03 -04:00
ggetz 71f2a97f81 Throttle quick rebuilds, better error handling 2025-09-17 17:53:58 -04:00
Gabby Getz 4565c79daf
Update scripts/build.js
Co-authored-by: jjspace <8007967+jjspace@users.noreply.github.com>
2025-09-17 17:08:37 -04:00
ggetz 4d1e59f965 Fix specs for webgl-stub 2025-09-17 16:39:26 -04:00
ggetz 1557b2be3e Clean up tests to use local terrain data 2025-09-17 16:14:58 -04:00
ggetz 4d83f83ae6 test cleanup 2025-09-17 15:59:54 -04:00
ggetz 9548f5b7c9 Clean up terrain provider data and related specs 2025-09-17 14:55:14 -04:00
danielzhong c63bb6a248 EdgeVisibility Scene Toggle 2025-09-16 18:38:42 -04:00
danielzhong a90a594e0b refactor loadIndices 2025-09-16 17:19:57 -04:00
danielzhong 43abed5918 adding comments 2025-09-16 16:36:17 -04:00
danielzhong 81a1132b2a glb 2025-09-16 15:10:32 -04:00
danielzhong 164638331e Revert "EdgeVisibility.glb"
This reverts commit 70b21186dc.
2025-09-16 10:05:05 -04:00
danielzhong 70b21186dc EdgeVisibility.glb 2025-09-15 23:17:07 -04:00
Daniel Zhong a508201f82
Update packages/engine/Source/Scene/Scene.js
Co-authored-by: Gabby Getz <gabby@cesium.com>
2025-09-15 21:37:37 -04:00
Matt Schwartz a5291a2653 Add to CHANGES.md 2025-09-15 17:03:35 -04:00
Matt Schwartz 17d62b5422 Uses set of scopes for value of event listener map 2025-09-15 16:50:19 -04:00
Gabby Getz d7329e25a7
Merge pull request #12875 from CesiumGS/dependabot/github_actions/main/actions/setup-node-5
Bump actions/setup-node from 4 to 5
2025-09-15 15:12:07 +00:00
Gabby Getz f3c009be6f
Merge pull request #12884 from CesiumGS/misaligned-glyph-fix
Preserves subpixel precision on glyph alignment
2025-09-15 15:11:37 +00:00
Gabby Getz b2574e6860
Merge pull request #12897 from CesiumGS/markschlosser/clarify-cesium-scene-creditContainer-docs
Clarify Scene creation creditContainer documentation that canvas needs a parent
2025-09-15 15:02:19 +00:00
Matt Schwartz c5516e8ce3 Switches event data structure to map 2025-09-15 09:57:32 -04:00
Mark Schlosser 56563bddaa CONTRIBUTORS.md 2025-09-15 08:45:28 -04:00
Mark Schlosser 773fccbb10 clarify scene creditContainer docs wrt canvas needing a parent 2025-09-15 08:39:57 -04:00
jjspace 11b7599862
Merge remote-tracking branch 'origin/main' into gallery-build-path-fix 2025-09-12 15:45:59 -04:00
Gabby Getz aff7ef353e
Merge branch 'main' into misaligned-glyph-fix 2025-09-12 10:54:31 -04:00
Jeshurun Hembd 952baae97d Fix undeclared uniform in BOX voxels 2025-09-12 10:44:43 -04:00
Jeshurun Hembd 414e98fdd0 Merge branch 'main' into voxel-rte 2025-09-12 10:29:23 -04:00
Marco Hutter 2be1c41063 Merge remote-tracking branch 'origin/main' into fix-pnts-draco-loading 2025-09-12 16:23:03 +02:00
Marco Hutter ba53f9f4d4 Add test case for invalid PNTS 2025-09-12 16:14:30 +02:00
Jeshurun Hembd 59f757b7fe Implement tile coordinate traversal for cylindrical voxels 2025-09-12 10:13:53 -04:00
Marco Hutter f7df380010 Remove obsolete comment 2025-09-12 16:12:07 +02:00
Marco Hutter 20f2204ae8 Proper invalid property removal logic
Remove only the properties that do not have a
draco equivalent. It does not seem to mattter,
but could be seen as a baseline of "consistency"
2025-09-12 16:11:33 +02:00
Marco Hutter 2c20a579e9 Handle invalid PNTS files 2025-09-12 14:40:41 +02:00
lukemckinstry 5fd1716d42 implement getTileCredits 2025-09-11 15:08:47 -04:00
Matt Schwartz 8fae990272 Addition to CHANGES.md 2025-09-11 10:39:56 -04:00
Jeshurun Hembd 644dcbd0eb Use VoxelBoundCollection for cylinder height bounds in eye coordinates 2025-09-10 18:43:15 -04:00
Jeshurun Hembd 74a100addf Remove unused voxel uniforms and method 2025-09-09 16:46:00 -04:00
Daniel Zhong 1c9ba9d241
Merge branch 'main' into edge_line_unique_VAO 2025-09-09 15:38:18 -04:00
Luke McKinstry 29458dc47a
Merge pull request #12885 from CesiumGS/sandcastle-touchups
Update sandcastles, fix styles
2025-09-09 18:49:17 +00:00
lukemckinstry b8c7df5b34 add azure 2d imagery provider class 2025-09-09 14:29:45 -04:00
lukemckinstry 2853e6ddef google 2d updates 2025-09-09 14:29:15 -04:00
Gabby Getz 39758c9f6a
Merge pull request #12882 from CesiumGS/version-1.133.1
Updates for 1.133.1 release
2025-09-09 18:17:21 +00:00
Gabby Getz 3d801d1727
Merge branch 'main' into edge_line_unique_VAO 2025-09-09 14:03:36 -04:00
Gabby Getz 38df1a0542
Merge branch 'main' into dependabot/github_actions/main/actions/setup-node-5 2025-09-09 14:01:14 -04:00
Gabby Getz 11699225f2
Merge branch 'main' into version-1.133.1 2025-09-09 13:58:32 -04:00
Gabby Getz a899c1c369
Merge pull request #12871 from CesiumGS/revert-createBitMap-options
Revert create bit map options
2025-09-09 17:58:10 +00:00
Gabby Getz 842eb04401
Merge branch 'main' into revert-createBitMap-options 2025-09-09 13:54:01 -04:00
jjspace 26930b2469
remove stratakit styles from cesium-viewer elements 2025-09-09 12:12:32 -04:00
jjspace a856abfde3
update sandcastles, fix styles 2025-09-09 11:47:55 -04:00
Matt Schwartz e946c0260c Preserves subpixel precision on glyph alignment 2025-09-09 11:20:03 -04:00
Jeshurun Hembd ee9a3daa4d Simplify defines and uniforms for VoxelCylinderShape 2025-09-08 19:27:51 -04:00
lukemckinstry b70e0e25c4 google 2d api docs 2025-09-08 16:55:28 -04:00
lukemckinstry 154e6e86ee google 2d wip 2025-09-08 16:55:28 -04:00
lukemckinstry 7cb61c0159 init google 2025-09-08 16:55:28 -04:00
lukemckinstry 2d187ad91b wip 2025-09-08 16:55:28 -04:00
ggetz 13a69ceac5 Merge branch 'main' into version-1.133.1 2025-09-08 16:49:30 -04:00
Gabby Getz a61ff9149e
Merge branch 'main' into version-1.133.1 2025-09-08 16:44:40 -04:00
Luke McKinstry 1bb85b674e
Merge pull request #12881 from CesiumGS/zip-updates
@zip.js/zip.js API updates
2025-09-08 20:44:35 +00:00
ggetz 96d38902bc Updates for 1.133.1 release 2025-09-08 16:27:26 -04:00
ggetz 322a3a978f Use zip-core.js 2025-09-08 16:12:08 -04:00
ggetz 0ef604d3a2 Merge branch 'main' into zip-updates 2025-09-08 16:07:39 -04:00
ggetz d3f9511ec9 Update gitignore for zip.js updates 2025-09-08 15:24:53 -04:00
ggetz 20018db859 @zip.js/zip.js API updates 2025-09-08 15:09:19 -04:00
Marco Hutter a465ab2fb0 Remove duplicated function 2025-09-06 15:51:32 +02:00
Jeshurun Hembd 2723c72c01
Merge pull request #12799 from BlockCnFuture/fix/gaussian-splat-flicker
Fix/gaussian splat flicker
2025-09-06 00:31:53 +00:00
Jeshurun Hembd 8e0427b92b Merge branch 'main' into fix/gaussian-splat-flicker 2025-09-05 19:40:17 -04:00
Matt Schwartz 678c9e869d Adds CHANGES.md entry 2025-09-05 09:57:13 -04:00
dependabot[bot] 0a67a1674e
Bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 01:08:56 +00:00
ggetz 98af371581 Sandcastle gallery build path fix 2025-09-04 17:13:07 -04:00
Gabby Getz 6cb7dd5de2
Merge pull request #12868 from CesiumGS/mars-title-fix
Fixes titles of Mars and Moon sandcastles
2025-09-04 19:03:57 +00:00
Gabby Getz c412db5f97
Merge branch 'main' into mars-title-fix 2025-09-04 15:03:47 -04:00
Jeshurun Hembd 9156d9ad38 Keep voxel normals in eye coordinates 2025-09-04 09:30:50 -04:00
jjspace ad2deb3a8e
Merge pull request #12839 from CesiumGS/git-blame-ignore
Adds git-blame-ignore-revs file
2025-09-04 12:48:52 +00:00
Jeshurun Hembd dc091db583 Clean up voxel traversal shader code 2025-09-03 18:37:36 -04:00
Matt Schwartz c5e368890e Adds comment to createBitMap options 2025-09-03 15:23:41 -04:00
Matt Schwartz 9e1c4f9e94 Revert "Updates createImageBitmap options"
This reverts commit 06870ccf22.
2025-09-03 15:21:49 -04:00
Matt Schwartz 390e3de068
Merge pull request #12767 from CesiumGS/async-material-constructor
Async material constructor
2025-09-03 19:18:47 +00:00
Matt Schwartz cdd77c725b Merge remote-tracking branch 'origin' into async-material-constructor 2025-09-03 15:17:46 -04:00
Matt Schwartz a82acd9405 Documents additions of git blame ignore file 2025-09-03 15:12:23 -04:00
Matt Schwartz 3d51a6ed2b Refactors Billboard fragment shader depth testing into functions 2025-09-03 12:56:55 -04:00
Matt Schwartz dda4aa83b8 Renames billboard shader macros 2025-09-03 12:28:06 -04:00
Matt Schwartz 234a4a3e36 Moves to manual billboard depth testing in shaders 2025-09-03 12:25:02 -04:00
Matt Schwartz 581e481d7d Fixes titles of Mars and Moon sandcastles 2025-09-03 10:37:38 -04:00
Jeshurun Hembd 4984fdf644 Fix TS error in VoxelPrimitive 2025-09-02 21:23:52 -04:00
Jeshurun Hembd b69bf8f326 Merge branch 'main' into voxel-rte 2025-09-02 21:13:44 -04:00
ggetz 027b6352fb Fixup makezip build 2025-09-02 20:49:57 -04:00
Gabby Getz 4186da833b
Merge pull request #12864 from CesiumGS/sandcastle-v2
Merge Sandcastle v2
2025-09-03 00:21:22 +00:00
ggetz 55f21c96fe Adjust verify package install order 2025-09-02 20:15:26 -04:00
Gabby Getz f3fe213141
Merge branch 'main' into sandcastle-v2 2025-09-02 20:08:59 -04:00
Jeshurun Hembd 1492423882 Use tile coordinates in voxel traversal 2025-09-02 19:54:13 -04:00
Gabby Getz 7fe1d62ed1
Merge pull request #12865 from CesiumGS/sandcastle-metadata-cleanup
Sandcastle metadata cleanup
2025-09-02 19:47:10 -04:00
ggetz 9c6a9c353f Edit pass on sandcastle metadata 2025-09-02 19:46:30 -04:00
jjspace 8ca1824be4
add missing sandcastles and update gaussian splat sandcastle 2025-09-02 19:10:55 -04:00
jjspace 9aa7bb3453
remove unneeded styles 2025-09-02 19:06:41 -04:00
ggetz d7375c0fff Content updates for Sandcastle metadata 2025-09-02 18:15:29 -04:00
jjspace 7933edffb1
limit filter list height 2025-09-02 17:14:14 -04:00
jjspace 0f22e619c3
Merge remote-tracking branch 'origin/sandcastle-v2' into sandcastle-metadata-cleanup 2025-09-02 17:12:50 -04:00
ggetz 3d23b9ba23 Updates for the 1.133 release 2025-09-02 17:05:52 -04:00
jjspace ac704bee5e
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-09-02 16:12:10 -04:00
jjspace cac41cfdc7
Merge pull request #12854 from CesiumGS/sandcastle-search-updates
Sandcastle search and filtering updates
2025-09-02 16:08:53 -04:00
jjspace e8ad99e9a5
convert mars sandcastle 2025-09-02 16:06:39 -04:00
jjspace b450fe146c
minor style and code changes from comments 2025-09-02 15:52:59 -04:00
Gabby Getz 444bb79cac
Merge pull request #12828 from CesiumGS/mars
Adds Mars ellipsoid and trackable rovers
2025-09-02 19:23:57 +00:00
Matt Schwartz fa596ca434
Merge branch 'main' into mars 2025-09-02 14:26:53 -04:00
Jeshurun Hembd d2cbf3d9be Clean up voxel step and normal calculations 2025-09-02 14:21:47 -04:00
Gabby Getz 28ae591b12
Update CHANGES.md 2025-09-02 14:07:35 -04:00
Matt Schwartz 066c7296f1 Adds to CHANGES.md for Mars sandcastle 2025-09-02 14:04:29 -04:00
Luke McKinstry 47d1d8f26e
Merge pull request #12862 from CesiumGS/update-meshopt
Update meshoptimizer npm package
2025-09-02 17:45:07 +00:00
ggetz 6f594d79a3 Start Sandcastle metadata update pass 2025-09-02 13:20:08 -04:00
Gabby Getz d9604a9d85
Update packages/sandcastle/scripts/createGalleryRecord.js
Co-authored-by: jjspace <8007967+jjspace@users.noreply.github.com>
2025-09-02 13:16:20 -04:00
Gabby Getz 5531fd8dc3
Merge branch 'main' into mars 2025-09-02 13:15:16 -04:00
Gabby Getz b3d96e86b5
Merge pull request #12790 from CesiumGS/gsplat-sh-release
Gaussian splat spherical harmonics support
2025-09-02 17:14:49 +00:00
Gabby Getz f4fce9a671
Merge branch 'main' into update-meshopt 2025-09-02 13:12:40 -04:00
Gabby Getz fb271944f5
Merge branch 'main' into gsplat-sh-release 2025-09-02 12:42:15 -04:00
keyboardspecialist 59d8757270 marked functions private that should be. jsdoc fix 2025-09-02 11:35:46 -05:00
ggetz 8316aea612 Update meshoptimizer npm package 2025-09-02 12:21:06 -04:00
Matt Schwartz 99faf85843
Merge pull request #12856 from CesiumGS/fix-12725
Fix picks on clipped regions
2025-09-02 16:19:58 +00:00
Gabby Getz 565e264d6f
Merge pull request #12855 from CesiumGS/sandcastle-cross-links
Sandcastle cross links
2025-09-02 12:09:42 -04:00
ggetz bb6b53ce26 add comment describing fix 2025-09-02 12:05:05 -04:00
keyboardspecialist 7998433a47 coverage fix 2025-09-02 10:31:43 -05:00
ggetz b39fdcedd4 prettier 2025-09-02 11:02:30 -04:00
ggetz 29db8862f1 Cleanup 2025-09-02 10:58:54 -04:00
ggetz 7b675abbaa Fixup load time and title issue 2025-09-02 10:54:47 -04:00
Matt Schwartz e5b89f1499 More revisions to Mars Sandcastle
Fixes spin-on-load, camera pitch while flying,
label overlap, rover animation UX, and disables shadows.
2025-09-01 17:32:20 -04:00
Daniel Zhong 095e0dee3e unit tests 2025-08-30 00:11:18 -04:00
Daniel Zhong 98cdacd2c6 unit tests 2025-08-29 23:58:55 -04:00
Daniel Zhong dd7107a606 unit tests 2025-08-29 23:08:17 -04:00
Daniel Zhong 25f40e2e45 unit tests 2025-08-29 23:05:00 -04:00
Jeshurun Hembd 4767a623a8 Perform voxel raymarching in eye coordinates (WIP) 2025-08-29 22:17:16 -04:00
Daniel Zhong 935187d3fd
Merge branch 'main' into danielzhong/edge_line_unique_VAO 2025-08-29 17:03:13 -04:00
Daniel Zhong 0a7208db22 gltf loader unit tests 2025-08-29 17:02:22 -04:00
jjspace 97f1f1f3c9
update wording 2025-08-29 16:14:06 -04:00
ggetz 7d251b450f Merge branch 'sandcastle-v2' into sandcastle-search-updates 2025-08-29 15:55:28 -04:00
Gabby Getz 029a61d61f
Merge branch 'main' into git-blame-ignore 2025-08-29 15:45:22 -04:00
keyboardspecialist a942986fc3 Merge branch 'main' into gsplat-sh-release 2025-08-29 14:44:31 -05:00
Gabby Getz c2f0feeaea
Merge branch 'main' into fix-12725 2025-08-29 15:31:17 -04:00
ggetz 958b10d13b Fix picks on clipped regions 2025-08-29 15:18:15 -04:00
Daniel Zhong 3f695befb6 test file 2025-08-29 15:15:55 -04:00
keyboardspecialist ae0adcc956 Fix bad merge 2025-08-29 13:52:38 -05:00
Gabby Getz 4da5e56230
Merge pull request #12840 from CesiumGS/gsplat-viewspace-fix
GaussianSplatPrimitive Viewspace Fix
2025-08-29 18:44:54 +00:00
keyboardspecialist 032fb1f410 renamed splatPrimitive to gltfPrimitive for clarity 2025-08-29 13:42:03 -05:00
keyboardspecialist 38bba9a53f VertexAttributeSemantic param description 2025-08-29 13:35:34 -05:00
keyboardspecialist 2836299a09 object param case 2025-08-29 13:33:59 -05:00
keyboardspecialist b725db4474 param description 2025-08-29 13:33:16 -05:00
keyboardspecialist a0baf6cdea rename gaussianSplatSHTexture sphericalHarmonicsTexture
Fix param list description
2025-08-29 13:31:15 -05:00
keyboardspecialist a18a935299 comment cleanup 2025-08-29 13:17:09 -05:00
Matt Schwartz 212f7f5f83 Adds Jezero Crater landmark to Mars sandcastle 2025-08-29 13:37:37 -04:00
Gabby Getz 2c378378e3
Remove redundant boolean 2025-08-29 13:33:38 -04:00
Gabby Getz 3a5bfbea9a
Merge branch 'main' into gsplat-viewspace-fix 2025-08-29 13:30:37 -04:00
Gabby Getz b885300267
Merge branch 'main' into gsplat-buffer-fix 2025-08-29 13:25:59 -04:00
Matt Schwartz 5979ae4a79 Updates mars sandcastle ion asset ID and removes token 2025-08-29 13:22:38 -04:00
Gabby Getz a508219d88
Merge pull request #12832 from CesiumGS/sandcastle-popovers
Sandcastle popovers
2025-08-29 13:14:51 -04:00
Matt Schwartz 31c1305fac Alphabetizes mars sandcastle points of interest 2025-08-29 13:02:05 -04:00
jjspace 86ffbdf2cb
update CI job to cesium.com branch 2025-08-29 12:02:04 -04:00
jjspace 35941d5448
add crosslink between old and new sandcastle 2025-08-29 11:59:41 -04:00
Matt Schwartz 9755e91830 Mars sandcastle code cleanup 2025-08-29 11:32:39 -04:00
Matt Schwartz 3a65ea041d Update Mars Ion asset ID 2025-08-29 11:22:43 -04:00
Matt Schwartz 88b56e06a6 Minor fixes to mars sandcastle 2025-08-29 11:18:12 -04:00
jjspace d0c6608e78
update shadow 2025-08-29 10:03:45 -04:00
ggetz 150fc4a42c Build from root 2025-08-28 23:15:59 -04:00
Daniel Zhong c6beb0a98a clean 2025-08-28 22:55:36 -04:00
ggetz 23eb110799 Fixup load states 2025-08-28 22:51:31 -04:00
Matt Schwartz c8ae7b0133 Refines mars sandcastle with more feedback 2025-08-28 20:54:10 -04:00
ggetz b9f3934389 Merge branch 'sandcastle-v2' into sandcastle-search-updates 2025-08-28 19:57:30 -04:00
keyboardspecialist abc820927b Merge branch 'main' into gsplat-sh-release 2025-08-28 18:03:25 -05:00
keyboardspecialist c3cc59ce78 Spherical harmonic naming clarity. Moved read only properties to private and added getters. 2025-08-28 17:39:01 -05:00
danielzhong 14e6a07ffd Merge branch 'danielzhong/edge_line_unique_VAO' of https://github.com/danielzhong/cesium into danielzhong/edge_line_unique_VAO 2025-08-28 18:02:34 -04:00
Daniel Zhong 95f6cccdd7
Merge branch 'main' into danielzhong/edge_line_unique_VAO 2025-08-28 17:59:42 -04:00
danielzhong c0f9081ca1 upload test files 2025-08-28 17:59:27 -04:00
Daniel Zhong 3fa39bf6c9 Silhoutte Bug Fix 2025-08-28 17:56:42 -04:00
jjspace c493b07126
fix type 2025-08-28 17:55:39 -04:00
jjspace 5dac797eef
reset copy button, remove title, a11y description, adjust styles 2025-08-28 17:51:50 -04:00
keyboardspecialist 3e0ac2b06f Fixed re-enabled tests 2025-08-28 16:45:58 -05:00
Daniel Zhong 34521d1710 resolve conflict with OIT color attachment 2025-08-28 17:31:58 -04:00
Daniel Zhong 34828087cb resolve conflict with OIT color attachment 2025-08-28 17:21:49 -04:00
keyboardspecialist 0b099c3645 sh unit test data 2025-08-28 16:04:27 -05:00
keyboardspecialist 8ecb57c738 Add spherical harmonic unit test.
Checks 3 rotations around the central splat in the cube.
2025-08-28 16:02:12 -05:00
jjspace 122d206f1b
Merge pull request #12852 from CesiumGS/sandcastle-default-tag
Sandcastle gallery list—Default to Showcases label
2025-08-28 16:26:11 -04:00
ggetz 2e58dc9204 Add copied state to share popover, tweaked popover styling options 2025-08-28 15:50:14 -04:00
ggetz a81480fd34 Move default tag to the top of the selection list 2025-08-28 13:46:12 -04:00
Matt Schwartz b2f7722f85
Merge pull request #12849 from CesiumGS/wms-docs
update WebMapServiceImageryProvider docs
2025-08-28 16:28:44 +00:00
jjspace bb8338ee47
Merge remote-tracking branch 'origin/sandcastle-v2' into sandcastle-popovers 2025-08-28 12:12:22 -04:00
Matt Schwartz 297c3ce8ef
Merge branch 'main' into wms-docs 2025-08-28 12:10:31 -04:00
jjspace e57d96b283
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-08-28 12:08:05 -04:00
Gabby Getz 955352842d
Merge branch 'sandcastle-v2' into sandcastle-default-tag 2025-08-28 11:06:28 -04:00
ggetz e1dfbbb4b3 Default to Showcases label 2025-08-28 10:43:02 -04:00
Gabby Getz 85d0149b89
Merge pull request #12834 from CesiumGS/docs-link
Sandcastle docs link
2025-08-28 10:35:16 -04:00
Gabby Getz 077827cad1
Merge branch 'sandcastle-v2' into docs-link 2025-08-28 10:17:29 -04:00
Gabby Getz 91e24a81a8
Merge pull request #12819 from CesiumGS/sandcastle-settings
Add Sandcastle settings
2025-08-28 10:13:29 -04:00
Daniel Zhong 172f7f3dde
Merge branch 'main' into danielzhong/edge_line_unique_VAO 2025-08-28 09:43:14 -04:00
Daniel Zhong 2dbc3d83f5 Clean up 2025-08-28 01:37:00 -04:00
Daniel Zhong cee379eabe Clean up 2025-08-28 01:12:12 -04:00
Daniel Zhong 7bf643dbaf Feature ID + Depth 2025-08-28 01:09:54 -04:00
Matt Schwartz 08a23c57e8 Polishes changes to Mars sandcastle 2025-08-27 21:21:27 -04:00
jjspace 6ca2bdddda
fix icon not showing 2025-08-27 19:25:34 -04:00
jjspace 338bb63063
Merge remote-tracking branch 'origin/sandcastle-v2' into sandcastle-settings 2025-08-27 19:15:51 -04:00
jjspace 9108737f6b
update fonts 2025-08-27 19:12:02 -04:00
jjspace b8150ac489
add font size setting, other minor edits 2025-08-27 18:34:06 -04:00
Gabby Getz 63957cf569
Merge pull request #12848 from CesiumGS/sandcastle-toolbar-style
Consolidate toolbar styles for all sandcastles
2025-08-27 18:26:58 -04:00
Gabby Getz 167d50ec02
Merge pull request #12802 from CesiumGS/stratakit-css
Stratakit css cleanup
2025-08-27 18:03:17 -04:00
Gabby Getz 663f792849
Merge pull request #12843 from CesiumGS/gsplat-sept-spec-update
Add support for latest 3DGS extensions and deprecate original extension
2025-08-27 21:21:00 +00:00
Daniel Zhong 4785ee4c8c fix PR build/test error 2025-08-27 17:01:38 -04:00
Matt Schwartz b628446845 Mars sandcastle revamp 2025-08-27 16:44:35 -04:00
Adam Morris 5127e2847e Merge remote-tracking branch 'origin/gsplat-sept-spec-update' into gsplat-sept-spec-update 2025-08-27 15:34:19 -05:00
Adam Morris 74c601de1c Addressing feedback from ggetz 2025-08-27 15:34:12 -05:00
Adam Morris da99107c98
Update packages/engine/Source/Scene/GaussianSplat3DTileContent.js
Co-authored-by: Gabby Getz <gabby@cesium.com>
2025-08-27 15:30:57 -05:00
lukemckinstry 6d40398eed update WMS Imagery Provider docs 2025-08-27 15:07:41 -04:00
jjspace 8c788bc092
consolidate toolbar styles for all sandcastles 2025-08-27 14:51:28 -04:00
keyboardspecialist 40e4fe65ad spz extension check clean up and sync 2025-08-27 12:33:22 -05:00
Adam Morris 1d34703407 Cleaned up spz handling in GltfLoader a bit 2025-08-27 12:21:15 -05:00
keyboardspecialist 1d03ac0952 extension spelling 2025-08-27 12:11:17 -05:00
keyboardspecialist 9026e4a38c Merge branch 'main' into gsplat-sh-release 2025-08-27 10:53:09 -05:00
keyboardspecialist 81d252b76f wording 2025-08-27 10:12:16 -05:00
keyboardspecialist 42e0c8d81b spec update support for SH content 2025-08-27 09:53:33 -05:00
Adam Morris 0fa65b0002 Cleanup 2025-08-27 08:53:43 -05:00
danielzhong aa0b59ed1a CHANGES.md 2025-08-27 01:15:34 -04:00
danielzhong 5cac3a7cc5 CONTRIBUTOR.md 2025-08-27 01:00:47 -04:00
Daniel Zhong 530d806194
Merge branch 'main' into danielzhong/edge_line_unique_VAO 2025-08-26 23:48:16 -04:00
danielzhong bcefc61d68 clean up 2025-08-26 22:53:47 -04:00
宋时旺 e60a89aab6 update CHANGES.md 2025-08-27 09:57:03 +08:00
宋时旺 41d276fdcc Merge branch 'cesium-main' into fix/gaussian-splat-flicker 2025-08-27 09:47:06 +08:00
Daniel Zhong 8394f7ce87 clean up 2025-08-26 20:50:02 -04:00
Daniel Zhong 88ac62cb4d feature id save 2025-08-26 20:35:48 -04:00
Daniel Zhong 604dac1e03 feature id save 2025-08-26 20:26:35 -04:00
Adam Morris 924ad3aa5c Fixing prettier failures 2025-08-26 16:42:54 -05:00
Adam Morris 9265fbd252 Fixing markdown lint failure in CHANGES.md 2025-08-26 16:25:49 -05:00
keyboardspecialist f9f99aaad0 fix extension check 2025-08-26 16:16:18 -05:00
Adam Morris 7a3b28a053 Merge branch 'main' into gsplat-sept-spec-update 2025-08-26 16:08:10 -05:00
Adam Morris b1c5249e1f Updated the 3DGS sandcastle examples 2025-08-26 16:07:02 -05:00
keyboardspecialist 2448e21e98 gltf spec updates 2025-08-26 15:59:11 -05:00
Adam Morris 7f2eb39159 Updated CHANGES.md 2025-08-26 15:56:02 -05:00
Daniel Zhong cd5e791b1a clear framebuffer solved 2025-08-26 16:50:54 -04:00
Adam Morris cfb746ade0 Updated unit tests for the new 3DGS specs 2025-08-26 15:28:17 -05:00
Jeshurun Hembd 2ae42ea7fd
Merge pull request #12806 from CesiumGS/pnts-batch-table-json-only
Handle PNTS files where the batch table contains only JSON
2025-08-26 20:20:04 +00:00
Jeshurun Hembd b0dfb81eb5 Merge branch 'main' into pnts-batch-table-json-only 2025-08-26 16:19:32 -04:00
Daniel Zhong 7873a4f487 clear framebuffer temp save 2025-08-26 15:58:45 -04:00
Jeshurun Hembd b89d2d8d49 Categorize CHANGES.md entry 2025-08-26 15:27:50 -04:00
keyboardspecialist faf0111926 update changes for clarity 2025-08-26 14:08:58 -05:00
keyboardspecialist 94165d2f7e Merge branch 'main' into gsplat-sh-release 2025-08-26 14:07:02 -05:00
keyboardspecialist 8fc3700886 changes 2025-08-26 14:05:05 -05:00
keyboardspecialist 2bbd02c4cf correct changes! 2025-08-26 14:04:34 -05:00
keyboardspecialist d4df6bfb56 changes 2025-08-26 14:01:53 -05:00
Jeshurun Hembd 3a2388b9b4 Intersect BOX voxel bounds and scene depth in eye coordinates 2025-08-26 14:58:50 -04:00
Adam Morris 133b04b811 Updated the 3DGS code to support the latest spec and deprecated old spec 2025-08-26 13:00:14 -05:00
Matt Schwartz 69e496848c Adds gitlens setting to ignore revs in blame 2025-08-26 13:34:28 -04:00
Matt Schwartz f88fcb6a3f Adds new commit and comments to git blame ignore 2025-08-26 12:19:13 -04:00
Gabby Getz 7b72cb9fef
Merge pull request #12794 from CesiumGS/window-title-dirty-state
New sandcastle title and dirty state tracking
2025-08-26 12:12:27 -04:00
keyboardspecialist 5421983c39 Merge branch 'main' into gsplat-buffer-fix 2025-08-26 10:15:32 -05:00
Marco Hutter f1bf03a6b5 Drafts for polyline reqestRender handling 2025-08-26 16:53:04 +02:00
Matt Schwartz 6fedfecdbb Adds git-blame-ignore-revs file 2025-08-26 10:44:23 -04:00
keyboardspecialist 7911286322 Add check for early exit if the GS tileset is not showing or no tiles are selected.
Fixes issue where show was true, but no tiles were selected, the old draw command would still be submitted.
Since splats are projected in view space, they still appeared whereever the camera was.
2025-08-26 08:51:15 -05:00
Daniel Zhong d2bf2764a0 feature id temp save 2025-08-26 00:26:03 -04:00
Daniel Zhong 1736aa828c feature id temp save 2025-08-26 00:22:44 -04:00
Daniel Zhong 3b136de26e MTR clean up 2025-08-25 21:23:23 -04:00
Daniel Zhong bf7e9fda11 MTR fix 2025-08-25 20:32:32 -04:00
jjspace 21c4cc7596
small edits 2025-08-25 18:32:50 -04:00
jjspace 2a07bc93d0
Simplify title 2025-08-25 18:08:34 -04:00
Luke McKinstry 2a0aae0744
Merge pull request #12833 from CesiumGS/gist-urls
Add support for loading GH Gist urls
2025-08-25 15:46:50 -04:00
Matt Schwartz a3de865d78 Revert "Clears globe depth even when terrain depth testing on"
This reverts commit 4c186a280f.
2025-08-25 14:35:27 -04:00
Daniel Zhong 0017b85103 MTR debuging id 2025-08-25 00:26:00 -04:00
Daniel Zhong 1ceba1dde5 MTR printing color 2025-08-24 22:13:27 -04:00
Daniel Zhong 7f33eeedce MRT save 2025-08-23 00:53:15 -04:00
Daniel Zhong 78c4d02c70 z fighting save 2025-08-22 20:31:53 -04:00
Daniel Zhong af97e57fc2 Edge + geometry rendering 2025-08-22 18:33:18 -04:00
jjspace ed12b9b70e
add docs link, small style changes 2025-08-22 16:26:38 -04:00
jjspace 642bbc3f13
update title when importing gist 2025-08-22 15:24:32 -04:00
jjspace 1e368f1bd8
add support for loading GH Gist urls 2025-08-22 15:16:57 -04:00
Matt Schwartz a4488e6cbe Adds thumbnail for mars sandcastle 2025-08-22 13:36:29 -04:00
Matt Schwartz 7a6ec4924e Adds Mars points of interest and small camera tweaks 2025-08-22 13:32:24 -04:00
jjspace 5eb11280a7
add share and metadata popovers 2025-08-22 13:15:34 -04:00
ggetz de483b835d Search and gallery updates 2025-08-23 01:22:28 +09:00
Matt Schwartz 64ec134a0b Adds Mars ellipsoid and trackable rovers 2025-08-21 20:41:01 -04:00
Daniel Zhong 93ddaae957 Silhoutte Normal Save 2025-08-21 17:22:15 -04:00
Daniel Zhong 549a08e9e1 solve bug, clean up code 2025-08-21 11:08:40 -04:00
Daniel Zhong bf97892047 save 2025-08-20 23:53:33 -04:00
Daniel Zhong cb73143b9d save 2025-08-20 22:37:58 -04:00
Daniel Zhong ad8d07467b save 2025-08-20 16:30:59 -04:00
Daniel Zhong 31ed49236b save 2025-08-20 16:23:53 -04:00
Daniel Zhong 6a7c003dfd save 2025-08-20 15:30:51 -04:00
Daniel Zhong 07bae458cd save 2025-08-20 13:13:18 -04:00
Jeshurun Hembd 27908b7c7f Use clipping planes for BOX voxel render bounds 2025-08-20 13:01:51 -04:00
Daniel Zhong 6400cef85c save 2025-08-20 03:27:11 -04:00
danielzhong 7bd1517f3b change pass 2025-08-19 17:14:46 -04:00
jjspace bc950280b5
Revert "remove popover for now"
This reverts commit 2d2178baf8.
2025-08-19 13:30:08 -04:00
Jeshurun Hembd 0df1c0a323 Clean up clipping plane handling for voxels 2025-08-18 18:43:17 -04:00
danielzhong 2a28ea24ed showing edge color 2025-08-18 00:32:12 -04:00
danielzhong 172a3f9672 save normal in shader 2025-08-15 17:29:46 -04:00
Matt Schwartz 4c186a280f Clears globe depth even when terrain depth testing on 2025-08-15 15:43:10 -04:00
jjspace 2d2178baf8
remove popover for now 2025-08-14 14:11:11 -04:00
jjspace 5fb85821ef
add setting for default left panel 2025-08-14 14:05:09 -04:00
jjspace 8992acfee9
define styles for dialog boxes and update settings modal 2025-08-14 13:39:39 -04:00
jjspace 802d8fe616
Merge pull request #12801 from CesiumGS/allow-reality-data-tileset-options
Allow passing tileset options to reality data
2025-08-14 15:30:14 +00:00
danielzhong 8d41bfbfdf Created LUT for hard edge 2025-08-13 21:33:56 -04:00
Luke McKinstry bff7b186b9
Merge pull request #12703 from adamwirth/wmts-tile-threshold-removal
Raise WMTS imagery provider tile count threshold
2025-08-13 21:30:04 +00:00
Luke McKinstry 2ebbcc073c
Merge branch 'main' into wmts-tile-threshold-removal 2025-08-13 17:01:30 -04:00
jjspace b6d531241c
hook up font settings 2025-08-13 14:07:04 -04:00
jjspace 3e395866c2
limit gallery card rendering to help performance 2025-08-13 14:04:27 -04:00
danielzhong 6e0013e5d1 working for quad 2025-08-13 00:42:07 -04:00
danielzhong 48509e6438 Proving Draw Command Succesfully 2025-08-12 19:08:59 -04:00
danielzhong 3f0ce2cf6f save 2025-08-12 15:26:35 -04:00
jjspace 94b081aed1
Merge pull request #12810 from CesiumGS/dependabot/github_actions/main/actions/checkout-5
Bump actions/checkout from 4 to 5
2025-08-12 15:06:19 +00:00
Gabby Getz 0f79cd1e93
Merge pull request #12792 from CesiumGS/eringram/ext_mesh_primitive_restart
Support EXT_mesh_primitive_restart glTF extension
2025-08-12 14:53:47 +00:00
dependabot[bot] bc84c9e6e6
Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 12:33:14 +00:00
Erin Ingram 10a91bb6d0
Merge branch 'main' into eringram/ext_mesh_primitive_restart 2025-08-11 20:48:24 +00:00
Luke McKinstry 349c73cf57
Merge pull request #12807 from CesiumGS/remove-jsonp-4-bing
Removed JSONP for bing in favor of normal JSON loading over CORS
2025-08-11 20:43:35 +00:00
danielzhong f79b50f35f test decoding with cesium outline 2025-08-11 16:30:42 -04:00
Adam Wirth c6f0b8a95a added to next changes.md release as a fix 2025-08-10 12:38:10 -04:00
Jeshurun Hembd 3d284dc35f Fix specs related to voxel shape changes 2025-08-09 16:43:06 -04:00
Jeshurun Hembd 35bb1c9e65 Honor readonly tags in VoxelShape interface 2025-08-09 16:07:59 -04:00
Daniel Zhong 5a19ba9a04 save 2025-08-08 23:01:58 -04:00
jjspace ab0d640ef3
add common coding fonts for monaco 2025-08-08 17:29:01 -04:00
jjspace 9483529643
Merge branch 'sandcastle-v2' into window-title-dirty-state 2025-08-08 16:22:03 -04:00
Erin Ingram 03af512acf Add to list of supported extensions 2025-08-08 15:15:39 -04:00
jjspace 43b11d8066
extremely basic and unstyled modals, settings provider and context 2025-08-08 15:09:27 -04:00
jjspace 2307ecbd74
update gallery styles for stratakit vars 2025-08-08 15:09:04 -04:00
jjspace d1236d6fb9
Merge branch 'sandcastle-v2' into stratakit-css 2025-08-08 15:03:56 -04:00
Matt Schwartz 360fa59b50 Removes Material fromType options in favor of setters 2025-08-08 14:50:03 -04:00
Matt Schwartz 39672a6f84 Rethrows errors from Material async factory method 2025-08-08 14:13:32 -04:00
Marco Hutter 95bb442e5c Minor clarification in comment 2025-08-08 19:55:54 +02:00
Erin Ingram 9890914b3f Fix changelog, move getMeshPrimitives to new file 2025-08-08 13:53:09 -04:00
Erin Ingram b9597bc620
Update packages/engine/Source/Scene/GltfLoader.js
Co-authored-by: Gabby Getz <gabby@cesium.com>
2025-08-08 13:25:26 -04:00
Erin Ingram 285834da76
Update packages/engine/Source/Scene/GltfLoader.js
Co-authored-by: Gabby Getz <gabby@cesium.com>
2025-08-08 13:25:19 -04:00
Erin Ingram ed262b2a55
Update packages/engine/Source/Scene/GltfLoader.js
Co-authored-by: Gabby Getz <gabby@cesium.com>
2025-08-08 13:25:09 -04:00
Gabby Getz 8126080cf9
Merge pull request #12760 from CesiumGS/monaco-loader
Load monaco from packages not CDN
2025-08-08 12:04:03 -04:00
Gabby Getz 37dd9c1dd2
Merge pull request #12755 from CesiumGS/gallery-search
New Gallery search for sandcastle
2025-08-08 11:59:50 -04:00
Erin Ingram 5191dc1362 Remove test 2025-08-08 11:59:35 -04:00
Erin Ingram 8087ad0000 Test increase timeout 2025-08-08 11:29:23 -04:00
jjspace 3c2335c19d
Merge branch 'sandcastle-v2' into monaco-loader 2025-08-08 11:13:02 -04:00
jjspace 7f0775cda4
Merge branch 'gallery-search' into window-title-dirty-state 2025-08-08 11:12:26 -04:00
jjspace cd45db2f52
Merge branch 'sandcastle-v2' into gallery-search 2025-08-08 11:12:06 -04:00
Daniel Zhong 1afc12cbea save 2025-08-08 10:43:32 -04:00
Erin Ingram 86894f7abd Error type 2025-08-08 10:39:12 -04:00
Erin Ingram 54c63843a1 Test regex 2025-08-08 10:18:30 -04:00
Erin Ingram a4507ff5dc Add back whitespace 2025-08-08 08:39:06 -04:00
Daniel Zhong 3ab4db2201 add temp test for decode gltf 2025-08-07 23:58:57 -04:00
Erin Ingram 315954f9e5 Update test data to use unsigned short instead of int, changelog 2025-08-07 18:07:58 -04:00
Tom Fili f063975755 Removed JSONP for bing in favor of normal JSON loading over CORS 2025-08-07 13:02:34 -04:00
Daniel Zhong 7ee0e74ef4 save 2025-08-07 12:53:05 -04:00
Marco Hutter e58030b21f Attempts to deal with batch table handling 2025-08-07 15:00:15 +02:00
Marco Hutter 50b4d7bbf1 Update CHANGES.md 2025-08-07 14:26:58 +02:00
Marco Hutter 672fe88d51 Add specs for PNTS with only JSON in batch table 2025-08-07 14:15:21 +02:00
Marco Hutter 92a1b2976a Handle PNTS with batch tables that contain only JSON 2025-08-07 14:14:45 +02:00
Daniel Zhong b1970e6151 save work 2025-08-07 01:26:52 -04:00
Jeshurun Hembd 0064576820 Merge branch 'main' into wmts-tile-threshold-removal 2025-08-06 17:40:27 -04:00
Erin Ingram 29040d5243 Rm material test 2025-08-06 17:24:27 -04:00
Erin Ingram 0b1884a901 Rm unnecessary test and check material 2025-08-06 17:07:51 -04:00
jjspace 1400b191a2
Merge branch 'sandcastle-v2' into stratakit-css 2025-08-06 16:54:48 -04:00
jjspace 580d7dab38
fix prettier 2025-08-06 16:54:34 -04:00
jjspace 3cc096fa6d
Merge branch 'sandcastle-v2' into stratakit-css 2025-08-06 16:48:25 -04:00
jjspace e9f31edf16
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-08-06 16:48:12 -04:00
jjspace 7b08a513f7
reorganize components css and remove unneeded reset 2025-08-06 16:38:22 -04:00
jjspace 7bb01919c5
clean up bucket styles and FOUC fallback 2025-08-06 16:03:25 -04:00
jjspace eefe66aff6
implement stratakit-mimic styles 2025-08-06 16:02:21 -04:00
Erin Ingram e0dd12482b Fix error msg in test 2025-08-06 14:15:35 -04:00
Marco Hutter c68ea03d58 Formatting 2025-08-06 20:10:38 +02:00
Marco Hutter 148ecd8ae8 Allow passing tileset options to reality data 2025-08-06 19:55:47 +02:00
Erin Ingram 2fc1c56331 Update tests, don't use spread operator 2025-08-06 13:53:24 -04:00
daniel-zhong-bentley 1d02adc946 save change 2025-08-06 11:31:29 -04:00
宋时旺 af8530a00e update CONTRIBUTORS.md 2025-08-05 18:51:04 +08:00
宋时旺 87ea91d5f4 Improve the flickering issue of Gaussian splashes 2025-08-05 18:32:41 +08:00
Erin Ingram 559664c22f
Merge branch 'main' into eringram/ext_mesh_primitive_restart 2025-08-04 22:15:16 +00:00
Erin Ingram 8c8cac1b0d Test WIP 2025-08-04 18:14:33 -04:00
Jeshurun Hembd a8fcb0717f Fix intersection logic for BOX voxels 2025-08-04 17:41:35 -04:00
Jeshurun Hembd 4933dbbb8f Use multiline template literals in getClippingFunction 2025-08-04 17:40:56 -04:00
Gabby Getz 52f55d0e70
Merge pull request #12789 from CesiumGS/itwindata-remove-deprecation
Remove code for deprecated argument signatures in `ITwinData`
2025-08-04 19:44:29 +00:00
Gabby Getz f770e6f795
Merge branch 'main' into itwindata-remove-deprecation 2025-08-04 15:43:51 -04:00
ggetz bf43372392 Some minor test cleanup 2025-08-04 14:51:29 -04:00
jjspace 35456c9ed9
update stratakit and swap to css variables 2025-08-01 18:08:54 -04:00
keyboardspecialist 5de73442c8 GaussianSplatPrimitive only modifies local attribute buffers and uses them for rendering. glTF attribute buffer is kept as ground truth 2025-08-01 16:39:50 -05:00
jjspace a72e4d7d59
use unstable css function 2025-08-01 16:52:35 -04:00
jjspace dba83447d9
beginnings of swapping to stratakit 2025-08-01 16:52:34 -04:00
Luke McKinstry 59741ef773
add --ff-only flag
add --ff-only flag to cesium.com branch merge
2025-08-01 16:51:40 -04:00
jjspace cb04ec5c5e
Merge branch 'sandcastle-v2' into monaco-loader 2025-08-01 16:45:28 -04:00
jjspace 634103205d
update page title, track dirty state, prevent navigation when dirty 2025-08-01 16:44:41 -04:00
jjspace da1fb4f736
Merge branch 'sandcastle-v2' into gallery-search 2025-08-01 16:44:07 -04:00
jjspace 376e762a91
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-08-01 16:41:43 -04:00
Erin Ingram 0a5db4d066
Merge branch 'main' into eringram/ext_mesh_primitive_restart 2025-08-01 20:09:32 +00:00
Erin Ingram b6bc483eb4 Add to contributors & docs 2025-08-01 16:08:03 -04:00
jjspace b8781c481c
remove TestApp, import types directly 2025-08-01 15:08:51 -04:00
jjspace be50b8b824
search input touchups 2025-08-01 13:22:39 -04:00
jjspace 583899371a
use node eslint config for sandcastle scripts 2025-08-01 12:14:37 -04:00
Erin Ingram eeb48709c4 Merge branch 'main' into eringram/ext_mesh_primitive_restart 2025-08-01 12:07:54 -04:00
lukemckinstry 408dcdd815 update ThirdParty.json 2025-08-01 11:39:58 -04:00
lukemckinstry 0cdc3459b2 update tokens and versions 2025-08-01 11:37:49 -04:00
jjspace 5ecefdbe91
restrict TS version 2025-08-01 11:28:13 -04:00
keyboardspecialist a78ab94eeb SH changes 2025-08-01 03:02:15 -05:00
keyboardspecialist 7c6a2a835a clean up 2025-08-01 02:57:55 -05:00
Jeshurun Hembd 0a57ba43fc Compute camera position in tile coordinates for BOX voxels 2025-07-31 19:14:11 -04:00
jjspace fb9d86e0ac
remove code for deprecated argument signatures 2025-07-31 17:35:36 -04:00
Gabby Getz 9e547f9456
Merge pull request #12778 from CesiumGS/imodel-changeset-support
Add support for optional changesets when loading iModels
2025-07-31 21:08:05 +00:00
jjspace ab4867f38d
update docs 2025-07-31 16:07:28 -04:00
jjspace 9974eb474f
fix linting 2025-07-31 15:47:56 -04:00
jjspace 161fad8597
Merge remote-tracking branch 'origin/main' into imodel-changeset-support 2025-07-31 15:39:35 -04:00
Jeshurun Hembd cb7fe95b04
Merge pull request #12701 from Hiwen/Textrue3D-wrapR
Add wrapR property to Sampler and Texture3D
2025-07-31 19:37:14 +00:00
jjspace 3b25fd21da
update changes 2025-07-31 15:08:15 -04:00
jjspace 8bd3429d41
Merge remote-tracking branch 'origin/main' into imodel-changeset-support 2025-07-31 14:28:04 -04:00
jjspace d339a715b6
do not request empty changeset ids 2025-07-31 14:24:05 -04:00
jjspace e8cad43321
update ITwinData to use options arguments 2025-07-31 14:20:49 -04:00
Gabby Getz f3c8e8c508
Merge pull request #12787 from CesiumGS/gsplat-sandcastle-updates
3D Gaussian splatting Sandcastle updates
2025-07-31 17:09:45 +00:00
ggetz 7a27cf6736 Fix prettier 2025-07-31 13:07:49 -04:00
ggetz add0b36695 Minor sandcastle description wording 2025-07-31 12:57:31 -04:00
Gabby Getz a5e62444d9
Merge branch 'main' into gsplat-sandcastle-updates 2025-07-31 12:48:55 -04:00
Gabby Getz a7afbc8de0
Merge pull request #12783 from CesiumGS/gsplat-spzloader-update
updated spz-loader to 0.3.0 for SPZ 2.0.0 support
2025-07-31 16:48:21 +00:00
Gabby Getz 97440fa68b
Merge branch 'main' into gsplat-spzloader-update 2025-07-31 12:35:24 -04:00
ggetz 2dc4708a24 Update CHANGES.md 2025-07-31 12:34:58 -04:00
Adam N. Morris 5bbb42243c Updated change log 2025-07-31 11:31:58 -05:00
Adam N. Morris 76c0efedc8 Updated the 3DGS comparison sandcastle with a SPZ v2 splat 2025-07-31 11:28:34 -05:00
Matt Schwartz c969b59b11
Merge pull request #12784 from CesiumGS/npm-updates
Update npm packages
2025-07-31 16:25:58 +00:00
Adam N. Morris 82e70d5c53 Added a new sandcastle for 3D Gaussian splats 2025-07-31 11:16:45 -05:00
keyboardspecialist 36b9fe161e updated changes 2025-07-31 10:24:11 -05:00
keyboardspecialist 401ebb621f pin version 2025-07-31 10:01:39 -05:00
Hiwen b04a0cdc90
Merge branch 'main' into Textrue3D-wrapR 2025-07-31 20:31:37 +08:00
rveenstra 70099616c6 update docs 2025-07-31 10:08:33 +10:00
lukemckinstry 98a2d08f0a update zip.js in cesium engine 2025-07-30 15:33:30 -04:00
lukemckinstry 27d0547e6b prettier changes 2025-07-30 15:17:55 -04:00
lukemckinstry 96edf6ceb4 update packages 2025-07-30 15:03:52 -04:00
keyboardspecialist 371e8cc469 updated spz-loader to 0.3.0, this brings SPZ 2.0.0 support
Rectifies some issues with orientation as the old spz-loader forced a rotation around the X axis. Related PrimitiveLoadPlan code removed, no longer needed.
2025-07-30 13:38:19 -05:00
rveenstra 993f73a492 order of parameters, tests 2025-07-30 12:04:57 +10:00
rveenstra 2f8a6e557d Add support for optional changesets when loading iModels 2025-07-30 11:30:44 +10:00
jjspace 553ac57602
update gitignore for sandcastle v2 2025-07-29 15:31:13 -04:00
Jeshurun Hembd c664bfb9cc
Merge pull request #12349 from GGajanan1/fix/matrix-multiplication-in-shaders
Fixed Matrix Multiplication Shaders
2025-07-29 18:59:34 +00:00
Jeshurun Hembd a5bd803f87 Update CHANGES.md 2025-07-29 14:58:29 -04:00
Jeshurun Hembd e41bab0f44 Merge branch 'main' into fix/matrix-multiplication-in-shaders 2025-07-29 14:51:24 -04:00
Jeshurun Hembd 94253c1fde Incorporate PR feedback 2025-07-29 14:32:15 -04:00
Gabby Getz fb383cdb9a
Merge pull request #12686 from easymahaffey/mahaffey-jtc-osc-2
Removed request: ^2.79.0 from package.json
2025-07-29 18:25:53 +00:00
Matt Schwartz 0c8cc2663d Revert "Screenshot of Removed request: ^2.79.0 from package.json"
This reverts commit a6e1136497.
2025-07-29 14:14:23 -04:00
Jeshurun Hembd 67b564f8f6 Merge branch 'main' into fix/matrix-multiplication-in-shaders 2025-07-29 14:13:42 -04:00
Matt Schwartz 6dcb8a810c Merge remote-tracking branch 'origin' into pr-12686 2025-07-29 14:03:54 -04:00
Gabby Getz 0c2930f279
Merge pull request #12773 from CesiumGS/remove-request-import
Removes the proxy endpoint from the server.js file
2025-07-29 18:01:15 +00:00
Matt Schwartz f7f920a4cf
Merge pull request #12613 from ayushd150/fix/9393-buttondown-fix
Fix #9393: Consistent _buttonDown usage in ScreenSpaceEventHandler.js
2025-07-29 17:45:44 +00:00
Matt Schwartz 67dedba79f Removes now-unused proxy arguments in server 2025-07-29 13:44:45 -04:00
Matt Schwartz cd5f7246ba Removes now-unused remote param block 2025-07-29 13:39:57 -04:00
Matt Schwartz 9ed4a334ed
Merge pull request #12774 from CesiumGS/update-gameworks-license
Update GraphicsSamples license links
2025-07-29 17:37:34 +00:00
Marco Hutter 9e71c714f5 Update GraphicsSamples license links 2025-07-29 19:27:10 +02:00
Jeshurun Hembd 6f7077caeb
Merge pull request #12066 from YunVlad/fix-PointCloudShading-normalShading
Fix for PointCloudShading.normalShading parameter
2025-07-29 16:48:20 +00:00
Jeshurun Hembd 8eb00f37bb Simplify point cloud normals logic in MaterialPipelineStage 2025-07-29 12:30:53 -04:00
Jeshurun Hembd 8d67167211 Merge branch 'main' into fix-PointCloudShading-normalShading 2025-07-29 12:26:41 -04:00
jjspace 68ec699f71
use named enums for clarity 2025-07-29 11:59:27 -04:00
jjspace b269aa5d0c
undo package json changes 2025-07-29 11:52:30 -04:00
Matt Schwartz ca45b9f53e Removes the proxy endpoint from the server.js file
It's generally unused and it's the only code that
depends on the request package which is deprecated.
2025-07-29 11:49:23 -04:00
jjspace 6714711f3c
Merge remote-tracking branch 'origin/main' into fix/9393-buttondown-fix 2025-07-29 11:49:00 -04:00
Matt Schwartz 7b12d896bc Adds Material constructor options to fromType and fromTypeAsync methods 2025-07-29 11:47:17 -04:00
jjspace 4a2e91d9e8
Merge pull request #12361 from CesiumGS/replace-push-apply
Replace `push.apply` with dedicated function
2025-07-29 15:35:43 +00:00
Jeshurun Hembd 1835d1447a Use Texture3D.Source typedef in helper function 2025-07-29 11:24:24 -04:00
jjspace 4e930a7990
Merge remote-tracking branch 'origin/main' into replace-push-apply 2025-07-29 11:19:51 -04:00
Jeshurun Hembd b7283cdc4f Minor edits to docs and changelog 2025-07-29 11:10:29 -04:00
Jeshurun Hembd a62e93b6fa Merge branch 'main' into Textrue3D-wrapR 2025-07-29 10:22:50 -04:00
Jeshurun Hembd 86bb000ad2 Minor cleanup in VoxelPrimitive 2025-07-29 09:48:50 -04:00
Gabby Getz 4e227895af
Merge pull request #12731 from CesiumGS/stratakit-ui
Sandcastle using Stratakit
2025-07-28 18:06:33 -04:00
jjspace 380ab6328c
Merge remote-tracking branch 'origin/stratakit-ui' into gallery-search 2025-07-28 18:00:54 -04:00
jjspace 8abb9ee9e3
stay on gallery when picking 2025-07-28 17:52:59 -04:00
jjspace 9060c717e1
touch up styling to remove !important 2025-07-28 17:21:23 -04:00
jjspace b39d298ad6
fix console messages bleeding to next run 2025-07-28 17:20:58 -04:00
Gabby Getz 39be24e50a
Merge pull request #12753 from CesiumGS/label-translucency-fix
Rounds image width when writing billboard attributes
2025-07-28 21:05:08 +00:00
Gabby Getz beb283a306
Merge branch 'main' into label-translucency-fix 2025-07-28 17:04:35 -04:00
Erin Ingram aa855c39dc Merge branch 'main' into eringram/ext_mesh_primitive_restart 2025-07-28 14:18:03 -04:00
jjspace 4b3f7b8c8b
Merge remote-tracking branch 'origin/stratakit-ui' into gallery-search 2025-07-28 13:10:12 -04:00
jjspace 38b78cd97e
Merge remote-tracking branch 'origin/sandcastle-v2' into stratakit-ui 2025-07-28 13:06:32 -04:00
Gabby Getz 2cc3558bfe
Merge pull request #12752 from CesiumGS/gallery-conversion
Gallery conversion for Sandcastle v2
2025-07-28 13:05:11 -04:00
jjspace 69fcd34a4b
Merge branch 'sandcastle-v2' into stratakit-ui 2025-07-28 12:58:46 -04:00
jjspace e29f69fd5b
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-07-28 12:57:05 -04:00
Matt Schwartz 781c7bac91 Material unit test update and CHANGES.md 2025-07-28 12:17:34 -04:00
jjspace 9e2fc10817
add search placeholder 2025-07-28 12:10:33 -04:00
Gabby Getz c540202e24
Merge pull request #12635 from CesiumGS/pmc/shared-context
Shared Context
2025-07-28 13:07:28 +00:00
Hiwen b4bfd3e13a
Merge branch 'main' into Textrue3D-wrapR 2025-07-27 20:03:43 +08:00
Erin Ingram f853cc7c59 Use EXT_mesh_primitive_restart 2025-07-25 16:33:05 -04:00
Matt Schwartz 59161b0d50 Adds unit tests for async material constructor 2025-07-25 14:31:59 -04:00
Matt Schwartz aa8d7c25b3 Adds jsdoc for new Material methods in async refactor 2025-07-25 10:13:38 -04:00
Matt Schwartz ecff7ce5de Adds async factory method for Material class 2025-07-25 01:22:14 -04:00
Matt Schwartz 76046ceb4c Refactors cubemap image loading into own function
Behavior ideally stays the same, but now we also call the loader
immediately on construction instead of waiting for the Update. This is
a prerequisite for an async Material factory constructor method.
2025-07-25 00:34:01 -04:00
Matt Schwartz 2628dfe5c3 Refactors material texture 2D image loading into own function.
Non-trivial logic reordering, but the core behavior should be the same.
Now we can call the image loader on construction, though, and store its promise,
which will be useful in the next commit for an async factory constructor.
2025-07-25 00:01:15 -04:00
Matt Schwartz 84d81c3a83 Refactors conditional logic of material image loading 2025-07-24 14:13:41 -04:00
Matt Schwartz b5dc7c1ebf
Merge pull request #12759 from CesiumGS/sandcastle-split-labels
Add labels to split view sandcastles
2025-07-24 15:00:58 +00:00
Paul Connelly 18bf6de549
Merge branch 'main' into pmc/shared-context 2025-07-23 08:15:28 -04:00
Paul Connelly 481cb577f8
Remove TODO (issue filed) 2025-07-23 08:15:06 -04:00
jjspace 6612098695
load monaco from local packages 2025-07-22 14:47:25 -04:00
jjspace 668c2050e1
Merge pull request #12757 from CesiumGS/ion-splats-prerelease
Update version info from prerelease
2025-07-22 18:19:06 +00:00
jjspace 29066a3450
Merge pull request #12754 from CesiumGS/prerelease-docs
Add Contributors doc for prereleases
2025-07-22 17:54:08 +00:00
jjspace 7555e2f1c2
fix typo 2025-07-22 13:52:51 -04:00
jjspace 52738cc31e
Merge remote-tracking branch 'origin/main' into sandcastle-split-labels 2025-07-22 13:35:41 -04:00
jjspace 2288893261
update wording 2025-07-22 13:32:13 -04:00
jjspace 880fd2de09
add labels to split view sandcastles 2025-07-22 12:24:14 -04:00
jjspace f7756b3c61
fix pagefind log location 2025-07-22 11:50:42 -04:00
Matt Schwartz ca6a592a3e Revises unit test for billboardcollection change 2025-07-22 11:45:08 -04:00
Gabby Getz 1e05d97e7b
Merge pull request #12679 from CesiumGS/sandcastle-snippets
Sandcastle helper snippets
2025-07-22 11:29:14 -04:00
Gabby Getz 926268a2b8
Merge pull request #12730 from CesiumGS/polygon-culling-2d-fix
Bounding sphere fix for 2D primitives
2025-07-22 15:03:35 +00:00
ggetz d7313ae6c0 Merge branch 'main' into polygon-culling-2d-fix 2025-07-22 10:59:28 -04:00
ggetz f2eee0f2a3 small doc revisions 2025-07-22 10:42:12 -04:00
ggetz 876721a8ff Merge branch 'main' into ion-splats-prerelease 2025-07-22 10:33:08 -04:00
Gabby Getz 798039bbfc
Merge branch 'main' into prerelease-docs 2025-07-22 09:38:14 -04:00
Gabby Getz e8d9917472
Merge pull request #12748 from CesiumGS/gsplat-show-flag
Toggle GaussianSplatPrimitive visibility based on Tileset show flag
2025-07-22 13:32:20 +00:00
Gabby Getz c54eb1c9c0
Merge branch 'main' into gsplat-show-flag 2025-07-22 09:32:09 -04:00
keyboardspecialist 7627a95383 disabling test til I can identify why the framebuffer is blank 2025-07-21 18:12:20 -05:00
jjspace 567d92ee70
merge gallery build scripts 2025-07-21 16:17:40 -04:00
jjspace 51e99b7781
implement gallery search with pagefind 2025-07-21 14:41:58 -04:00
ggetz 2b51cacae6 Pull request cleanup 2025-07-21 12:25:34 -04:00
ggetz dc9ff59174 Add Contributor doc for prereleases, reorganize some existing content for clarity 2025-07-21 12:07:03 -04:00
Matt Schwartz 3f7f33d6f1 Rounds image width when writing billboard attributes 2025-07-21 11:11:12 -04:00
Gabby Getz 7a9df5014d
Merge pull request #12743 from CesiumGS/update-draped-imagery-visibility
Update draped imagery visibility
2025-07-21 14:57:10 +00:00
jjspace b3895a6408
fix eslint errors 2025-07-21 10:32:34 -04:00
keyboardspecialist 8374f861cd Visibility render test 2025-07-21 09:32:34 -05:00
Gabby Getz 35efbcc8a2
Merge branch 'main' into update-draped-imagery-visibility 2025-07-21 10:30:26 -04:00
jjspace c85807f713
convert entire gallery 2025-07-21 10:26:30 -04:00
jjspace 7c868a3665
gallery conversion script 2025-07-21 10:22:46 -04:00
keyboardspecialist 6c0535a7ac wip 2025-07-21 08:43:16 -05:00
Marco Hutter de9b586e53 Address review comments 2025-07-18 21:11:39 +02:00
jjspace a5648f8a06
testing gallery filtering system 2025-07-18 15:09:53 -04:00
keyboardspecialist 0ed9d7ccae changes 2025-07-18 09:27:46 -05:00
keyboardspecialist a31ebf9d4f block draw command submission when not showing 2025-07-18 09:09:00 -05:00
Adam Wirth aa24f04f2e
Merge branch 'main' into wmts-tile-threshold-removal 2025-07-17 14:53:54 -04:00
jjspace 105d3cca98
add script to npm scripts 2025-07-17 14:31:25 -04:00
jjspace 5cff4532c8
preliminary working pagefind search index and component 2025-07-17 14:24:28 -04:00
jjspace 7355e1eba2
Merge pull request #12745 from CesiumGS/1.131-patch
1.131.1 patch updates
2025-07-17 16:37:06 +00:00
ggetz ff108ac5b2 Merge branch 'main' into 1.131-patch 2025-07-17 11:49:19 -04:00
ggetz 9e14cce131 Merge branch 'main' into 1.131-patch 2025-07-17 11:47:23 -04:00
Hiwen eb0e5860e1
Merge branch 'main' into Textrue3D-wrapR 2025-07-17 11:17:28 +08:00
Gabby Getz 7103190fe3
Merge pull request #12740 from CesiumGS/gsplat-scaling
Re-enable Gaussian splat scaling
2025-07-16 21:16:45 +00:00
ggetz 2f9bc748d1 Cleanup CHANGES.md 2025-07-16 17:16:01 -04:00
Gabby Getz 33b80ff5e0
Merge branch 'main' into gsplat-scaling 2025-07-16 17:13:45 -04:00
Gabby Getz 1dd3e28e86
Merge pull request #12726 from CesiumGS/gsplat-content-destroy-fix
Gaussian Splat content destroy fix
2025-07-16 21:13:10 +00:00
ggetz 56dd9e6310 Minor code and CHANGES.md cleanup 2025-07-16 17:12:25 -04:00
jjspace a33e96855e
fix auto-indenting of template strings 2025-07-16 13:36:35 -04:00
jjspace 87b163e0d0
move snippets to their own file 2025-07-16 13:33:25 -04:00
Marco Hutter 0a51411049 Exclude spec without GL context 2025-07-16 19:28:58 +02:00
jjspace 0fd152d71a
Merge branch 'sandcastle-v2' into sandcastle-snippets 2025-07-16 13:25:14 -04:00
Marco Hutter 952ba63b74 Update CHANGES.md 2025-07-16 19:18:25 +02:00
Marco Hutter 0cd17d8419 Add specs for draped imagery visibility updates 2025-07-16 19:15:47 +02:00
Jason Sobotka d73789a39f
Merge branch 'main' into gsplat-scaling 2025-07-16 09:45:54 -05:00
Jason Sobotka 78951a0ed6
Merge branch 'main' into gsplat-content-destroy-fix 2025-07-16 09:43:47 -05:00
keyboardspecialist e5d3a4a9bc move change to proper spot 2025-07-16 09:42:55 -05:00
keyboardspecialist 68e102f02c async/await refactor 2025-07-16 09:31:25 -05:00
keyboardspecialist 4215d5f124 added define check before destruction 2025-07-16 09:22:37 -05:00
keyboardspecialist 833fb6404d Change was added to wrong release 2025-07-16 09:21:28 -05:00
Marco Hutter e7df345f36 Update draped imagery visibility 2025-07-16 15:35:09 +02:00
jjspace acad9cf17e
clear console when picking from gallery 2025-07-15 16:39:24 -04:00
Matt Schwartz e5a2e880e4 Adds unit test for primitive 2D bounding sphere change 2025-07-15 16:35:48 -04:00
jjspace 8c0e07c990
Merge branch 'sandcastle-v2' into stratakit-ui 2025-07-15 16:04:46 -04:00
jjspace dbc3f72b77
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-07-15 16:04:06 -04:00
jjspace 0f5b834d23
force React v19 2025-07-15 15:56:36 -04:00
Matt Schwartz 2e827a8065 Merge remote-tracking branch 'origin' into polygon-culling-2d-fix 2025-07-15 15:52:17 -04:00
Gabby Getz a2efc29a70
Merge pull request #12722 from CesiumGS/material-flash-fix
Defers batch destruction until next update
2025-07-15 16:24:41 +00:00
Marco Hutter c81f434c73
Merge pull request #12739 from CesiumGS/imagery-layer-see
Fix `@see` links for `ImageryLayer
2025-07-15 15:45:27 +00:00
jjspace 394f70ba18
Merge pull request #12727 from CesiumGS/update-gltf-pipeline-4.2.0
Update `gltf-pipeline` 4.3.0
2025-07-15 15:18:30 +00:00
jjspace e025a74998
Merge pull request #12723 from CesiumGS/add-test-debug-config
Adds configuration for breakpoint debugging Karma tests in IDE
2025-07-15 15:10:03 +00:00
jjspace bbf3e41ab7
fix @see links 2025-07-15 11:02:46 -04:00
Matt Schwartz 96902401bc
Merge pull request #12684 from pamelaAugustine/docs-update-enableCollision
Docs update enableCollision
2025-07-15 13:59:31 +00:00
Matt Schwartz 91d3d182f8
Merge pull request #12736 from CesiumGS/undefined-scene-types
Specify `undefined` in many `Scene` types
2025-07-15 13:28:31 +00:00
keyboardspecialist 1586038166 Scaling fix added to changes 2025-07-14 15:58:16 -05:00
jjspace 2a0ad07ab5
add pr link 2025-07-14 14:21:28 -04:00
jjspace fca59a0231
specify undefined in scene types 2025-07-14 14:08:54 -04:00
keyboardspecialist 5dd0b150da Unclear why this failed lint. Reverted to main and added changes back in. 2025-07-14 10:26:40 -05:00
jjspace 1427e03564
fix logo url 2025-07-11 17:37:14 -04:00
jjspace bf07b3c139
allow deploy to finish 2025-07-11 17:31:59 -04:00
jjspace f97e8a30cf
app bar icon buttons, relocate editor actions 2025-07-11 16:55:15 -04:00
ggetz e13f814a2b Fix docs tag, update unit tests 2025-07-11 15:55:14 -04:00
jjspace 5d3fac2a8a
convert gallery cards to links, add labels 2025-07-11 15:14:39 -04:00
Matt Schwartz 1820e5f1f2 Bounding sphere fix for 2D primitives 2025-07-11 14:35:10 -04:00
jjspace 373fdfb3fa
try to avoid flashing viewer when running and on page load 2025-07-11 14:22:30 -04:00
ggetz 96b703e5d4 Tweak inline docs 2025-07-11 13:58:51 -04:00
jjspace be7f151699
pretty up console output 2025-07-10 20:50:50 -04:00
jjspace 0521f99b71
transfer new layout to main App and clean up 2025-07-10 19:59:33 -04:00
Marco Hutter 5bc71cad6a Update with gltf-pipeline state from 4.3.0 2025-07-10 13:51:52 +02:00
Marco Hutter a2f4f0d27a Update gltf-pipeline 4.2.0 2025-07-09 22:28:17 +02:00
keyboardspecialist 39f3eb2348 bugfix description 2025-07-09 13:51:16 -05:00
keyboardspecialist 13d3956c06 sync with main 2025-07-09 13:16:55 -05:00
jjspace ae2459cbaf
rough in UI structure in test component 2025-07-09 10:45:07 -04:00
jjspace 1ccf886f0a
small changes 2025-07-09 10:44:39 -04:00
Hiwen 7601be3d56
Merge branch 'main' into Textrue3D-wrapR 2025-07-09 20:08:27 +08:00
Matt Schwartz 92de43ec5b Adds compound launch config for easier test debugging 2025-07-08 16:32:49 -04:00
Matt Schwartz fc6837b795 Use async syntax for material spec 2025-07-08 11:34:55 -04:00
pmconne 378e1ebc00 missing file extension in import statement 2025-07-07 19:30:05 -04:00
pmconne 852582fd03 rm SharedContext from API doc 2025-07-07 19:25:16 -04:00
pmconne b2bfe97ed8 I yield! 2025-07-07 19:24:47 -04:00
jjspace 6a19832501
update stratakit and set up icons 2025-07-07 18:33:23 -04:00
pmconne 697514bd83 fine jasmine you win 2025-07-07 18:23:15 -04:00
jjspace 7fc857c5d7
Merge remote-tracking branch 'origin/sandcastle-v2' into stratakit-ui 2025-07-07 18:11:52 -04:00
pmconne bad8500706 Move sandcastle to development directory 2025-07-07 18:07:21 -04:00
pmconne 1a9530b5fa not helpful 2025-07-07 18:06:14 -04:00
pmconne 7d8a499a2a Remove doc refs to SharedContext 2025-07-07 17:54:58 -04:00
pmconne 54ded89cc0 skip tests if WebGL stubbed. 2025-07-07 17:54:19 -04:00
keyboardspecialist db501e15fc Merge branch 'main' into gsplat-scaling 2025-07-07 16:49:23 -05:00
pmconne cc811badc9 Try to indicate tests require WebGL. 2025-07-07 17:37:29 -04:00
Gabby Getz 27075cc3f2
Merge pull request #12672 from CesiumGS/sandcastle-resize
Add resizing panels to Sandcastle
2025-07-07 17:35:20 -04:00
pmconne 1fddcffe39 Make new APIs private; split reference-counting from destroyPrimitives 2025-07-07 17:25:22 -04:00
Gabby Getz d89959b7fe
Merge branch 'sandcastle-v2' into sandcastle-resize 2025-07-07 16:51:18 -04:00
Gabby Getz 852f7efbc6
Merge pull request #12680 from CesiumGS/sandcastle-dev-deployment
Sandcastle dev deployment
2025-07-07 16:49:37 -04:00
Matt Schwartz b564897579 Adds configuration for breakpoint debugging Karma tests in IDE 2025-07-07 15:50:56 -04:00
Paul Connelly ad03f92f6c
Merge branch 'main' into pmc/shared-context 2025-07-07 15:02:55 -04:00
keyboardspecialist f5255cc07b splat removal test 2025-07-07 13:49:16 -05:00
keyboardspecialist 8b254a9e38 Merge branch 'main' into gsplat-content-destroy-fix 2025-07-07 12:27:38 -05:00
keyboardspecialist 1feb92806d check for destroyed rather than defined 2025-07-07 12:27:02 -05:00
Matt Schwartz 60d1823ad6 Lint fix 2 2025-07-07 13:25:33 -04:00
Matt Schwartz b86fb34ac5 Lint fix 2025-07-07 13:14:54 -04:00
Matt Schwartz b0b93500b3 Fix jsdocs 2025-07-07 13:01:13 -04:00
Matt Schwartz 6bfdff1ecf Updates CHANGES.md and fixes jsdoc 2025-07-07 12:15:00 -04:00
Matt Schwartz 13b309ac3e Defers batch destruction until next update 2025-07-07 11:55:55 -04:00
jjspace a9480d31fd
Merge pull request #12702 from Hiwen/Expand-CustomShader-Sample
Real-time modification of CustomShader Sample.
2025-07-07 15:01:59 +00:00
jjspace d53a1cacc5
minor code formatting 2025-07-07 11:00:30 -04:00
Hiwen 72fc4a9117 Impore Sample 2025-07-04 20:25:13 +08:00
keyboardspecialist 37cd5c8746 guard destruction of GS primitive 2025-07-03 15:52:41 -05:00
jjspace 464f4bd78d
add viewerless sandcastle for development 2025-07-03 14:09:36 -04:00
jjspace fdba3d6b25
convert imports to stratakit 2025-07-03 14:08:42 -04:00
Hiwen 35ae95a017
Merge branch 'main' into Expand-CustomShader-Sample 2025-07-02 08:46:03 +08:00
Hiwen a3e5079d82
Merge branch 'main' into Textrue3D-wrapR 2025-07-02 08:45:02 +08:00
Jeshurun Hembd 77aba4fc58 Merge branch 'main' into 3d-tiles-terrain 2025-07-01 18:37:03 -04:00
jjspace 2e7e07b849
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-07-01 13:10:25 -04:00
jjspace 82b2c07064
minor release guide update 2025-07-01 12:29:40 -04:00
keyboardspecialist 5e26320348 Re-enable scaling in shader
Fixes handling of modelMatrix scaling. Needs more testing with data that has scales applied at the glTF and tileset transform levels.
Scaling was removed to fix issues with splat scales when a quantized asset had an embedded scale in the glTF node transform.

Removes old u_splatScale. Old uniform scale factor applied to splats independent of the model scale
2025-07-01 10:42:51 -05:00
Gabby Getz 2dd71687f7
Merge pull request #12640 from CesiumGS/monaco-prettier
Enable prettier formatter in monaco
2025-06-30 11:25:10 -04:00
Hiwen 6a768f1d07 fix typo 2025-06-30 21:36:07 +08:00
Adam Wirth cbee2e61c5 lint check, unused import of rectangle 2025-06-28 16:37:26 -04:00
Adam Wirth 3f2d71768b Remove minimum tile threshold of four to make WMTS align with other imagery providers that don't have that restriction
fixes #4372
2025-06-28 15:45:04 -04:00
Hiwen 4673429974 update CHANGES.md 2025-06-28 14:58:59 +08:00
Hiwen 056e12f328 Expand the CustromShader Sample to support real-time modification of CustomShader. 2025-06-28 14:50:09 +08:00
Hiwen 78dd3c83f1 Move out VolumeCloud Sandbox Sample 2025-06-28 14:07:20 +08:00
Hiwen 909de55ed8 update CHANGES.md 2025-06-28 13:56:20 +08:00
Hiwen 446ccb29cd Add wrapR property to Sampler and Texture3D, to support the newly added third dimension wrap. 2025-06-28 13:44:14 +08:00
jjspace 335402eede
only run on the staging branch 2025-06-27 19:08:14 -04:00
jjspace 7f476c8ddb
add commit hash to header 2025-06-27 18:55:00 -04:00
jjspace 90419969d2
remove lint workflow and zip download 2025-06-27 18:33:58 -04:00
jjspace 549657dacd
Merge remote-tracking branch 'origin/sandcastle-v2' into sandcastle-dev-deployment 2025-06-27 18:31:37 -04:00
jjspace 504b5cf254
add resize splitter using allotment 2025-06-27 18:27:10 -04:00
jjspace 7d3aa43e71
Merge remote-tracking branch 'origin/sandcastle-v2' into monaco-prettier 2025-06-27 18:13:31 -04:00
jjspace cfdff45466
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-06-27 17:37:50 -04:00
Gabby Getz eb4dacba00
Merge pull request #12639 from CesiumGS/sandcastle-react-structure
Solidify new Sandcastle React structure
2025-06-27 15:45:06 -04:00
Gabby Getz ebe34ca7d5
Merge branch 'sandcastle-v2' into sandcastle-react-structure 2025-06-27 15:39:21 -04:00
Gabby Getz 6e3a87288b
Merge pull request #12631 from CesiumGS/nested-gallery
Sandcastle - Nested gallery structure
2025-06-27 15:38:35 -04:00
jjspace 97f231bbcd
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-06-26 12:01:15 -04:00
Easy Mahaffey fd14fc2a7d Added name Mahaffey to Contributor.md 2025-06-22 17:16:30 -07:00
Easy Mahaffey a6e1136497 Screenshot of Removed request: ^2.79.0 from package.json 2025-06-22 17:03:27 -07:00
Easy Mahaffey 71a9559f01 Removed request: ^2.79.0 from package.json 2025-06-22 16:55:33 -07:00
Pamela Augustine 52e66da4c2 adds name to contributors.md 2025-06-22 09:53:33 -07:00
Pamela Augustine 0edf1bcabf updated docs for enableCollision 2025-06-22 09:44:35 -07:00
jjspace 711f9b804e
change target branch to feature branch 2025-06-18 16:04:41 -04:00
jjspace f60befe400
skip build-apps 2025-06-18 15:58:55 -04:00
jjspace cfc768c09e
build types 2025-06-18 15:50:40 -04:00
jjspace 3d897b0397
create sandcastle deployment workflow 2025-06-18 15:42:55 -04:00
jjspace 6c8d3fee8a
fix spelling, add type 2025-06-18 14:21:29 -04:00
jjspace 88c01e0e4a
add snippets to sandcastle for buttons/toggles/menus 2025-06-18 11:52:49 -04:00
jjspace 843b10c2df
extract snippets for a different pr 2025-06-18 11:37:23 -04:00
jjspace f6b15d333e
extract editor component and monaco setup 2025-06-17 17:40:40 -04:00
jjspace 20f8ed5fb5
Merge branch 'sandcastle-react-structure' into monaco-prettier 2025-06-17 14:12:23 -04:00
jjspace 46b917923d
better editor dynamic height 2025-06-17 11:59:04 -04:00
jjspace 47c3609211
fix error line adjustment 2025-06-16 19:37:56 -04:00
jjspace 4206a8dda6
add imports to end of sandcastle 2025-06-16 19:33:00 -04:00
jjspace a514c3d4e8
Merge branch 'nested-gallery' into sandcastle-react-structure 2025-06-16 19:32:27 -04:00
jjspace d837c68a4e
move types back into single copy plugin for dev server 2025-06-16 19:32:13 -04:00
jjspace b56fe8a2c0
improve url handling and forward/back navigation 2025-06-16 18:46:58 -04:00
jjspace 5b0643f1f4
clean up bucket code, solidify window message interface 2025-06-16 18:10:11 -04:00
jjspace 6dc45eeddc
minor cleanup 2025-06-16 16:53:01 -04:00
jjspace 4ff03cafad
Merge branch 'nested-gallery' into sandcastle-react-structure 2025-06-16 16:44:25 -04:00
jjspace 1baddfc0e8
don't generate tsbuildinfo files into tmp directory 2025-06-16 16:36:15 -04:00
jjspace 319c6406b4
remove id from sandcastle yaml 2025-06-16 16:19:22 -04:00
jjspace b75874de72
remove todo 2025-06-13 16:37:40 -04:00
jjspace 7ec240067d
change import detection 2025-06-13 16:37:36 -04:00
jjspace 08fb8cb5c9
prevent missing types from breaking dev server 2025-06-13 16:37:29 -04:00
jjspace 43a50957aa
modify more monaco settings 2025-06-13 14:31:28 -04:00
jjspace d03590de53
enable prettier formatter in monaco 2025-06-13 14:31:27 -04:00
jjspace 464128cb1d
Merge branch 'nested-gallery' into sandcastle-react-structure 2025-06-13 14:30:43 -04:00
jjspace 05f0a6f457
add import to default code 2025-06-13 13:44:10 -04:00
jjspace 7381646229
document gallery structure, support development only sandcastles 2025-06-13 12:26:53 -04:00
jjspace 193925aaf1
small style adjustments for scrolling gallery 2025-06-12 14:05:45 -04:00
jjspace 15095e57f7
fix script as main detection 2025-06-11 15:45:49 -04:00
Jeshurun Hembd 7b7636fc00 Merge branch 'main' into 3d-tiles-terrain 2025-06-09 17:17:08 -04:00
jjspace 61627d6e13
small change 2025-06-09 11:08:07 -04:00
jjspace 52e0568ce2
fix legacy id 2025-06-06 18:19:33 -04:00
jjspace ba4ac4dcb9
Merge branch 'nested-gallery' into sandcastle-react-structure 2025-06-06 18:04:29 -04:00
jjspace 11d39ee584
relocate gallery 2025-06-06 17:59:46 -04:00
jjspace 0dd94632d0
change gallery url per build env 2025-06-06 17:43:22 -04:00
jjspace dcdc2c5d67
minor gallery format adjustments 2025-06-06 17:34:51 -04:00
jjspace 8081c69bb3
prevent building using vite dev config 2025-06-06 15:49:47 -04:00
jjspace 1dcbbd9c16
integrate gallery build script more 2025-06-06 15:49:32 -04:00
jjspace 382516bfbf
move build gallery script 2025-06-06 15:47:48 -04:00
jjspace 5185be6857
isolate sandcastle api compilation 2025-06-06 14:32:01 -04:00
jjspace 3b03f8a4f9
remove iife Cesium from bucket and standalone 2025-06-06 13:49:28 -04:00
jjspace e1955f9b56
Merge branch 'sandcastle-v2' into nested-gallery 2025-06-06 13:31:02 -04:00
jjspace 2222c640b9
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-06-06 13:30:46 -04:00
Marco Hutter 2d9d6f7779 Cache rectangle in ClippingPolygon 2025-06-03 18:52:16 +02:00
jjspace d0486291ef
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-05-30 15:34:36 -04:00
jjspace 20a8882860
fix a few small bugs 2025-05-29 10:34:13 -04:00
jjspace 18af66d694
gallery loading by id, small cleanup 2025-05-29 10:20:50 -04:00
jjspace 23ea0f9ac2
useReducer instead of useState 2025-05-29 09:49:28 -04:00
jjspace f14170abcf
apply new React structure 2025-05-29 09:37:11 -04:00
pmconne e219831c9a Fix ImageBasedLighting; tweak sandcastle. 2025-05-26 13:44:54 -04:00
pmconne 795e30873f add a working shared primitive 2025-05-26 12:40:32 -04:00
pmconne 2be94f7113 clean up sandcastle 2025-05-26 09:35:01 -04:00
pmconne df48524d9d Revert "DataSourceDisplay reference-counting"
This reverts commit 8213b0bdf7.
2025-05-26 09:03:28 -04:00
pmconne de6c74a2ca primitives 2025-05-26 09:03:06 -04:00
pmconne 8213b0bdf7 DataSourceDisplay reference-counting 2025-05-26 08:45:38 -04:00
pmconne 6bd19ae91f WIP sandcastle 2025-05-26 08:34:50 -04:00
pmconne 03eb3af1b2 Viewer accepts SharedContext 2025-05-26 08:25:06 -04:00
pmconne 03257456d9 blit 2025-05-26 07:48:56 -04:00
pmconne cdb10c8048 test rendering background color using shared context. 2025-05-26 06:56:14 -04:00
pmconne 9a6159ea5d docs 2025-05-26 05:35:23 -04:00
pmconne 3c1b668790 readPixels gets default width/height from this, not gl 2025-05-25 19:03:20 -04:00
pmconne 10ee4967ed drawingBufferWidth/Height 2025-05-25 16:36:14 -04:00
pmconne 75d44ed403 don't use context._gl.drawingBufferWidth/Height directly 2025-05-25 16:17:15 -04:00
pmconne 706b751731 Scene tests 2025-05-25 15:43:31 -04:00
pmconne 329e797f6f auto-destroy option 2025-05-25 15:26:48 -04:00
pmconne a52323e4c6 SharedContextSpec 2025-05-25 15:07:55 -04:00
pmconne 54fedc0bbc SharedSceneContext 2025-05-25 13:54:06 -04:00
pmconne ca9939af3d createContextFromSharedContext 2025-05-25 13:39:26 -04:00
pmconne 6909c7d760 Reference-counting in PrimitiveCollection 2025-05-23 08:59:00 -04:00
pmconne 58ea3664bf reference-counting option for PrimitiveCollection constructor 2025-05-22 15:17:54 -04:00
jjspace 90ed59c2bb
label windows based on env 2025-05-22 13:45:29 -04:00
Gabby Getz 8f142fa4af
Merge pull request #12620 from CesiumGS/sandcastle-standalone
Add standalone page to Sandcastle v2
2025-05-22 11:07:28 -04:00
jjspace 05206b7bdc
switch sandcastle code to modules 2025-05-21 20:47:41 -04:00
jjspace 5d31cd1722
new gallery structure 2025-05-21 20:27:28 -04:00
jjspace cbb7cd3fde
pr comments 2025-05-21 17:04:01 -04:00
Gabby Getz 9daa1b0d5d
Merge branch 'sandcastle-v2' into sandcastle-standalone 2025-05-21 16:04:17 -04:00
Gabby Getz 0ed68bd8ed
Merge pull request #12619 from CesiumGS/sandcastle-helpers
Sandcastle helpers class
2025-05-21 16:02:38 -04:00
jjspace 5dbe39041c
Merge branch 'sandcastle-helpers' into sandcastle-standalone 2025-05-20 14:26:00 -04:00
Ayush Das c3934cb774 Add ayushd150 to CONTRIBUTORS.md 2025-05-20 23:51:40 +05:30
jjspace cad1a926fb
refine eslint-disable comments 2025-05-14 15:32:35 -04:00
jjspace b2e54a1f26
switch to object over static class 2025-05-14 15:28:56 -04:00
jjspace 88034e1655
add standalone page to sandcastle v2 2025-05-13 16:40:26 -04:00
jjspace 92d58262c4
remove window listener to avoid StaticMode creating duplicates 2025-05-13 15:19:14 -04:00
jjspace 2e1259aac4
remove code that's been moved into Sandcastle module 2025-05-13 13:09:26 -04:00
jjspace 26c5f175af
update types generation and loading on the page 2025-05-13 12:56:52 -04:00
jjspace 5d73a3c5d9
move and integrate sandcastle client api 2025-05-12 17:24:11 -04:00
jjspace d2d522004f
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-05-12 14:27:09 -04:00
Ayush Das e3645e8b3b Fix #9393: Consistent _buttonDown usage in ScreenSpaceEventHandler.js 2025-05-10 12:18:59 +05:30
Gabby Getz 0e3c6581ba
Merge pull request #12574 from CesiumGS/sandcastle-reborn
Sandcastle Reborn
2025-05-09 16:39:28 -04:00
jjspace 7ecb6f50dd
better workspace check 2025-05-09 14:29:54 -04:00
jjspace 2ac1ed3156
nest bucket.html like in current sandcastle 2025-05-06 15:58:02 -04:00
jjspace 8fa32a4dd7
fix types url 2025-05-05 17:58:23 -04:00
jjspace fc38e02798
streamline vite config with custom plugin 2025-05-05 14:51:10 -04:00
jjspace f574e97af8
adjust configs slightly 2025-05-05 14:30:44 -04:00
jjspace ab625d8964
remove static bucket.html 2025-05-02 17:07:10 -04:00
jjspace ebafd4dcb9
ci test 2025-05-02 16:58:52 -04:00
jjspace f714fa2a70
switch to custom plugin and vite define 2025-05-02 16:41:32 -04:00
jjspace 93955b7051
adjust paths again 2025-05-02 12:14:24 -04:00
jjspace 5c02885114
adjust paths 2025-05-02 12:14:24 -04:00
jjspace 463c6b3c8e
test html build 2025-05-02 12:14:24 -04:00
jjspace 414fc154ac
Merge remote-tracking branch 'origin/main' into sandcastle-reborn 2025-05-02 12:08:29 -04:00
Jeshurun Hembd 43991b4372 Merge branch 'main' into 3d-tiles-terrain 2025-05-01 15:50:16 -04:00
jjspace db51183c45
remove extra files 2025-04-29 10:47:01 -04:00
ggetz c3e3f11b89 Config setups, including CI 2025-04-24 18:13:07 -04:00
jjspace f775608387
build for ci 2025-04-18 17:02:32 -04:00
jjspace 1522aa7821
set up itwin-ui, fix types route 2025-04-18 16:56:32 -04:00
jjspace 1d8cd04aa0
fix ci 2025-04-18 11:42:35 -04:00
jjspace 4a2082af8a
readme and build commands 2025-04-18 11:30:02 -04:00
jjspace c05ed50e61
adjusting paths for built and local dev 2025-04-17 17:58:35 -04:00
jjspace 8a73405d6f
import hackathon code 2025-04-17 17:11:14 -04:00
jjspace 793ba8897a
elevate eslint config, run prettier 2025-04-17 16:07:03 -04:00
jjspace eb55c7e733
create sandcastle package 2025-04-15 16:59:17 -04:00
Jeshurun Hembd 11d846a7f9 Merge branch 'main' into 3d-tiles-terrain 2025-04-04 18:36:45 -04:00
Jeshurun Hembd a8532185a2 Remove calls to deprecated defaultValue 2025-03-18 17:48:53 -04:00
Jeshurun Hembd 3407e681ec Merge branch 'main' into 3d-tiles-terrain 2025-03-18 17:48:13 -04:00
Daniel Leone 4caa147876
fix types 2025-03-15 17:04:18 +08:00
Daniel Leone a64c37f6f8
comments and cleanup 2025-03-15 14:53:12 +08:00
Daniel Leone 3ef69c7324
fixing tests, adding some comments 2025-03-15 14:27:48 +08:00
Daniel Leone d1b4b547c7
Revert .idea to upstream 2025-03-15 13:55:18 +08:00
Daniel Leone 4cfef57f41
fixing some tests, reverting some unnecessary changes, reducing diff size 2025-03-15 13:51:25 +08:00
Victor Malaret 6fe50a1fe2
remove references to unused fast-picking* 2025-03-15 13:15:35 +08:00
Victor Malaret 6c5c2134f0
Remove debug/perf testing stuff 2025-03-15 13:15:34 +08:00
Victor Malaret 9d8871a09e
Fix fast-picking-* tasks so they work again
- fixed testing urls to work with latest cesium
- fixed analyze-results to catch timing events properly
- eslintignored these testing scripts
- note: still requires shelljs and puppeteer to be manually installed
for me, not sure if worth adding for these scripts that i imagine
will be removed before merging
2025-03-15 13:14:37 +08:00
Victor Malaret fd3594ff5d
prettier & Use pre-allocated vectors instead of creating new ones each time 2025-03-15 13:14:36 +08:00
Victor Malaret 78a73e7a1e
sandcastle fix verticalExaggeration 2025-03-15 13:14:36 +08:00
Daniel Leone 04a28b6947
Merge remote-tracking branch 'upstream/main' into fastPickingWithOctree
# Conflicts:
#	packages/engine/Source/Core/TerrainMesh.js
2025-03-15 13:11:33 +08:00
Jeshurun Hembd 9a8a070977 Merge branch 'main' into 3d-tiles-terrain 2025-03-12 15:07:57 -04:00
Daniel Leone 8805911607
fixing merge 2025-02-26 23:53:35 +08:00
Daniel Leone 8e9c687490
Merge remote-tracking branch 'upstream/main' into fastPickingWithOctree
# Conflicts:
#	.eslintignore
#	Specs/Core/sampleTerrainSpec.js
#	package.json
#	packages/engine/Source/Core/HeightmapTerrainData.js
#	packages/engine/Source/Core/HeightmapTessellator.js
#	packages/engine/Source/Core/OctreeTrianglePicking.js
#	packages/engine/Source/Core/QuantizedMeshTerrainData.js
#	packages/engine/Source/Core/TerrainMesh.js
#	packages/engine/Source/Core/TriangleSearchIntersectionTester.js
#	packages/engine/Source/Core/createTriangleVerticesCallback.js
#	packages/engine/Source/Scene/GlobeSurfaceTile.js
#	packages/engine/Source/Scene/Scene.js
#	packages/engine/Source/Workers/createTaskProcessorWorker.js
#	packages/engine/Specs/Scene/GlobeSurfaceTileSpec.js
2025-02-26 23:27:19 +08:00
Jeshurun Hembd a0e2657fd2 Fix spurious merge changes 2025-02-10 18:36:56 -05:00
Jeshurun Hembd c60a29bc3b Re-run prettier 2025-02-10 18:09:06 -05:00
Jeshurun Hembd 74d31b2022 Merge branch 'main' into 3d-tiles-terrain 2025-02-10 17:38:03 -05:00
Marco Hutter 3bebc1203e Update eslint to discourage push.apply 2025-01-26 14:38:26 +01:00
Marco Hutter 3cfa5d5a14 Merge remote-tracking branch 'origin/main' into replace-push-apply 2025-01-26 14:29:40 +01:00
Marco Hutter e9596d0ae8
Merge branch 'main' into replace-push-apply 2025-01-13 20:45:10 +01:00
Gabby Getz 118a70ffa8
Merge branch 'main' into replace-push-apply 2025-01-13 13:57:17 -05:00
Gajanan Gourshettiwar 88e11a603a
Update MultifrustumSpec.js 2025-01-09 00:49:07 +05:30
Gabby Getz 6b2eccf6c8
Merge branch 'main' into fix/matrix-multiplication-in-shaders 2025-01-06 11:22:00 -05:00
Gajanan e214560560 Add name to CONTRIBUTORS.md 2025-01-02 22:23:22 +05:30
Gajanan 766b189267 FIRST 2025-01-02 22:14:43 +05:30
Gabby Getz c077b524f5
Merge branch 'main' into fix/matrix-multiplication-in-shaders 2025-01-02 11:26:41 -05:00
Marco Hutter 637288044b Change addAll to addAllToArray, based on review 2024-12-13 15:27:46 +01:00
Marco Hutter c237a8e67b Merge branch 'replace-push-apply' of https://github.com/CesiumGS/cesium into replace-push-apply 2024-12-13 15:16:22 +01:00
Marco Hutter 51bc1e1100 Merge remote-tracking branch 'origin/main' into replace-push-apply 2024-12-13 15:05:12 +01:00
Marco Hutter 62c488878e
Update JSDoc
Co-authored-by: jjspace <8007967+jjspace@users.noreply.github.com>
2024-12-11 23:58:21 +01:00
GGajanan1 10dc76c818
Merge branch 'main' into fix/matrix-multiplication-in-shaders 2024-12-10 16:00:53 +05:30
Gajanan 8196a22dd9 Fixed all 2024-12-10 15:52:17 +05:30
Marco Hutter c00243a948 Fix argument order 2024-12-05 18:40:01 +01:00
Marco Hutter c088b639bb Proper import of defined.js 2024-12-05 18:05:07 +01:00
Marco Hutter 4257266fd8 Merge remote-tracking branch 'origin/main' into replace-push-apply 2024-12-05 17:30:15 +01:00
Marco Hutter f7455ad027 Replace push.apply with dedicated function 2024-12-05 17:29:15 +01:00
GGajanan1 fbba27b211
Merge branch 'main' into fix/matrix-multiplication-in-shaders 2024-12-03 13:02:25 +05:30
Gajanan 8e24055dcc Fixed Matrix Multiplication Shaders 2024-12-01 14:36:26 +05:30
Sean Lilley b5c1b76a32 Merge branch 'main' into 3d-tiles-terrain 2024-10-31 09:48:28 -04:00
Sean Lilley 61fbc02a40 Bug fixes 2024-10-30 15:28:03 -04:00
YunVlad 9f4244bd0a Formatting fix 2024-10-21 09:45:55 +03:00
YunVlad 164b3b9bb1
Merge branch 'main' into fix-PointCloudShading-normalShading 2024-10-21 09:36:07 +03:00
Gabby Getz 33a8f3e20f
Merge pull request #12205 from CesiumGS/3d-tiles-terrain-watermask
3D Tiles terrain water mask
2024-09-18 14:12:24 -04:00
ggetz 97f53e0038 Fix specs 2024-09-18 13:54:29 -04:00
ggetz f7d9d1793d Fix merge conflict 2024-09-18 13:31:08 -04:00
ggetz 9c2f2f7b58 Fix build-docs 2024-09-17 17:00:57 -04:00
ggetz 6dbc922d1a Fix ts-build errors 2024-09-17 13:59:29 -04:00
ggetz 2b990bfff5 Fix normals 2024-09-17 13:56:41 -04:00
ggetz 9bac174f8a WaterMasks for 3D Tiles Terrain 2024-09-17 13:44:59 -04:00
ggetz 40f8736c60 Merge branch '3d-tiles-terrain' into 3d-tiles-terrain-watermask 2024-09-12 12:47:15 -04:00
ggetz 0bc0b2b6e4 Merge branch 'main' into 3d-tiles-terrain 2024-09-12 12:46:10 -04:00
YunVlad 98649d86d4 Merge remote-tracking branch 'upstream/main' into fix-PointCloudShading-normalShading 2024-09-04 17:21:37 +03:00
YunVlad 6b407b60bd
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-08-27 16:40:11 +03:00
ggetz e1be5f9c3f Draft 2024-08-26 09:39:17 -04:00
ggetz 8ad5fd9c32 Merge branch 'main' into 3d-tiles-terrain 2024-08-22 13:28:15 -04:00
YunVlad 520ba7f098
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-08-19 11:13:13 +03:00
YunVlad 88c714f6bc
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-08-12 14:15:30 +03:00
YunVlad c7f2daedda Merge branch 'main' into fix-PointCloudShading-normalShading 2024-08-06 14:59:09 +03:00
YunVlad e450c8d39e
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-07-31 10:19:18 +03:00
YunVlad 42ae117659
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-07-25 19:38:01 +03:00
YunVlad 0652a6993e
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-07-24 10:06:51 +03:00
YunVlad 54b7ab2a58
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-07-17 13:15:32 +03:00
YunVlad fe80e7c78f
Merge branch 'CesiumGS:main' into fix-PointCloudShading-normalShading 2024-07-10 11:15:30 +03:00
YunVlad 35db4b4e04 Update CHANGES.md
Added a link to CHANGES.md
2024-07-04 16:10:16 +03:00
YunVlad 339c4033a3 Fixed PointCloudShading.normalShading
Fixed the PointCloudShading.normalShading parameter. Now it disables shading using normals if point cloud contains normals, but the parameter is set to false.
2024-07-04 15:33:00 +03:00
Gabby Getz 538fd35db9 Merge branch 'main' into 3d-tiles-terrain 2024-04-15 13:49:15 -04:00
Gabby Getz cedafe74da Merge branch 'main' into 3d-tiles-terrain 2023-08-21 15:25:14 -04:00
Sean Lilley 204fabdc90 Merge branch 'main' into 3d-tiles-terrain 2023-01-06 12:58:07 -05:00
Sean Lilley 1a03cf2bec Merge branch 'main' into 3d-tiles-terrain 2023-01-03 19:11:39 -05:00
Sean Lilley 3c86935826 Fix doc issues 2023-01-02 18:20:29 -05:00
Sean Lilley b3c1a1d06f Remove console.log 2023-01-02 17:42:50 -05:00
Sean Lilley 237e33700e Merge branch 'main' into 3d-tiles-terrain 2023-01-02 16:54:05 -05:00
Sean Lilley 43d4fc36ed Fix sampleTerrainMostDetailed when terrain provider hasn't loaded a subtree yet 2022-07-27 13:36:40 -04:00
Sean Lilley 349f253bd7 Merge branch 'main' into 3d-tiles-terrain 2022-07-25 13:13:40 -04:00
Sean Lilley 2e73640ab9 Merge branch 'main' into 3d-tiles-terrain 2022-06-01 18:27:11 -04:00
Sean Lilley 31d2611e1a Use subtree readyPromise instead of relying on previous when.js behavior that resolves values immediately 2022-06-01 17:41:01 -04:00
Sean Lilley e8a76fab32 Merge branch 'main' into 3d-tiles-terrain 2022-06-01 12:46:19 -04:00
Daniel Leone f4e6772e29 no idea why this test failed, adding more logs 2022-05-17 11:06:23 +08:00
Daniel Leone 404b2202ea renamed a few things 2022-05-16 23:56:28 +08:00
Daniel Leone 8c48cb0407 make getHeight pick in 3D mode 2022-05-08 12:16:35 +08:00
Daniel Leone 3f69f5f8e0 Okay, turns out that passing in mode as undefined was required for the existing tests for some reason.
I can also just grab terrain exaggeration from the encoding because that is mutated on the fly.
That means I don't need FrameState anymore all the way at the top
2022-05-06 16:19:42 +08:00
Daniel Leone 3111ef4a7f hide those private bits 2022-04-30 16:15:24 +08:00
Daniel Leone 526ea8ee45 fixing eslint errors 2022-04-30 15:49:06 +08:00
Daniel Leone 483ab35c9c FrameState is private, definitely breaking the public api here 2022-04-30 10:50:48 +08:00
Daniel Leone 358a793793 fixed some eslint complaints 2022-04-30 10:34:31 +08:00
Daniel Leone 26fe02dd88 passing in frameState parameter as required 2022-04-30 10:23:13 +08:00
Daniel Leone a3b426d8d9 removed duplicate method definition 2022-04-29 16:31:23 +08:00
Daniel Leone 1d005a67f8 added exaggeration options to terrain debug sandcastle
updated access token
stopped train mesh ray checking when exaggeration is applied
fixed some merge conflicts
2022-04-29 15:37:09 +08:00
Daniel Leone cd9ca23946 Merge remote-tracking branch 'upstream/main' into fastPickingWithOctree
# Conflicts:
#	Specs/Scene/GlobeSurfaceTileSpec.js
2022-04-29 15:28:20 +08:00
Sean Lilley c14a8a9d81 Fixes for 1.1 2022-03-16 16:51:58 -04:00
IanLilleyT fa4f844816 3d tiles terrain 2022-03-16 15:32:32 -04:00
Daniel Leone b5c3d90d18 more of changing var to let/const 2022-02-04 11:33:26 +08:00
Daniel Leone 98786878e7 change var to let/const now it's a real thing 2022-02-04 10:35:54 +08:00
Daniel Leone ea5bfcf727 Merge remote-tracking branch 'upstream/main' into fastPickingWithOctree
# Conflicts:
#	Source/Core/HeightmapTessellator.js
#	Source/Core/OrientedBoundingBox.js
#	Source/Scene/GlobeSurfaceTile.js
#	Source/WorkersES6/createVerticesFromQuantizedTerrainMesh.js
#	Specs/Core/sampleTerrainSpec.js
#	package.json
2022-02-04 08:46:26 +08:00
Daniel Leone a47080272d create trace dir if not exists 2021-12-04 22:15:18 +08:00
Daniel Leone 93a2487bee checking frame state for exaggeration and scene mode to avoid the octree path 2021-11-27 19:45:16 +08:00
Daniel Leone de1d36c5f7 added a dropdown to turn on/off default picking on the debug page 2021-11-27 18:23:25 +08:00
Daniel Leone d78719e445 removing unused code 2021-11-27 17:46:49 +08:00
Daniel Leone 5d2dce28c1 took some changes from upstream into the original globe pick function (it was moved into another class here)
not sure if new terrain exaggeration thing works?
2021-11-26 00:07:19 +08:00
Daniel Leone f31dc77928 made 2 new sandcastles and reverted the ones I hacked 2021-11-26 00:00:16 +08:00
Daniel Leone 567a3c7f2f Merge remote-tracking branch 'upstream/main' into fastPickingWithOctree
# Conflicts:
#	Apps/Sandcastle/gallery/3D Models.html
#	Apps/Sandcastle/gallery/Terrain.html
#	Source/Core/HeightmapTerrainData.js
#	Source/Core/Ion.js
#	Source/Scene/Globe.js
#	Source/Scene/GlobeSurfaceTile.js
#	Source/WorkersES6/createVerticesFromQuantizedTerrainMesh.js
#	package.json
2021-11-25 23:01:01 +08:00
Daniel Leone aa9dbe71c9 more cleanup 2021-11-25 01:52:43 +08:00
Daniel Leone 8d427e1882 code cleanup fixing up more of Terrain sandcastle 2021-11-25 01:40:52 +08:00
Daniel Leone 224836e426 renamed TrianglePicking.js to OctreeTrianglePicking.js 2021-11-25 01:09:13 +08:00
Daniel Leone 29ee6fa651 trying to speed up creating packed triangles a bit 2021-11-25 00:58:14 +08:00
Daniel Leone f236c151ae removed a little more quadtree code 2021-11-25 00:47:00 +08:00
Daniel Leone 1018d81124 code cleanup, code removal, fixing some things in the terrain.html sandcastle for testing
removed all the quadtree stuff
2021-11-25 00:38:22 +08:00
Daniel Leone fe06f25f9b * removed lots more unused code 2021-11-25 00:08:51 +08:00
Daniel Leone 1bb353b5de * fixed up some of the profiling scripts
* fixed a test
* removed unused code
2021-11-24 23:56:16 +08:00
Daniel Leone 52af82768f * oh boy it's fast... finally made that optimization for caching the last matched node for the next triangle, it's so
much faster for arcgis at least. It was so easy as well haha, should've done that months ago
* hacked in a window flag to disable default pick strategy to feel performance with only octree picking, it's actually good.
2021-11-21 15:55:06 +08:00
Daniel Leone d136d73cd7 updated and merged in upstream - still seems to work after all this time lol 2021-11-19 17:12:13 +08:00
Daniel Leone 6a85cd99a0 added octree back to heightmap terrain data.
saw the different results ~4 times (undefined from octree vs a result from the triangle searcher) while moving around a lot... not sure yet.
otherwise, ArcGIS terrain is working ok.
2021-04-27 17:31:10 +08:00
Daniel Leone 853fe3564b tracking of node intersections 2021-04-24 17:29:45 +08:00
Daniel Leone e195558d9d Merge remote-tracking branch 'upstream/master' into fastPickingWithOctree 2021-04-24 12:00:54 +08:00
Daniel Leone 4853568581 a few dev errors related to camera stuff... hmmm..... but actually some working result sometimes 2021-04-23 16:36:16 +08:00
Daniel Leone 26cbe4e001 man what a bug in that triangle packer! what an idiot! T_T
ok all the triangles at least remotely look correct now...
2021-04-22 22:54:35 +08:00
Daniel Leone 75ace54f12 more drawing of octree nodes, not drawing triangles for now 2021-04-19 18:28:00 +08:00
Daniel Leone d506da6590 and just like that, octree picking is back, kind of.
Visualizing the octants is in, and the triangles inside each one... I'm not sure why it doesn't make sense though..
2021-04-19 15:44:24 +08:00
Daniel Leone a667116333 yet more debugging stuff - and a x rotation on the transform 2021-03-02 17:02:18 +08:00
Daniel Leone fef9e252d5 Merge remote-tracking branch 'upstream/master' into fastPicking2
# Conflicts:
#	Apps/Sandcastle/gallery/Terrain.html
2021-03-02 09:50:08 +08:00
Daniel Leone 9d303b4bbb reverted all the octree code 2021-02-24 15:08:56 +08:00
Daniel Leone 1228d6a701 tighten up some coloring 2021-02-24 14:53:30 +08:00
Daniel Leone 377f9dc5ec lots more changes - switched to using the terrain encoding object instead - solves the rounding issues 2021-02-24 02:22:27 +08:00
Daniel Leone ab569b2ea5 lots of changes
fixed all the position index look ups - it actually seems to somewhat work
moved to float 64 array - however it isn't accurate enough I don't think - so attempting to convert to position decoding
2021-02-23 16:01:33 +08:00
Daniel Leone 124262d6b1 fixed the quadtree min/max heights 2021-02-22 15:00:05 +08:00
Daniel Leone 03adf9b17c flipping the Y direction (height - row) and that seems to fix it.... not sure why?? 2021-02-22 14:35:33 +08:00
Daniel Leone 0fbb24c803 * taking in skirt height - not using yet
* I think the squares are working, it's just inverted still I think.
2021-02-19 22:53:10 +08:00
Daniel Leone 15c652c60b more debugging ... more tests. 2021-02-19 16:48:26 +08:00
Daniel Leone 4a49d2e5c5 more debugging - drawing quad tree levels is working - i think. 2021-02-19 13:05:03 +08:00
Daniel Leone c7c2d1ec77 adding more detail to debug help - trying to reverse the transform 2021-02-18 22:05:43 +08:00
Daniel Leone ab8871858d working on quadtree algorithm - looks promising
transform or lookup seems wrong though or something haha
2021-02-18 10:07:15 +08:00
Daniel Leone e4d5c9fb54 added a quad tree path - search not implemented.. not sure how. 2021-02-17 12:04:12 +08:00
Daniel Leone 8e0b99ed17 nuked all the octree traversal code - now just looping through all nodes (pointless); although at least it works.
lots of debugging stuff.
2021-02-17 01:46:27 +08:00
Daniel Leone 4e6fc4c372 figured out what was wrong with the test
split the original triangle tester coder into a separate class
2021-02-16 16:03:41 +08:00
Daniel Leone 6cfefad2f3 lots of reverts - still a failing test 2021-02-15 09:42:43 +08:00
Daniel Leone 3c3756b2d9 lots of debugging stuff; and some fixes 2021-02-15 09:18:44 +08:00
Daniel Leone aadb8c22e1 added a test for ArcGIS - it fails and I have no idea why. 2021-02-09 09:43:02 +08:00
Daniel Leone ea152095a8 added what might be considered a test...
and cleaned up patch xhr load for sample terrain spec
2021-02-04 19:32:23 +08:00
Daniel Leone 23abe63750 more reverts 2021-02-04 17:45:34 +08:00
Daniel Leone 0177f21311 cleaning up some changes 2021-02-04 17:36:02 +08:00
Daniel Leone 43e67eb3e9 deleting some stuff 2021-02-04 16:03:58 +08:00
Daniel Leone 2380ce85b9 removed some unused code
run the puppeteer script with firefox
2021-02-04 12:43:46 +08:00
Daniel Leone d0cfece7ce swapped CWT to packed triangles as well 2021-02-04 12:23:24 +08:00
Daniel Leone 70e9b3a74c optimized both heightmap triangle creation functions 2021-02-04 12:02:29 +08:00
Daniel Leone 25f75822b4 turned off old-picking behaviour with a bool for now 2021-02-03 10:21:17 +08:00
Daniel Leone 9df18c8483 Merge branch 'fix-arcgis-sample-terrain-height' into fastPicking2 2021-02-03 10:14:56 +08:00
Daniel Leone 192323ebed removing some temporary code 2021-02-03 10:14:22 +08:00
Daniel Leone eb3d6bae67 added the pick method to the terrain mesh class so it can hide the triangle picking implementation from globe surface tile 2021-01-21 11:28:41 +08:00
Daniel Leone 9566943878 cleaned up some interfaces a little - removed some methods.
I believe everything is currently working
2021-01-21 10:27:23 +08:00
Daniel Leone 01d5a0b755 just went back to 2 axis overlap counts for now 2021-01-20 23:34:19 +08:00
Daniel Leone 737eb8d66e fixed the perf regression - it was the .concat() call... apparently the for loop is way faster. 2021-01-20 23:30:07 +08:00
Daniel Leone a0fad10a8c reverted - however we've still got the memory issues... hmmmmm what 2021-01-20 13:28:11 +08:00
Daniel Leone 3a6d8cca79 added flag to parse traces to print the logs 2021-01-20 13:11:16 +08:00
Daniel Leone 63bc3d328a switched to using a packed triangle array instead of a js-object triangle array...
seems to increase memory pressure dramatically causing lots and lots of GC's during octree creation.
2021-01-20 13:09:50 +08:00
Daniel Leone ee3759a0a2 fixing up some es6 compile errors 2021-01-20 11:47:22 +08:00
Daniel Leone 52c16a0c8c updated tracing script to measure all timers 2021-01-20 11:24:47 +08:00
Daniel Leone b391890dbd Merge remote-tracking branch 'upstream/master' into fastPicking2 2021-01-20 10:55:40 +08:00
Daniel Leone 10c2d4bfb2 * added commit hash to benchmark script
* removed the callback and just did it inline - seems to help a little bit
* lots more timer markings
2021-01-20 10:55:00 +08:00
Daniel Leone 51db7326c6 back to 2 functions
reduced the size of the tree even more
2021-01-15 14:07:53 +08:00
Daniel Leone bd6a3af42d wait I did that wrong I think.. now it's way slower 2021-01-15 13:02:10 +08:00
Daniel Leone 1048196a13 undo the bitmask thing - again more testing 2021-01-15 12:31:38 +08:00
Daniel Leone 1ed774cf5a * updated parse_traces.js to output --last=n amount 2021-01-15 12:26:40 +08:00
Daniel Leone 494fd9d35b just a checkpoint
* updated sandcastle for manual testing with ArcGIS
* updated parse trace script to only print the latest result
* inlined addNodeTriangleToChildren and converted to using a bitmask rather than 8-ifs (not sure if this is faster yet)
* increased triangles per node to 100 and small overlap count to 3. This means - each node will store upto 100 triangles in it - and only triangles which are complete(?) contained within the node.. so we should end up with a small tree - which less duplication of triangles spread in the tree.
2021-01-15 12:14:15 +08:00
Daniel Leone a17a680a47 added special flags to puppeteer to capture v8 opts and de-opts
- put that into a log file
- runs with the TerrainMesh sandcastle in full-screen mode
- outputs the timings + all the opts/de-opts for relevant functions
2021-01-14 16:40:19 +08:00
Daniel Leone a454c3c441 Merge branch 'fix-arcgis-sample-terrain-height' into fastPicking2
# Conflicts:
#	Apps/Sandcastle/gallery/Terrain.html
2021-01-14 14:06:03 +08:00
Daniel Leone b42fe7f7f9 * tried inlining - made everything works
* added some scripts to measure e2e performance over ~40 tiles

`node puppeteer.js && node parse_traces.js`
2021-01-12 12:03:06 +08:00
Daniel Leone 8ddbdb82f3 * hacked a few arguments in to Globe and GlobeSurfaceTile just for creating test data
* have a few passing tests
2021-01-11 15:23:31 +08:00
Daniel Leone 19c63752a7 Merge remote-tracking branch 'origin/fix-arcgis-sample-terrain-height' into fastPicking2 2021-01-08 10:40:22 +08:00
Daniel Leone a7dd147e97 Merge remote-tracking branch 'upstream/master' into fastPicking2 2021-01-08 10:40:06 +08:00
Daniel Leone 04387ec904 lots of debugging changes, don't test with this commit; it won't work. 2020-08-28 12:40:10 +08:00
Daniel Leone a17d60187f turned back on the new picking 2020-07-29 02:10:45 +08:00
Daniel Leone 161a67584c moved the octree into array buffers before sending cross-thread 2020-07-29 01:41:14 +08:00
Daniel Leone d082644cde Merge branch 'master' into fastPicking 2020-07-24 19:41:00 +08:00
Ian Lilley f1ce06120d Merge branch 'master' into fastPicking 2020-06-03 15:43:44 -04:00
Ian Lilley 3aa7401aef comment 2020-05-27 20:21:59 -04:00
Ian Lilley bdb276d7c9 added support for heightmaps 2020-05-27 09:26:47 -04:00
Ian Lilley 7e60cc60a6 picking in the worker for quantized mesh 2020-05-26 21:08:51 -04:00
Ian Lilley 22bb9243cc rename 2020-05-21 16:10:10 -04:00
Ian Lilley 60e5164d57 clreanup and more doc 2020-05-21 16:08:39 -04:00
Ian Lilley 446307c2d9 moved triangle picking to terrain mesh 2020-05-21 13:56:20 -04:00
Ian Lilley 892bbe457e minor 2020-05-21 12:20:15 -04:00
Ian Lilley 75a68123cf small optimiziation 2020-05-21 11:59:54 -04:00
Ian Lilley 99b90a17b3 not allocating the entire tri array up front 2020-05-21 10:49:59 -04:00
Ian Lilley 7b21e6e330 removed timers from globesurfacetile 2020-05-21 10:36:07 -04:00
Ian Lilley 09b1961b80 renamed filterdown variable names 2020-05-21 10:11:05 -04:00
Ian Lilley ba6d133c8f better support for backfaces 2020-05-20 22:24:19 -04:00
Ian Lilley d13bd0c606 claeanup 2020-05-20 21:22:43 -04:00
Ian Lilley 454d06cb84 fixed scratch var bug 2020-05-20 20:53:59 -04:00
Ian Lilley ba2919d467 added getTriVertsFromIndex 2020-05-20 12:12:40 -04:00
Ian Lilley b82f5d2d79 minor 2020-05-19 15:17:40 -04:00
Ian Lilley 921ac1c0a4 made bit logic faster 2020-05-19 14:09:54 -04:00
Ian Lilley 0c2becaaea alternate construction that may be faster 2020-05-18 19:18:08 -04:00
Ian Lilley d9546f4667 more balanced binning 2020-05-18 09:54:39 -04:00
Ian Lilley ba4aff81a6 small optimization pass 2020-05-17 16:28:58 -04:00
Ian Lilley cc7e38c64a faster traversal 2020-05-17 15:26:18 -04:00
Ian Lilley e150206d4e sadncastle improvements 2020-05-16 15:10:30 -04:00
Ian Lilley c7a8786303 fixed some bugs 2020-05-10 19:22:10 -04:00
Ian Lilley b95cbd282e fixed 2 bugs 2020-05-09 17:34:21 -04:00
Ian Lilley 6012a5fd02 initial 2020-05-09 16:22:44 -04:00
1771 changed files with 97960 additions and 10558 deletions

6
.git-blame-ignore-revs Normal file
View File

@ -0,0 +1,6 @@
# Format all code with prettier
2fd0e8f7e4212bd1e7084299187f70597a6bbfd8
# var -> const/let
8143df4436b79260e9861f63c6ac134d7910a818
# run prettier v3
09a719b8fb4616ecbcd7370e81dcdc998b64b6e2

View File

@ -15,7 +15,9 @@ cp cesium*.tgz ../test
cp Specs/test.*js ../test
cd ../test
npm install cesium*.tgz
npm install cesium-engine*.tgz
npm install cesium-widgets*.tgz
npm install cesium-1.*.tgz
NODE_ENV=development node test.cjs
NODE_ENV=production node test.cjs
node test.mjs
node test.mjs

View File

@ -10,9 +10,9 @@ jobs:
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
- name: install npm packages

View File

@ -2,7 +2,7 @@ name: deploy
on:
push:
branches-ignore:
- 'cesium.com'
- "cesium.com"
- production
concurrency:
group: deploy-${{ github.ref }}
@ -22,12 +22,13 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
DEPLOYED_URL: https://ci-builds.cesium.com/cesium/${{ github.ref_name }}/
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
node-version: "22"
- name: npm install
run: npm install
- name: set the version in package.json

View File

@ -11,9 +11,9 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
- name: npm install
@ -32,9 +32,9 @@ jobs:
AWS_REGION: us-east-1
BRANCH: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
- name: npm install
@ -49,9 +49,9 @@ jobs:
release-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
- name: npm install
@ -65,9 +65,9 @@ jobs:
node-20:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 20
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
- name: npm install

View File

@ -1,17 +1,17 @@
name: prod
on:
on:
push:
branches:
- 'cesium.com'
branches:
- "cesium.com"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
node-version: "22"
- name: npm install
run: npm install
- name: lint *.js
@ -32,23 +32,30 @@ jobs:
GITHUB_REPO: ${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '22'
node-version: "22"
- name: npm install
run: npm install
- name: build website release
run: npm run website-release
- name: build types
run: npm run build-ts
- name: build apps
run: npm run build-apps
- name: deploy to cesium.com
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
# Download zip from the Github release and unzip to Build/release/
# Publish that unzipped code to the bucket for https://cesium.com/downloads/cesiumjs/releases/[version]/... urls
# Publish the documentation files to the bucket for https://cesium.com/learn/cesiumjs/ref-doc/
# Publish the simple viewer app to the bucket for https://cesium.com/cesiumjs/cesium-viewer/
# Publish sandcastle to the bucket for https://sandcastle.cesium.com/
run: |
curl -LO $(curl https://api.github.com/repos/CesiumGS/cesium/releases/latest -H "Authorization: ${GITHUB_TOKEN}" | jq -r '.assets[0].browser_download_url')
unzip Cesium-$(cat package.json | jq -r '.version' | sed 's/\.0$//').zip -d Build/release/ -x "Apps"
aws s3 sync Build/release/ s3://cesium-website/cesiumjs/releases/$(cat package.json | jq -r '.version' | sed 's/\.0$//')/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/Documentation/ s3://cesium-website/cesiumjs/ref-doc/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/CesiumViewer/ s3://cesium-website/cesiumjs/cesium-viewer/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/Sandcastle/ s3://cesium-sandcastle-website/ --cache-control "public, max-age=1800" --delete
aws s3 sync Build/Sandcastle2/ s3://cesium-sandcastle-website/ --cache-control "public, max-age=1800" --delete

35
.github/workflows/sandcastle-dev.yml vendored Normal file
View File

@ -0,0 +1,35 @@
name: sandcastle-dev
on:
push:
branches:
- "main"
jobs:
deploy:
runs-on: ubuntu-latest
env:
PROD: true
AWS_ACCESS_KEY_ID: ${{ secrets.PROD_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.PROD_AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-1
BRANCH: ${{ github.ref_name }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
GITHUB_SHA: ${{ github.sha }}
steps:
- uses: actions/checkout@v5
- name: install node 22
uses: actions/setup-node@v6
with:
node-version: "22"
- name: npm install
run: npm install
- name: build website release
run: npm run website-release
- name: build types
run: npm run build-ts
- name: build prod sandcastle
run: npm run build-sandcastle
- name: deploy to dev-sandcastle.cesium.com
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
run: |
aws s3 sync Build/Sandcastle2/ s3://cesium-dev-sandcastle-website/ --cache-control "public, max-age=1800" --delete

View File

@ -4,9 +4,6 @@
<option name="SPACE_BEFORE_PROPERTY_COLON" value="true" />
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
</JSCodeStyleSettings>
<XML>
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
<codeStyleSettings language="JavaScript">
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />

View File

@ -1,4 +1,5 @@
/node_modules
packages/sandcastle/node_modules
/ThirdParty
/Tools/**

View File

@ -23,6 +23,8 @@
/scripts/
/favicon.ico
/gulpfile.js
/gulpfile.apps.js
/gulpfile.makezip.js
/index.html
/index.release.html
/launches

View File

@ -18,6 +18,7 @@
!**/*.html
!**/*.md
!**/*.ts
!**/*.tsx
# Re-ignore a few things caught above
@ -33,6 +34,9 @@ packages/widgets/Build/**
packages/widgets/index.js
packages/widgets/Source/ThirdParty/**
packages/sandcastle/node_modules/**
Apps/Sandcastle2/**
Specs/jasmine/**
Apps/Sandcastle/ThirdParty

View File

@ -6,6 +6,7 @@
"cesium.gltf-vscode",
"bierner.github-markdown-preview",
"DavidAnson.vscode-markdownlint",
"streetsidesoftware.code-spell-checker"
"streetsidesoftware.code-spell-checker",
"eamodio.gitlens"
]
}

27
.vscode/launch.json vendored
View File

@ -1,6 +1,7 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
@ -21,6 +22,32 @@
"type": "chrome",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
},
{
"request": "attach",
"name": "Attach to Karma",
"type": "chrome",
"port": 9333, // This is the remote debugging port specified in karma.conf.cjs
"webRoot": "${workspaceFolder}",
"timeout": 60000
},
{
"type": "node",
"request": "launch",
"name": "Launch Test Suite",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "test", "--", "--includeName", "${fileDirnameBasename}${/}${fileBasenameNoExtension}", "--debug"],
"console": "integratedTerminal"
}
],
"compounds": [
{
"name": "Launch Test Suite and Debug in VSCode",
"configurations": [
"Launch Test Suite",
"Attach to Karma"
]
}
]
}

View File

@ -29,5 +29,9 @@
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
"javascript.format.placeOpenBraceOnNewLineForFunctions": false,
"javascript.format.placeOpenBraceOnNewLineForControlBlocks": false,
"glTF.defaultV2Engine": "Cesium"
"glTF.defaultV2Engine": "Cesium",
"gitlens.advanced.blame.customArguments": [
"--ignore-revs-file",
"${workspaceFolder}/.git-blame-ignore-revs"
],
}

View File

@ -1,4 +1,3 @@
// eslint-disable-next-line no-undef
window.CESIUM_BASE_URL = window.CESIUM_BASE_URL
? window.CESIUM_BASE_URL
: "../../Build/CesiumUnminified/";

13530
Apps/SampleData/Mars.czml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,276 @@
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"text": "Acidalia Planitia",
"destination": [2482963.8874656125, -1390493.34713116, 2003606.997020314],
"orientation": [2.9706346891645325, -0.39288074608352463, 0.00013399155612248137],
"description": "Acidalia Planitia is a plain on Mars, between the Tharsis volcanic province and Arabia Terra to the north of Valles Marineris, centered at 49.8°N 339.3°E. Most of this region is found in the Mare Acidalium quadrangle, but a small part is in the Ismenius Lacus quadrangle. The plain contains the famous Cydonia region at the contact with the heavily cratered highland terrain.",
"sourceURL": "https://en.wikipedia.org/wiki/Acidalia_Planitia",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/3/36/Acidalia_planitia_topo.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-28.039999999999999, 31.210000000000001]
}
},
{
"type": "Feature",
"properties": {
"text": "Alba Mons",
"destination": [-468768.84888828284, -2636983.410363647, 3193355.1570078987],
"orientation": [3.8060647475551765, -0.9801861222357124, 6.281240302469402],
"description": "Alba Mons is a volcano located in the northern Tharsis region of the planet Mars. It is the biggest volcano on Mars in terms of surface area, with volcanic flow fields that extend for at least 1,350 km (840 mi) from its summit. Although the volcano has a span comparable to that of the United States, it reaches an elevation of only 6.8 km (22,000 ft) at its highest point.[6] This is about one-third the height of Olympus Mons, the tallest volcano on the planet.",
"sourceURL": "https://en.wikipedia.org/wiki/Alba_Mons",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/a/a9/Alba_Mons_Viking_DIM.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [250.4, 40.5]
}
},
{
"type": "Feature",
"properties": {
"text": "Arabia Terra",
"destination": [3173625.979675759, -925087.3184430292, 1281260.6050768741],
"orientation": [2.210739895697892, -0.4557150936475227, 0.0003490992512000801],
"description": "Arabia Terra is a large upland region in the north of Mars that lies mostly in the Arabia quadrangle, but a small part is in the Mare Acidalium quadrangle. It is densely cratered and heavily eroded. This battered topography indicates great age, and Arabia Terra is presumed to be one of the oldest terrains on the planet. It covers as much as 4,500 km (2,800 mi) at its longest extent, centered roughly at 21°N 6°E with its eastern and southern regions rising 4 km (13,000 ft) above the north-west. Alongside its many craters, canyons wind through the Arabia Terra, many emptying into the large northern lowlands of the planet, which borders Arabia Terra to the north.",
"sourceURL": "https://en.wikipedia.org/wiki/Arabia_Terra",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Eden_Patera_THEMIS_day_IR.jpg/2560px-Eden_Patera_THEMIS_day_IR.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-11.870000000000001, 18.02]
}
},
{
"type": "Feature",
"properties": {
"text": "Elysium Volcanic Region",
"destination": [-3390705.18743154, 1723996.087561009, 1009387.4502178654],
"orientation": [5.95184286595793, -0.8844046974415081, 0.005041989289460425],
"description": "Elysium, located in the Elysium and Cebrenia quadrangles, is the second largest volcanic region on Mars, after Tharsis. The region includes the volcanoes (from north to south) Hecates Tholus, Elysium Mons and Albor Tholus. The province is centered roughly on Elysium Mons at 24.7°N 150°E. Elysium Planitia is a broad plain to the south of Elysium, centered at 3.0°N 154.7°E. Another large volcano, Apollinaris Mons, lies south of Elysium Planitia and is not part of the province. Besides having large volcanoes, Elysium has several areas with long trenches, called fossa or fossae (plural) on Mars.",
"sourceURL": "https://en.wikipedia.org/wiki/Elysium_(volcanic_province)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Elysium_MOLA_zoom_64.jpg/2560px-Elysium_MOLA_zoom_64.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [150, 24.7]
}
},
{
"type": "Feature",
"properties": {
"text": "Gale Crater (Curiosity)",
"destination": [-2791535.3207, 2189446.3646, -616541.9385],
"orientation": [5.5684, -0.636, 0.0],
"description": "Curiosity is a car-sized Mars rover that is exploring Gale crater and Mount Sharp on Mars as part of NASA's Mars Science Laboratory (MSL) mission. Launched in 2011 and landed the following year, the rover continues to operate more than a decade after its original two-year mission. Mission goals include an investigation of the Martian climate and geology, an assessment of whether the selected field site inside Gale has ever offered environmental conditions favorable for microbial life (including investigation of the role of water), and planetary habitability studies in preparation for human exploration.",
"sourceURL": "https://en.wikipedia.org/wiki/Curiosity_(rover)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Curiosity_Self-Portrait_at_%27Big_Sky%27_Drilling_Site.jpg/1280px-Curiosity_Self-Portrait_at_%27Big_Sky%27_Drilling_Site.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [137.8, -5.4]
}
},
{
"type": "Feature",
"properties": {
"text": "Jezero Crater (Perseverance)",
"destination": [596565.83388002, 3353778.00627982, 923026.06801835],
"orientation": [5.59008567, -0.59978189, 0.00060998],
"description": "Perseverance is a car-sized Mars rover designed to explore the Jezero crater on Mars as part of NASA's Mars 2020 mission. Perseverance has a similar design to its predecessor rover, Curiosity, although it was moderately upgraded. It carries seven primary payload instruments, nineteen cameras, and two microphones. The rover also carried the mini-helicopter Ingenuity to Mars, an experimental technology testbed that made the first powered aircraft flight on another planet on April 19, 2021.",
"sourceURL": "https://en.wikipedia.org/wiki/Perseverance_(rover)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/a/a4/Perseverance-Selfie-at-Rochette-Horizontal-V2.gif"
},
"geometry": {
"type": "Point",
"coordinates": [77.58, 18.38]
}
},
{
"type": "Feature",
"properties": {
"text": "Marth Crater",
"destination": [3327216.4788566492, -218466.2408178681, 946551.8768631018],
"orientation": [3.331697871424215, -0.29366873064196347, 6.281659377334691],
"description": "In the best-selling novel \"The Martian\" and the movie based on it, stranded astronaut Mark Watney's adventures take him to the rim of Mawrth Crater. The crater rim is not very distinct, and from the Martian surface it would be quite difficult to tell that you are even on the rim of a crater. The terrain is hummocky and rolling, punctuated by smaller impact craters and wind-blown drifts of sand or dust.",
"sourceURL": "https://science.nasa.gov/resource/western-edge-of-mars-marth-crater-a-movie-location/",
"source": "NASA",
"imageURL": "https://assets.science.nasa.gov/dynamicimage/assets/science/psd/mars/resources/detail_files/7/7500_mars-the-martian-marth-crater-PIA19915-full2.jpg?w=1163&h=720&fit=clip&crop=faces%2Cfocalpoint"
},
"geometry": {
"type": "Point",
"coordinates": [-4.2680995373239057, 12.660926420007353]
}
},
{
"type": "Feature",
"properties": {
"text": "Mawrth Vallis",
"destination": [2880337.0763509087, -1422487.4666314998, 1778960.0256092676],
"orientation": [2.059623110400561, -0.6237026798827308, 0.0017318644099715286],
"description": "Mawrth Vallis (Mawrth means \"Mars\" in Welsh) is a valley on Mars, located in the Oxia Palus quadrangle at 22.3°N, 343.5°E with an elevation approximately two kilometers below datum. Situated between the southern highlands and northern lowlands, the valley is a channel formed by massive flooding which occurred in Mars' ancient past. It is an ancient water outflow channel with light-colored clay-rich rocks.",
"sourceURL": "https://en.wikipedia.org/wiki/Mawrth_Vallis",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Mawrth_Vallis_martian_mosaic.jpg/1280px-Mawrth_Vallis_martian_mosaic.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-20.5, 26.350000000000001]
}
},
{
"type": "Feature",
"properties": {
"text": "Olympus Mons",
"destination": [-2549089.8672, -2720744.9822, 604987.2427],
"orientation": [6.2232, -0.7135, 0.0],
"description": "Olympus Mons is a large shield volcano on Mars. It is over 21.9 km high as measured by the Mars Orbiter Laser Altimeter (MOLA), about 2.5 times the elevation of Mount Everest above sea level. It is Mars's tallest volcano, its tallest planetary mountain, and is approximately tied with Rheasilvia on Vesta as the tallest mountain currently discovered in the Solar System. It is associated with the volcanic region of Tharsis Montes. It last erupted 25 million years ago.",
"sourceURL": "https://en.wikipedia.org/wiki/Olympus_Mons",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Olympus_Mons_-_ESA_Mars_Express_-_Flickr_-_Andrea_Luck.png/2880px-Olympus_Mons_-_ESA_Mars_Express_-_Flickr_-_Andrea_Luck.png"
},
"geometry": {
"type": "Point",
"coordinates": [226.2, 18.65]
}
},
{
"type": "Feature",
"properties": {
"text": "Meridiani Planum (Opportunity)",
"destination": [3528252.21590355, -6454.59498861, -190095.70073928],
"orientation": [4.91589709, -0.43114195, 5.97503936],
"description": "Opportunity, also known as MER-B (Mars Exploration Rover - B) or MER-1, and nicknamed Oppy, is a robotic rover that was active on Mars from 2004 until 2018. Opportunity was operational on Mars for 5111 sols (14 years, 138 days on Earth). Launched on July 7, 2003, as part of NASA's Mars Exploration Rover program, it landed in Meridiani Planum on January 25, 2004, three weeks after its twin, Spirit (MER-A), touched down on the other side of the planet. With a planned 90-sol duration of activity (slightly less than 92.5 Earth days), Spirit functioned until it got stuck in 2009 and ceased communications in 2010, while Opportunity was able to stay operational for 5111 sols after landing, maintaining its power and key systems through continual recharging of its batteries using solar power, and hibernating during events such as dust storms to save power. This careful operation allowed Opportunity to operate for 57 times its designed lifespan, exceeding the initial plan by 14 years, 47 days (in Earth time). By June 10, 2018, when it last contacted NASA, the rover had traveled a distance of 45.16 kilometers (28.06 miles).",
"sourceURL": "https://en.wikipedia.org/wiki/Opportunity_(rover)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/NASA_Mars_Rover.jpg/2560px-NASA_Mars_Rover.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [354.4734, -1.9462]
}
},
{
"type": "Feature",
"properties": {
"text": "Schiaparelli Crater",
"destination": [3513269.5521, 664880.5211, -498902.5607],
"orientation": [0.8318, -0.5309, 0.0],
"description": "Schiaparelli is an impact crater on Mars, located near the planet's equator at latitude 3° south and longitude 344° in the Sinus Sabaeus quadrangle. It measures approximately 459 kilometers (285-miles) in diameter and was named after Italian astronomer Giovanni Schiaparelli. A crater within Schiaparelli shows many layers that may have formed by the wind, volcanoes, or deposition under water.",
"sourceURL": "https://en.wikipedia.org/wiki/Schiaparelli_(Martian_crater)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/6/6e/SchiaparelliMOLA.jpeg"
},
"geometry": {
"type": "Point",
"coordinates": [16.7, -2.7]
}
},
{
"type": "Feature",
"properties": {
"text": "Ares Vallis (Sojourner)",
"destination": [3002746.35818072, -1674150.97664144, 1015018.06707550],
"orientation": [5.27982625, -0.63635512, 0.00167013],
"description": "The robotic Sojourner rover reached Mars on July 4, 1997 as part of the Mars Pathfinder mission. Sojourner was operational on Mars for 92 sols (95 Earth days), and was the first wheeled vehicle to operate on an astronomical object other than the Earth or Moon. The landing site was in the Ares Vallis channel in the Chryse Planitia region of the Oxia Palus quadrangle.",
"sourceURL": "https://en.wikipedia.org/wiki/Sojourner_(rover)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/3/3a/Sojourner_on_Mars_PIA01122.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-33.22, 19.13]
}
},
{
"type": "Feature",
"properties": {
"text": "Gusev Crater (Spirit)",
"destination": [-3318104.44189717, 143085.57854143, -986175.00294181],
"orientation": [5.53211415, -0.38597730, 0.00036546],
"description": "Spirit, also known as MER-A (Mars Exploration Rover - A) or MER-2, is a Mars robotic rover, active from 2004 to 2010. Spirit was operational on Mars for 2208 sols or 3.3 Martian years (2269 days; 6 years, 77 days). It was one of two rovers of NASA's Mars Exploration Rover Mission managed by the Jet Propulsion Laboratory (JPL). Spirit landed successfully within the impact crater Gusev on Mars at 04:35 Ground UTC on January 4, 2004, three weeks before its twin, Opportunity (MER-B), which landed on the other side of the planet. Its name was chosen through a NASA-sponsored student essay competition. The rover got stuck in a \"sand trap\" in late 2009 at an angle that hampered recharging of its batteries; its last communication with Earth was on March 22, 2010.",
"sourceURL": "https://en.wikipedia.org/wiki/Spirit_(rover)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/KSC-03PD-0786.jpg/2880px-KSC-03PD-0786.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [175.472636, -14.5684]
}
},
{
"type": "Feature",
"properties": {
"text": "Terra Meridiani",
"destination": [3527603.695520859, -689644.450481964, 483920.0646853684],
"orientation": [2.04380225538318, -0.5700974895821371, 6.2830672295985615],
"description": "Terra Meridiani is a large plain straddling the equator of Mars. The plain sits on top of an enormous body of sediments that contains bound water. The iron oxide in the spherules is crystalline (grey) hematite (Fe2O3). The Meridiani Planum is one of the most thoroughly investigated regions of Mars. Many studies were carried out by the scientists involved with NASA's Mars Exploration Rover (MER) Opportunity.",
"sourceURL": "https://en.wikipedia.org/wiki/Terra_Meridiani",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/6/6b/Sol322B.Smooth.Sheet.bedforms.close.to.heat.shield.crp.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-4.8900000000000006, 4.6100000000000003]
}
},
{
"type": "Feature",
"properties": {
"text": "\"The Hab\"",
"destination": [2482963.8874656125, -1390493.34713116, 2003606.997020314],
"orientation": [2.9706346891645325, -0.39288074608352463, 0.00013399155612248137],
"description": "(Spoilers!) In the novel and movie The Martian, \"The Hab\" is a habitat on Mars, in Acidalia Planitia, where astronaut Mark Watney lives and works after being stranded there alone following a dust storm on Sol 18 of the Ares III mission.",
"sourceURL": "https://en.wikipedia.org/wiki/The_Martian_(film)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/a/a7/PIA19913-MarsLandingSite-Ares3Mission-TheMartian-2015Film-20150517.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-28.57, 31.27]
}
},
{
"type": "Feature",
"properties": {
"text": "Valles Marineris",
"destination": [1962773.9022, -2712650.0794, -1111175.4271],
"orientation": [5.4566, -0.4563, 0.0],
"description": "Valles Marineris (Latin for Mariner Valleys, named after the Mariner 9 Mars orbiter of 1971-72 which discovered it) is a system of canyons that runs along the Martian surface east of the Tharsis region. At more than 4,000 km (2,500 mi) long, 200 km (120 mi) wide and up to 7 km (23,000 ft) deep, Valles Marineris is the largest canyon in the Solar System.",
"sourceURL": "https://en.wikipedia.org/wiki/Valles_Marineris",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/56/Mars_Valles_Marineris.jpeg/1200px-Mars_Valles_Marineris.jpeg"
},
"geometry": {
"type": "Point",
"coordinates": [-59.2, -13.9]
}
},
{
"type": "Feature",
"properties": {
"text": "\"Watney Triangle\"",
"destination": [3286701.2244228586, -654675.1932169931, 1071261.3465401786],
"orientation": [2.215118283105494, -0.4393789184089627, 6.283005739536628],
"description": "(Spoilers!) In the novel and movie The Martian, the \"Watney Triangle\" is a region of treacherous craters (Trouvelot, Becquerel, and Marth) that astronaut Mark Watney must traverse on his way to the Ares 4 landing site at Schiaparelli Crater.",
"sourceURL": "https://en.wikipedia.org/wiki/The_Martian_(film)",
"source": "Wikipedia",
"imageURL": "https://upload.wikimedia.org/wikipedia/commons/9/99/TrouvelotMartianCrater.jpg"
},
"geometry": {
"type": "Point",
"coordinates": [-7.6717428056727446, 15.243062604535314]
}
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -49,6 +49,15 @@ body {
float: right;
}
#banner {
text-align: center;
background: #daf6ff;
a {
color: blue;
}
}
#codeContainer {
width: 40%;
}
@ -186,25 +195,6 @@ a.linkButton:hover {
overflow: auto !important;
}
.feedback {
width: 250px;
.future-banner {
display: flex;
justify-content: center;
align-items: stretch;
text-align: center;
flex-direction: column;
h3 {
margin: 0 1em;
}
p {
margin: 1em 1.5em;
}
}
}
.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent {
background-position: 0 -103px;
}

View File

@ -39,9 +39,30 @@
#slider:hover {
cursor: ew-resize;
}
.split-label {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(42, 42, 42, 0.8);
padding: 8px;
border-radius: 4px;
z-index: 9999;
font-size: large;
font-weight: bold;
text-align: center;
}
.split-label.left {
left: 0;
}
.split-label.right {
right: 0;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="slider"></div>
<div class="split-label left">3D Tiles<br />Mesh</div>
<div class="split-label right">3D Tiles<br />OSM buildings</div>
</div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>

View File

@ -0,0 +1,145 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<!-- Use Chrome Frame in IE -->
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta
name="description"
content="View the same 3D Tiles power station dataset with Gaussian splatting (or Gaussian splats) rendering versus triangle-based mesh rendering."
/>
<meta name="cesium-sandcastle-labels" content="Showcases, 3D Tiles" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
type="text/javascript"
src="../../../Build/CesiumUnminified/Cesium.js"
nomodule
></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
#slider {
position: absolute;
left: 50%;
top: 0px;
background-color: #d3d3d3;
width: 5px;
height: 100%;
z-index: 9999;
}
#slider:hover {
cursor: ew-resize;
}
.split-label {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(42, 42, 42, 0.8);
padding: 8px;
border-radius: 4px;
z-index: 9999;
font-size: large;
font-weight: bold;
text-align: center;
}
.split-label.left {
left: 0;
}
.split-label.right {
right: 0;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="slider"></div>
<div class="split-label left">3D Tiles<br />Gaussian splats</div>
<div class="split-label right">3D Tiles<br />Mesh</div>
</div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const viewer = new Cesium.Viewer("cesiumContainer", {
terrain: Cesium.Terrain.fromWorldTerrain(),
});
try {
const left = await Cesium.Cesium3DTileset.fromIonAssetId(3667784);
viewer.scene.primitives.add(left);
left.splitDirection = Cesium.SplitDirection.LEFT;
viewer.zoomTo(
left,
new Cesium.HeadingPitchRange(
Cesium.Math.toRadians(-50),
Cesium.Math.toRadians(-20),
100.0,
),
);
const right = await Cesium.Cesium3DTileset.fromIonAssetId(3443919);
viewer.scene.primitives.add(right);
right.splitDirection = Cesium.SplitDirection.RIGHT;
} catch (error) {
console.log(`Error loading tileset: ${error}`);
}
// Sync the position of the slider with the split position
const slider = document.getElementById("slider");
viewer.scene.splitPosition = slider.offsetLeft / slider.parentElement.offsetWidth;
const handler = new Cesium.ScreenSpaceEventHandler(slider);
let moveActive = false;
function move(movement) {
if (!moveActive) {
return;
}
const relativeOffset = movement.endPosition.x;
const splitPosition =
(slider.offsetLeft + relativeOffset) / slider.parentElement.offsetWidth;
slider.style.left = `${100.0 * splitPosition}%`;
viewer.scene.splitPosition = splitPosition;
}
handler.setInputAction(function () {
moveActive = true;
}, Cesium.ScreenSpaceEventType.LEFT_DOWN);
handler.setInputAction(function () {
moveActive = true;
}, Cesium.ScreenSpaceEventType.PINCH_START);
handler.setInputAction(move, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
handler.setInputAction(move, Cesium.ScreenSpaceEventType.PINCH_MOVE);
handler.setInputAction(function () {
moveActive = false;
}, Cesium.ScreenSpaceEventType.LEFT_UP);
handler.setInputAction(function () {
moveActive = false;
}, Cesium.ScreenSpaceEventType.PINCH_END);
//Sandcastle_End
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
Sandcastle.finishedLoading();
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -10,7 +10,7 @@
/>
<meta
name="description"
content="View the same 3D Tiles power station dataset as a 3D Gaussian splatting tileset and a mesh tileset."
content="A 3D Gaussian splatting (or Gaussian splats) dataset rendered with 3D Tiles."
/>
<meta name="cesium-sandcastle-labels" content="Showcases, 3D Tiles" />
<title>Cesium Demo</title>
@ -25,91 +25,30 @@
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
#slider {
position: absolute;
left: 50%;
top: 0px;
background-color: #d3d3d3;
width: 5px;
height: 100%;
z-index: 9999;
}
#slider:hover {
cursor: ew-resize;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="slider"></div>
</div>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const viewer = new Cesium.Viewer("cesiumContainer", {
terrain: Cesium.Terrain.fromWorldTerrain(),
});
const viewer = new Cesium.Viewer("cesiumContainer");
try {
const left = await Cesium.Cesium3DTileset.fromIonAssetId(3443920);
viewer.scene.primitives.add(left);
left.splitDirection = Cesium.SplitDirection.LEFT;
const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(3667783);
viewer.scene.primitives.add(tileset);
viewer.zoomTo(
left,
tileset,
new Cesium.HeadingPitchRange(
Cesium.Math.toRadians(-50),
Cesium.Math.toRadians(-20),
100.0,
Cesium.Math.toRadians(0.0),
Cesium.Math.toRadians(-15.0),
200.0,
),
);
const right = await Cesium.Cesium3DTileset.fromIonAssetId(3443919);
viewer.scene.primitives.add(right);
right.splitDirection = Cesium.SplitDirection.RIGHT;
} catch (error) {
console.log(`Error loading tileset: ${error}`);
}
// Sync the position of the slider with the split position
const slider = document.getElementById("slider");
viewer.scene.splitPosition = slider.offsetLeft / slider.parentElement.offsetWidth;
const handler = new Cesium.ScreenSpaceEventHandler(slider);
let moveActive = false;
function move(movement) {
if (!moveActive) {
return;
}
const relativeOffset = movement.endPosition.x;
const splitPosition =
(slider.offsetLeft + relativeOffset) / slider.parentElement.offsetWidth;
slider.style.left = `${100.0 * splitPosition}%`;
viewer.scene.splitPosition = splitPosition;
}
handler.setInputAction(function () {
moveActive = true;
}, Cesium.ScreenSpaceEventType.LEFT_DOWN);
handler.setInputAction(function () {
moveActive = true;
}, Cesium.ScreenSpaceEventType.PINCH_START);
handler.setInputAction(move, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
handler.setInputAction(move, Cesium.ScreenSpaceEventType.PINCH_MOVE);
handler.setInputAction(function () {
moveActive = false;
}, Cesium.ScreenSpaceEventType.LEFT_UP);
handler.setInputAction(function () {
moveActive = false;
}, Cesium.ScreenSpaceEventType.PINCH_END);
//Sandcastle_End
};
if (typeof Cesium !== "undefined") {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,69 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta name="description" content="Global imagery data from Azure Maps." />
<meta name="cesium-sandcastle-labels" content="Beginner, Showcases" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const assetId = 3891169;
const azure = Cesium.ImageryLayer.fromProviderAsync(
Cesium.IonImageryProvider.fromAssetId(assetId),
);
const viewer = new Cesium.Viewer("cesiumContainer", {
animation: false,
baseLayer: false,
baseLayerPicker: false,
geocoder: Cesium.IonGeocodeProviderType.GOOGLE,
timeline: false,
sceneModePicker: false,
navigationHelpButton: false,
homeButton: false,
terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(1),
});
viewer.geocoder.viewModel.keepExpanded = true;
viewer.imageryLayers.add(azure);
viewer.scene.camera.flyTo({
duration: 0,
destination: new Cesium.Rectangle.fromDegrees(
//Philly
-75.280266,
39.867004,
-74.955763,
40.137992,
),
}); //Sandcastle_End
Sandcastle.finishedLoading();
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -38,10 +38,36 @@
#slider:hover {
cursor: ew-resize;
}
.split-label {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(42, 42, 42, 0.8);
padding: 8px;
border-radius: 4px;
z-index: 9999;
font-size: large;
font-weight: bold;
text-align: center;
}
.split-label.left {
left: 0;
}
.split-label.right {
right: 0;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="slider"></div>
<div class="split-label left">
Bing Maps (labeled)<br />+<br />Washington Imagery
</div>
<div class="split-label right">
Bing Maps (unlabeled)<br />+<br />Washington Imagery<br />+<br />Bing Maps (labels
only)
</div>
</div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
@ -105,6 +131,13 @@
// Add a button to toggle the display of the Bing Maps Labels Only layer
Sandcastle.addToggleButton("Show Bing Maps Labels Only", true, (checked) => {
bingMapsLabelsOnly.show = checked;
const rightLabel = document.querySelector(".split-label.right");
if (checked) {
rightLabel.innerHTML =
"Bing Maps (unlabeled)<br />+<br />Washington Imagery<br />+<br />Bing Maps (labels only)";
} else {
rightLabel.innerHTML = "Bing Maps (unlabeled)<br />+<br />Washington Imagery";
}
});
// The remaining code synchronizes the position of the slider with the split position

View File

@ -64,7 +64,7 @@
/**
* Gets a human-readable name for this instance.
* @memberof WebGLGlobeDataSource.prototype
* @type {String}
* @type {string}
*/
name: {
get: function () {
@ -93,7 +93,7 @@
/**
* Gets a value indicating if the data source is currently loading data.
* @memberof WebGLGlobeDataSource.prototype
* @type {Boolean}
* @type {boolean}
*/
isLoading: {
get: function () {
@ -150,7 +150,7 @@
* so that only one series is viewed at a time. Valid values are defined
* in the seriesNames property.
* @memberof WebGLGlobeDataSource.prototype
* @type {String}
* @type {string}
*/
seriesToDisplay: {
get: function () {
@ -174,7 +174,7 @@
/**
* Gets or sets the scale factor applied to the height of each line.
* @memberof WebGLGlobeDataSource.prototype
* @type {Number}
* @type {number}
*/
heightScale: {
get: function () {
@ -190,7 +190,7 @@
/**
* Gets whether or not this data source should be displayed.
* @memberof WebGLGlobeDataSource.prototype
* @type {Boolean}
* @type {boolean}
*/
show: {
get: function () {

View File

@ -21,11 +21,13 @@
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
#toolbar {
background: rgba(42, 42, 42, 0.8);
padding: 4px;
border-radius: 4px;
}
#toolbar input {
vertical-align: middle;
padding-top: 2px;
@ -41,19 +43,21 @@
//Sandcastle_Begin
const viewer = new Cesium.Viewer("cesiumContainer");
const colorShader = new Cesium.CustomShader({
lightingModel: Cesium.LightingModel.UNLIT,
fragmentShaderText: `
// Color tiles by distance to the camera
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material)
{
material.diffuse = vec3(0.0, 0.0, 1.0);
material.diffuse.g = -fsInput.attributes.positionEC.z / 1.0e4;
}`,
});
let tileset = null;
try {
const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(75343, {
customShader: new Cesium.CustomShader({
lightingModel: Cesium.LightingModel.UNLIT,
fragmentShaderText: `
// Color tiles by distance to the camera
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material)
{
material.diffuse = vec3(0.0, 0.0, 1.0);
material.diffuse.g = -fsInput.attributes.positionEC.z / 1.0e4;
}
`,
}),
tileset = await Cesium.Cesium3DTileset.fromIonAssetId(75343, {
customShader: colorShader,
});
viewer.scene.primitives.add(tileset);
} catch (error) {
@ -76,6 +80,52 @@
endTransform: Cesium.Matrix4.IDENTITY,
});
const options = [
{
text: "Color",
onselect: function () {
tileset.customShader = colorShader;
},
},
{
text: "Stripes",
onselect: function () {
tileset.customShader = new Cesium.CustomShader({
uniforms: {
// elapsed time in seconds for animation
u_time: {
type: Cesium.UniformType.FLOAT,
value: 0,
},
// user-defined texture
u_stripes: {
type: Cesium.UniformType.SAMPLER_2D,
value: new Cesium.TextureUniform({
url: "../../SampleData/cesium_stripes.png",
}),
},
},
// Apply the texture to the model, but move the texture coordinates
// a bit over time so it's animated.
fragmentShaderText: `
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material)
{
vec2 texCoord = vec2(fsInput.attributes.positionMC.y / 100., 0.) + 0.01 * vec2(czm_frameNumber, 0.0);
material.diffuse = texture(u_stripes, texCoord).rgb;
}`,
});
},
},
{
text: "None",
onselect: function () {
tileset.customShader = null;
},
},
];
Sandcastle.addToolbarMenu(options);
//Sandcastle_End
};
if (typeof Cesium !== "undefined") {

View File

@ -40,12 +40,10 @@
});
viewer.scene.skyAtmosphere.show = true;
const iTwinId = "535a24a3-9b29-4e23-bb5d-9cedb524c743";
const realityMeshId = "85897090-3bcc-470b-bec7-20bb639cc1b9";
const tileset = await Cesium.ITwinData.createTilesetForRealityDataId(
iTwinId,
realityMeshId,
);
const tileset = await Cesium.ITwinData.createTilesetForRealityDataId({
iTwinId: "535a24a3-9b29-4e23-bb5d-9cedb524c743",
realityDataId: "85897090-3bcc-470b-bec7-20bb639cc1b9",
});
viewer.scene.primitives.add(tileset);
tileset.maximumScreenSpaceError = 2;

View File

@ -0,0 +1,139 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta name="description" content="Apply materials to the globe." />
<meta name="cesium-sandcastle-labels" content="Showcases" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
type="text/javascript"
src="../../../Build/CesiumUnminified/Cesium.js"
nomodule
></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar">
<div id="zoomButtons"></div>
</div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const terrainProvider = await Cesium.Cesium3DTilesTerrainProvider.fromIonAssetId(
3923568,
{
requestVertexNormals: true, // Needed for hillshade lighting
requestWaterMask: true, // Needed to distinguish land from water
},
);
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: terrainProvider,
scene3DOnly: true,
sceneModePicker: false,
navigationHelpButton: false,
});
// Create a globe material for shading elevation only on land
const customElevationMaterial = new Cesium.Material({
fabric: {
type: "ElevationLand",
materials: {
waterMaskMaterial: {
type: "WaterMask",
},
elevationRampMaterial: {
type: "ElevationRamp",
},
},
components: {
diffuse: "elevationRampMaterial.diffuse",
alpha: "1.0 - waterMaskMaterial.alpha", // We'll need the inverse of the watermask to shade land
},
},
translucent: false,
});
const minHeight = -414.0; // approximate dead sea elevation
const maxHeight = 8777.0; // approximate everest elevation
const elevationRamp = [0.0, 0.045, 0.45, 0.5, 0.55, 1.0];
function getColorRamp() {
const ramp = document.createElement("canvas");
ramp.width = 100;
ramp.height = 1;
const ctx = ramp.getContext("2d");
const values = elevationRamp;
const grd = ctx.createLinearGradient(0, 0, 100, 0);
// See https://gis.stackexchange.com/questions/25099/choosing-colour-ramp-to-use-for-elevation
grd.addColorStop(values[0], "#344f31");
grd.addColorStop(values[1], "#5b8742");
grd.addColorStop(values[2], "#e6daa5");
grd.addColorStop(values[3], "#fdc771");
grd.addColorStop(values[4], "#b99d89");
grd.addColorStop(values[5], "#f0f0f0");
ctx.fillStyle = grd;
ctx.fillRect(0, 0, 100, 1);
return ramp;
}
const globe = viewer.scene.globe;
const material = customElevationMaterial;
const shadingUniforms = material.materials.elevationRampMaterial.uniforms;
globe.showWaterEffect = false;
globe.enableLighting = true;
shadingUniforms.minimumHeight = minHeight;
shadingUniforms.maximumHeight = maxHeight;
shadingUniforms.image = getColorRamp();
globe.material = material;
// Light the scene with a hillshade effect similar to https://pro.arcgis.com/en/pro-app/latest/tool-reference/3d-analyst/how-hillshade-works.htm
const scene = viewer.scene;
scene.light = new Cesium.DirectionalLight({
direction: new Cesium.Cartesian3(1, 0, 0), // Updated every frame
});
// Update the light position base on the camera
const scratchNormal = new Cesium.Cartesian3();
scene.preRender.addEventListener(function (scene, time) {
const surfaceNormal = Cesium.Ellipsoid.WGS84.geodeticSurfaceNormal(
scene.camera.positionWC,
scratchNormal,
);
const negativeNormal = Cesium.Cartesian3.negate(surfaceNormal, surfaceNormal);
scene.light.direction = Cesium.Cartesian3.normalize(
Cesium.Cartesian3.add(negativeNormal, scene.camera.rightWC, surfaceNormal),
scene.light.direction,
);
});
//Sandcastle_End
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
Sandcastle.finishedLoading();
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,94 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta
name="description"
content="Imagery tiles from Google Maps with additional parameters to create overlays and custom styles."
/>
<meta name="cesium-sandcastle-labels" content="Beginner, Showcases" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const assetId = 3830184;
const base = Cesium.ImageryLayer.fromProviderAsync(
Cesium.Google2DImageryProvider.fromIonAssetId({
assetId,
mapType: "satellite",
}),
);
const overlay = Cesium.ImageryLayer.fromProviderAsync(
Cesium.Google2DImageryProvider.fromIonAssetId({
assetId,
overlayLayerType: "layerRoadmap",
styles: [
{
stylers: [{ hue: "#00ffe6" }, { saturation: -20 }],
},
{
featureType: "road",
elementType: "geometry",
stylers: [{ lightness: 100 }, { visibility: "simplified" }],
},
],
}),
);
const viewer = new Cesium.Viewer("cesiumContainer", {
animation: false,
baseLayer: false,
baseLayerPicker: false,
geocoder: Cesium.IonGeocodeProviderType.GOOGLE,
timeline: false,
sceneModePicker: false,
navigationHelpButton: false,
homeButton: false,
terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(1),
});
viewer.geocoder.viewModel.keepExpanded = true;
viewer.imageryLayers.add(base);
viewer.imageryLayers.add(overlay);
viewer.scene.camera.flyTo({
duration: 0,
destination: new Cesium.Rectangle.fromDegrees(
//Philly
-75.280266,
39.867004,
-74.955763,
40.137992,
),
});
//Sandcastle_End
Sandcastle.finishedLoading();
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,69 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta name="description" content="Global imagery data from Google Maps." />
<meta name="cesium-sandcastle-labels" content="Beginner, Showcases" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const assetId = 3830184;
const google = Cesium.ImageryLayer.fromProviderAsync(
Cesium.IonImageryProvider.fromAssetId(assetId),
);
const viewer = new Cesium.Viewer("cesiumContainer", {
animation: false,
baseLayer: false,
baseLayerPicker: false,
geocoder: Cesium.IonGeocodeProviderType.GOOGLE,
timeline: false,
sceneModePicker: false,
navigationHelpButton: false,
homeButton: false,
terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(1),
});
viewer.geocoder.viewModel.keepExpanded = true;
viewer.imageryLayers.add(google);
viewer.scene.camera.flyTo({
duration: 0,
destination: new Cesium.Rectangle.fromDegrees(
//Philly
-75.280266,
39.867004,
-74.955763,
40.137992,
),
}); //Sandcastle_End
Sandcastle.finishedLoading();
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,97 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta name="description" content="Global imagery assets available from Cesium ion." />
<meta name="cesium-sandcastle-labels" content="Beginner, Showcases" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const viewer = new Cesium.Viewer("cesiumContainer", {
animation: false,
baseLayer: false,
baseLayerPicker: false,
geocoder: Cesium.IonGeocodeProviderType.GOOGLE,
timeline: false,
sceneModePicker: false,
navigationHelpButton: false,
homeButton: false,
terrainProvider: await Cesium.CesiumTerrainProvider.fromIonAssetId(1),
});
viewer.geocoder.viewModel.keepExpanded = true;
const menuOptions = [];
const dropdownOptions = [
{ label: "Google Maps 2D Contour", assetId: 3830186 },
{ label: "Google Maps 2D Labels Only", assetId: 3830185 },
{ label: "Google Maps 2D Roadmap", assetId: 3830184 },
{ label: "Google Maps 2D Satellite", assetId: 3830182 },
{ label: "Google Maps 2D Satellite with Labels", assetId: 3830183 },
{ label: "Azure Maps Aerial", assetId: 3891168 },
{ label: "Azure Maps Roads", assetId: 3891169 },
{ label: "Azure Maps Labels Only", assetId: 3891170 },
{ label: "Sentinel-2", assetId: 3954 },
];
function showLayer(assetId) {
viewer.imageryLayers.removeAll(true);
const layer = Cesium.ImageryLayer.fromProviderAsync(
Cesium.IonImageryProvider.fromAssetId(assetId),
);
viewer.imageryLayers.add(layer);
}
dropdownOptions.forEach((opt) => {
const option = {
text: opt.label,
onselect: function () {
showLayer(opt.assetId);
},
};
menuOptions.push(option);
});
Sandcastle.addToolbarMenu(menuOptions);
showLayer(3830186);
viewer.scene.camera.flyTo({
duration: 0,
destination: new Cesium.Rectangle.fromDegrees(
//Philly
-75.280266,
39.867004,
-74.955763,
40.137992,
),
}); //Sandcastle_End
Sandcastle.finishedLoading();
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -38,10 +38,31 @@
#slider:hover {
cursor: ew-resize;
}
.split-label {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(42, 42, 42, 0.8);
padding: 8px;
border-radius: 4px;
z-index: 9999;
font-size: large;
font-weight: bold;
text-align: center;
}
.split-label.left {
left: 0;
}
.split-label.right {
right: 0;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="slider"></div>
<div class="split-label left">Earth at Night</div>
<div class="split-label right">Arc GIS World<br />Street Map</div>
</div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>

View File

@ -38,10 +38,31 @@
#slider:hover {
cursor: ew-resize;
}
.split-label {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(42, 42, 42, 0.8);
padding: 8px;
border-radius: 4px;
z-index: 9999;
font-size: large;
font-weight: bold;
text-align: center;
}
.split-label.left {
left: 0;
}
.split-label.right {
right: 0;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="slider"></div>
<div class="split-label left">Magnification<br />Linear</div>
<div class="split-label right">Magnification<br />Nearest</div>
</div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>

View File

@ -30,9 +30,9 @@
"use strict";
//Sandcastle_Begin
const viewer = new Cesium.Viewer("cesiumContainer", {
baseLayer: Cesium.ImageryLayer.fromWorldImagery({
style: Cesium.IonWorldImageryStyle.AERIAL_WITH_LABELS,
}),
baseLayer: Cesium.ImageryLayer.fromProviderAsync(
Cesium.IonImageryProvider.fromAssetId(3830183),
),
baseLayerPicker: false,
});
const layers = viewer.scene.imageryLayers;

View File

@ -0,0 +1,555 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta
name="description"
content="Mars terrain visualized using 3D Tiles, tiled and hosted by Cesium ion, and shown with points of interest and additional data layers."
/>
<meta name="cesium-sandcastle-labels" content="Showcases, ion Assets, 3D Tiles" />
<title>Cesium Mars</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script
type="text/javascript"
src="../../../Build/CesiumUnminified/Cesium.js"
nomodule
></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
#toolbar {
background: rgba(42, 42, 42, 0.8);
padding: 4px;
border-radius: 4px;
}
#toolbar input {
vertical-align: middle;
padding-top: 2px;
padding-bottom: 2px;
}
#toolbar .header {
font-weight: bold;
}
/* Styles for indicating to the user to press the play button */
.cesium-animation-rectButton.highlight-animation .cesium-animation-buttonGlow {
display: block;
fill: #fff;
/* keep the built-in blur and add extra glow layers */
filter: url(#animation_blurred) drop-shadow(0 0 3px #aef)
drop-shadow(0 0 3px #fff);
animation: highlight-animation-button 1.2s ease-in-out infinite;
}
.cesium-animation-rectButton.highlight-animation .cesium-animation-buttonMain {
stroke: #fff;
stroke-width: 3;
}
.cesium-animation-rectButton.highlight-animation .cesium-animation-buttonPath {
fill: #fff;
}
.cesium-animation-shuttleRingG.highlight-animation
.cesium-animation-shuttleRingBack {
stroke: #fff;
stroke-width: 6;
filter: drop-shadow(0 0 3px #aef) drop-shadow(0 0 3px rgba(174, 238, 255, 0.95));
animation: highlight-animation-ring 1.2s ease-in-out infinite;
}
.cesium-animation-shuttleRingG.highlight-animation
.cesium-animation-shuttleRingSwoosh
line {
stroke: #fff;
stroke-opacity: 0.8;
}
@keyframes highlight-animation-button {
0% {
opacity: 0.3;
stroke-width: 0;
}
50% {
opacity: 1;
stroke-width: 4;
}
100% {
opacity: 0.3;
stroke-width: 0;
}
}
@keyframes highlight-animation-ring {
0% {
stroke-opacity: 0.25;
stroke: #333;
}
50% {
stroke-opacity: 1;
stroke: #fff;
}
100% {
stroke-opacity: 0.25;
stroke: #333;
}
}
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<template id="roverHelpRowTemplate1">
<tr>
<td>
<img
data-src="Widgets/Images/NavigationHelp/MouseLeft.svg"
style="height: 48px; width: 48px"
alt="Left mouse button"
/>
</td>
<td>
<div class="cesium-navigation-help-pan">Track Rover</div>
<div class="cesium-navigation-help-detail">
Double click on a rover to track it
</div>
</td>
</tr>
</template>
<template id="roverHelpRowTemplate2">
<tr>
<td>
<svg width="48" height="48" viewBox="0 0 32 32" aria-label="Play" role="img">
<path
transform="translate(32,32) scale(0.85) translate(-32,-32)"
d="M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"
fill="#ffffff"
/>
</svg>
</td>
<td>
<div class="cesium-navigation-help-zoom">Play Animation</div>
<div class="cesium-navigation-help-detail">
Press play on the timeline to watch the rover move
</div>
</td>
</tr>
</template>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
Cesium.Ellipsoid.default = Cesium.Ellipsoid.MARS;
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: false,
baseLayer: false,
baseLayerPicker: false,
geocoder: false,
shadows: false,
globe: new Cesium.Globe(Cesium.Ellipsoid.MARS),
skyBox: Cesium.SkyBox.createEarthSkyBox(),
skyAtmosphere: new Cesium.SkyAtmosphere(Cesium.Ellipsoid.MARS),
});
viewer.scene.globe.show = false;
const scene = viewer.scene;
const clock = viewer.clock;
const navHelp = viewer.navigationHelpButton;
// Adjust the default atmosphere coefficients to be more Mars-like
scene.skyAtmosphere.atmosphereMieCoefficient = new Cesium.Cartesian3(
9.0e-5,
2.0e-5,
1.0e-5,
);
scene.skyAtmosphere.atmosphereRayleighCoefficient = new Cesium.Cartesian3(
9.0e-6,
2.0e-6,
1.0e-6,
);
scene.skyAtmosphere.atmosphereRayleighScaleHeight = 9000;
scene.skyAtmosphere.atmosphereMieScaleHeight = 2700.0;
scene.skyAtmosphere.saturationShift = -0.1;
scene.skyAtmosphere.perFragmentAtmosphere = true;
// Adjust postprocess settings for brighter and richer features
const bloom = viewer.scene.postProcessStages.bloom;
bloom.enabled = true;
bloom.uniforms.brightness = -0.5;
bloom.uniforms.stepSize = 1.0;
bloom.uniforms.sigma = 3.0;
bloom.uniforms.delta = 1.5;
scene.highDynamicRange = true;
viewer.scene.postProcessStages.exposure = 1.5;
// Load Mars tileset
try {
const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(3644333, {
enableCollision: true,
});
viewer.scene.primitives.add(tileset);
} catch (error) {
console.log(error);
}
// Load the rovers and path from The Martian (by Andy Weir), from CZML data source.
let curiosity, perseverance, ingenuity, theMartianJourney;
try {
const dataSource = await Cesium.CzmlDataSource.load(
"../../SampleData/Mars.czml",
);
viewer.dataSources.add(dataSource);
const roverMenuEntries = [
{
text: "Fly to rover...",
onselect: () => {},
},
];
const onSelectRover = (rover) => {
reset();
const roverAnimStartIso = rover.properties.animationStartTime.getValue(
Cesium.JulianDate.now(),
);
clock.multiplier = 604800;
clock.currentTime = new Cesium.JulianDate.fromIso8601(roverAnimStartIso);
viewer.timeline.zoomTo(rover.availability.start, rover.availability.stop);
const boundingSphere = new Cesium.BoundingSphere(
rover.position.getValue(clock.currentTime),
5000.0,
);
scene.camera.flyToBoundingSphere(boundingSphere, {
offset: new Cesium.HeadingPitchRoll(4.9791, -0.5294, 0.0),
easingFunction: Cesium.EasingFunction.CUBIC_IN_OUT,
maximumHeight: 5e6,
pitchAdjustHeight: 2.5e6,
duration: 3.0,
complete: function () {
highlightAnimationViewModel(); // Draw attention to the play button
navHelp.viewModel.showInstructions = true;
},
});
};
const setupRover = function (entityId, startSol, outRover) {
outRover = dataSource.entities.getById(entityId);
const julianDateToSol = createJulianDateToSolConverter(
outRover.availability.start,
startSol,
);
outRover.label.text = new Cesium.CallbackProperty(function (time) {
return julianDateToSol(time);
}, false);
const roverPath = dataSource.entities.getById(`${entityId}Path`);
roverPath.polyline.width = createWidthCallbackProperty(
new Cesium.NearFarScalar(0.0, 15.0, 1.0e5, 0.0),
);
roverMenuEntries.push({
text: entityId,
onselect: () => onSelectRover(outRover),
});
return outRover;
};
curiosity = setupRover("Curiosity", 3, curiosity);
perseverance = setupRover("Perseverance", 13, perseverance);
ingenuity = dataSource.entities.getById("Ingenuity"); // Only for viewing - no data for flight paths
theMartianJourney = dataSource.entities.getById("TheMartianJourney");
theMartianJourney.polyline.width = createWidthCallbackProperty(
new Cesium.NearFarScalar(0.0, 10.0, 1.0e7, 0.0),
);
theMartianJourney.rectangle.material = new Cesium.ImageMaterialProperty({
image: createCanvasAsTexture('Mark Watney\'s Journey in "The Martian"'),
transparent: true,
});
roverMenuEntries.push({
text: '"The Martian" Journey',
onselect: () => {
reset();
viewer.zoomTo(theMartianJourney);
},
});
Sandcastle.addToolbarMenu(roverMenuEntries);
} catch (error) {
console.log(`Error loading CZML: ${error}`);
}
// For changing the width of polylines based on distance from the camera
function createWidthCallbackProperty(nearFarScalar) {
return new Cesium.CallbackProperty(function () {
const distance = viewer.camera.positionCartographic.height;
let t =
(distance - nearFarScalar.near) / (nearFarScalar.far - nearFarScalar.near);
t = Cesium.Math.clamp(t, 0.0, 1.0);
return Cesium.Math.lerp(nearFarScalar.nearValue, nearFarScalar.farValue, t);
}, false);
}
// Converts a Julian date to a Mars Sol number, given a start date / sol number
function createJulianDateToSolConverter(startJulianDate, startSol) {
return function (julianDate) {
const secondsPerSol = 24 * 60 * 60 + 39 * 60 + 35;
const differenceInSeconds = Cesium.JulianDate.secondsDifference(
julianDate,
startJulianDate,
);
const solNumber = Math.floor(differenceInSeconds / secondsPerSol) + startSol;
return `Sol ${solNumber}`;
};
}
// Load points of interest from GeoJSON data source
try {
const dataSource = await Cesium.GeoJsonDataSource.load(
"../../SampleData/MarsPointsOfInterest.geojson",
);
viewer.dataSources.add(dataSource);
const onSelectLandmark = (landmark) => {
reset();
scene.camera.flyTo(landmark);
};
const landmarkMenuEntries = [
{
text: "Fly to landmark...",
onselect: () => {},
},
];
const entities = dataSource.entities.values;
entities.forEach((entity) => {
entity.label = new Cesium.LabelGraphics({
text: entity.properties.text,
font: "18pt Verdana",
outlineColor: Cesium.Color.DARKSLATEGREY,
outlineWidth: 2,
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
pixelOffset: new Cesium.Cartesian2(0, -22),
scaleByDistance: new Cesium.NearFarScalar(1.5e2, 1.0, 1.5e7, 0.5),
translucencyByDistance: new Cesium.NearFarScalar(2.5e7, 1.0, 4.0e7, 0.0),
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
disableDepthTestDistance: new Cesium.CallbackProperty(() => {
return Cesium.Cartesian3.magnitude(scene.camera.positionWC);
}, false),
});
entity.point = new Cesium.PointGraphics({
pixelSize: 10,
color: Cesium.Color.fromBytes(243, 242, 99),
outlineColor: Cesium.Color.fromBytes(219, 218, 111),
outlineWidth: 2,
scaleByDistance: new Cesium.NearFarScalar(1.5e3, 1.0, 4.0e7, 0.1),
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
disableDepthTestDistance: new Cesium.CallbackProperty(() => {
return Cesium.Cartesian3.magnitude(scene.camera.positionWC);
}, false),
});
entity.name = entity.properties.text.getValue();
entity.description = createPickedFeatureDescription(entity);
const flyToDestination = new Cesium.Cartesian3.fromArray(
entity.properties.destination.getValue(),
);
const orientationArray = entity.properties.orientation.getValue();
const flyToOrientation = new Cesium.HeadingPitchRoll(
orientationArray[0],
orientationArray[1],
orientationArray[2],
);
landmarkMenuEntries.push({
text: entity.properties.text.getValue(),
onselect: () =>
onSelectLandmark({
destination: flyToDestination,
orientation: flyToOrientation,
easingFunction: Cesium.EasingFunction.CUBIC_IN_OUT,
maximumHeight: 5e6,
pitchAdjustHeight: 2.5e6,
duration: 3.0,
complete: function () {
viewer.selectedEntity = entity;
viewer.infoBox.viewModel.showInfo = true;
},
}),
});
});
Sandcastle.addToolbarMenu(landmarkMenuEntries);
} catch (error) {
console.log(`Error loading GeoJSON: ${error}`);
}
// Spin Mars on first load but disable the spinning upon any input
const rotationSpeed = Cesium.Math.toRadians(0.1);
const removeRotation = viewer.scene.postRender.addEventListener(
function (scene, time) {
viewer.scene.camera.rotateRight(rotationSpeed);
},
);
const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(
() => removeRotation(),
Cesium.ScreenSpaceEventType.LEFT_DOWN,
);
handler.setInputAction(
() => removeRotation(),
Cesium.ScreenSpaceEventType.RIGHT_DOWN,
);
handler.setInputAction(
() => removeRotation(),
Cesium.ScreenSpaceEventType.MIDDLE_DOWN,
);
handler.setInputAction(() => removeRotation(), Cesium.ScreenSpaceEventType.WHEEL);
// For drawing attention to the play button in the animation view model
function highlightAnimationViewModel() {
if (clock.shouldAnimate) {
// Animation already playing
return;
}
const playPath =
viewer.animation.container.querySelector("#animation_pathPlay");
const playButton = playPath.closest("g.cesium-animation-rectButton");
const ringG = viewer.animation.container.querySelector(
".cesium-animation-shuttleRingG",
);
playButton.classList.add("highlight-animation");
ringG.classList.add("highlight-animation");
playButton.addEventListener("click", removeHighlight, { once: true });
setTimeout(removeHighlight, 30000); // Remove after 30 seconds if not clicked
}
function removeHighlight() {
const playPath =
viewer.animation.container.querySelector("#animation_pathPlay");
const playButton = playPath.closest("g.cesium-animation-rectButton");
const ringG = viewer.animation.container.querySelector(
".cesium-animation-shuttleRingG",
);
playButton.classList.remove("highlight-animation");
ringG.classList.remove("highlight-animation");
}
function reset() {
clock.multiplier = 1;
viewer.selectedEntity = undefined;
viewer.trackedEntity = undefined;
viewer.timeline.zoomTo(clock.startTime, clock.stopTime);
removeRotation();
removeHighlight();
}
// Add a listener for when the home button is clicked.
viewer.homeButton.viewModel.command.beforeExecute.addEventListener(
function (commandInfo) {
reset();
},
);
// When animating, if the multiplier is very high (which is necessary to see rover movement),
// model lighting flickers distractingly, so disable it
const entitiesToDisableLightingFor = [curiosity, perseverance, ingenuity];
Cesium.knockout
.getObservable(viewer.clockViewModel, "shouldAnimate")
.subscribe(function (shouldAnimate) {
if (shouldAnimate && clock.multiplier >= 100000) {
entitiesToDisableLightingFor.forEach(function (entity) {
entity.model.lightColor = new Cesium.Color(0, 0, 0);
});
} else {
entitiesToDisableLightingFor.forEach(function (entity) {
entity.model.lightColor = new Cesium.Color(1, 1, 1);
});
}
});
// To create a rectangle with text that conforms to the terrain, we can create a canvas
// with text and use it as a texture on a rectangle entity.
function createCanvasAsTexture(text) {
const canvas = document.createElement("canvas");
canvas.width = 1024;
canvas.height = 256;
const ctx = canvas.getContext("2d");
// Background
ctx.fillStyle = "rgba(0, 0, 0, 0)";
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Text
ctx.font = "36px sans-serif";
ctx.textAlign = "center";
ctx.textBaseline = "middle";
ctx.strokeStyle = "rgba(0,0,0,0.1)";
ctx.lineWidth = 1;
ctx.fillStyle = "#ffffff";
ctx.strokeText(text, canvas.width / 2, canvas.height / 2);
ctx.fillText(text, canvas.width / 2, canvas.height / 2);
return canvas;
}
// Create the HTML that will be put into the info box that shows
// information about the currently selected feature
function createPickedFeatureDescription(entity) {
return `<img\
width="50%"\
style="float:left; margin: 0 1em 1em 0;"\
src=${entity.properties.imageURL}>\
<p>${entity.properties.description}</p>\
<p>\
Source: \
<a style="color: WHITE"\
target="_blank"\
href="${entity.properties.sourceURL}">${entity.properties.source}</a>\
</p>`;
}
// Inject instructions for interacting with the rovers into the navigation help menu
function addRoverInstructionsToNavMenu() {
const div = document.querySelector(
".cesium-click-navigation-help.cesium-navigation-help-instructions",
);
const table = div.querySelector("table");
const instructions1 = document.getElementById("roverHelpRowTemplate1");
const instructions1Clone = instructions1.content.cloneNode(true);
const img = instructions1Clone.querySelector("img[data-src]");
img.src = Cesium.buildModuleUrl(img.dataset.src);
table.tBodies[0].appendChild(instructions1Clone);
const instructions2 = document.getElementById("roverHelpRowTemplate2");
const instructions2Clone = instructions2.content.cloneNode(true);
table.tBodies[0].appendChild(instructions2Clone);
}
addRoverInstructionsToNavMenu();
//Sandcastle_End
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
Sandcastle.finishedLoading();
}
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -11,7 +11,7 @@
name="description"
content="Rendering Volume Cloud with Texture3D and Custom GLSL. Transplanted from Three.js"
/>
<meta name="cesium-sandcastle-labels" content="Development" />
<meta name="cesium-sandcastle-labels" content="Tutorials,Showcases" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script

View File

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View File

@ -80,15 +80,17 @@
this.names = ["color"];
this.types = [Cesium.MetadataType.VEC4];
this.componentTypes = [Cesium.MetadataComponentType.FLOAT32];
this._levelCount = 3;
this.availableLevels = 3;
this.globalTransform = globalTransform;
}
ProceduralMultiTileVoxelProvider.prototype.requestData = function (options) {
const { tileLevel, tileX, tileY, tileZ } = options;
if (tileLevel >= this._levelCount) {
return Promise.reject(`No tiles available beyond level ${this._levelCount}`);
if (tileLevel >= this.availableLevels) {
return Promise.reject(
`No tiles available beyond level ${this.availableLevels - 1}`,
);
}
const dimensions = this.dimensions;
@ -174,6 +176,7 @@
customShader: customShader,
});
voxelPrimitive.nearestSampling = true;
voxelPrimitive.stepSize = 0.7;
viewer.scene.primitives.add(voxelPrimitive);
camera.flyToBoundingSphere(voxelPrimitive.boundingSphere, {

View File

@ -123,14 +123,14 @@
this.componentTypes = [Cesium.MetadataComponentType.FLOAT32];
this.globalTransform = globalTransform;
this._levelCount = 2;
this._allVoxelData = new Array(this._levelCount);
this.availableLevels = 2;
this._allVoxelData = new Array(this.availableLevels);
const allVoxelData = this._allVoxelData;
const channelCount = Cesium.MetadataType.getComponentCount(this.types[0]);
const { dimensions } = this;
for (let level = 0; level < this._levelCount; level++) {
for (let level = 0; level < this.availableLevels; level++) {
const dimAtLevel = Math.pow(2, level);
const voxelCountX = dimensions.x * dimAtLevel;
const voxelCountY = dimensions.y * dimAtLevel;
@ -158,9 +158,9 @@
ProceduralMultiTileVoxelProvider.prototype.requestData = function (options) {
const { tileLevel, tileX, tileY, tileZ } = options;
if (tileLevel >= this._levelCount) {
if (tileLevel >= this.availableLevels) {
return Promise.reject(
`No tiles available beyond level ${this._levelCount - 1}`,
`No tiles available beyond level ${this.availableLevels - 1}`,
);
}

View File

@ -0,0 +1,123 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta name="description" content="Multiple views synced across time and space." />
<meta name="cesium-sandcastle-labels" content="Beginner, Showcases,New in 1.129" />
<title>Cesium Demo</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
#cesiumContainer {
display: flex;
width: 100%;
height: 100%;
}
#view3D {
display: inline-block;
width: 100%;
}
#view2D {
display: inline-block;
width: 100%;
}
</style>
<div id="cesiumContainer" class="fullSize">
<div id="view3D"></div>
<div id="view2D"></div>
</div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar"></div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const contextOptions = new Cesium.SharedContext();
// const contextOptions = undefined;
// Uncomment the line above and comment out the one preceding it to illustrate how primitives cannot be shared between scenes by default.
const options = {
contextOptions,
fullscreenButton: false,
sceneModePicker: false,
};
const view1 = new Cesium.Viewer("view3D", options);
const view2 = new Cesium.Viewer("view2D", options);
// Add the same entity to both viewers. Each viewer will create separate WebGL resources to draw it.
const greenCylinder = {
name: "Green cylinder with black outline",
position: Cesium.Cartesian3.fromDegrees(-100.0, 40.0, 200000.0),
cylinder: {
length: 400000.0,
topRadius: 200000.0,
bottomRadius: 200000.0,
material: Cesium.Color.GREEN.withAlpha(0.5),
outline: true,
outlineColor: Cesium.Color.BLACK,
},
};
view1.entities.add(greenCylinder);
view2.entities.add(greenCylinder);
// Add the same cylinder primitive to both viewers. Each will use the same WebGL resources to draw it.
const cylinder = new Cesium.CylinderGeometry({
length: 400000.0,
topRadius: 200000.0,
bottomRadius: 200000.0,
});
const geometry = Cesium.CylinderGeometry.createGeometry(cylinder);
const primitive = new Cesium.Primitive({
geometryInstances: new Cesium.GeometryInstance({
geometry,
modelMatrix: Cesium.Matrix4.multiplyByTranslation(
Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(-95.59777, 40.03883),
),
new Cesium.Cartesian3(0.0, 0.0, 500000.0),
new Cesium.Matrix4(),
),
id: "red cylinder",
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.RED),
},
}),
appearance: new Cesium.PerInstanceColorAppearance(),
asynchronous: false,
});
view1.scene.primitives.add(primitive);
view2.scene.primitives.add(primitive);
// Add the same tileset to both viewers. Each viewer will use the same WebGL resources to draw it.
const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(2464651);
for (const view of [view1, view2]) {
view.scene.primitives.add(tileset);
view.zoomTo(
tileset,
new Cesium.HeadingPitchRange(0.5, -0.2, tileset.boundingSphere.radius * 4.0),
);
}
//Sandcastle_End
Sandcastle.finishedLoading();
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
}
</script>
</body>
</html>

View File

@ -110,12 +110,12 @@
}
// Create tilesets using the iModel ids
const surroundingArea = await Cesium.ITwinData.createTilesetFromIModelId(
"f856f57d-3d28-4265-9c4f-5e60c0662c15",
);
const station = await Cesium.ITwinData.createTilesetFromIModelId(
"669dde67-eb69-4e0b-bcf2-f722eee94746",
);
const surroundingArea = await Cesium.ITwinData.createTilesetFromIModelId({
iModelId: "f856f57d-3d28-4265-9c4f-5e60c0662c15",
});
const station = await Cesium.ITwinData.createTilesetFromIModelId({
iModelId: "669dde67-eb69-4e0b-bcf2-f722eee94746",
});
// Change how highlighting with the feature selection changes the color
surroundingArea.colorBlendMode = Cesium.Cesium3DTileColorBlendMode.REPLACE;
station.colorBlendMode = Cesium.Cesium3DTileColorBlendMode.REPLACE;
@ -124,12 +124,10 @@
scene.primitives.add(station);
// Create tileset of the reality data mesh
const iTwinId = "535a24a3-9b29-4e23-bb5d-9cedb524c743";
const realityMeshId = "85897090-3bcc-470b-bec7-20bb639cc1b9";
const realityMesh = await Cesium.ITwinData.createTilesetForRealityDataId(
iTwinId,
realityMeshId,
);
const realityMesh = await Cesium.ITwinData.createTilesetForRealityDataId({
iTwinId: "535a24a3-9b29-4e23-bb5d-9cedb524c743",
realityDataId: "85897090-3bcc-470b-bec7-20bb639cc1b9",
});
scene.primitives.add(realityMesh);
Sandcastle.addToolbarButton(

View File

@ -66,18 +66,18 @@
viewer.scene.camera.flyTo(birdsEyeView);
// Load feature service geojson files
const points = await Cesium.ITwinData.loadGeospatialFeatures(
iTwinId,
"2380dc1b-1dac-4709-aa5c-f6cb38c4e9f5",
);
const lines = await Cesium.ITwinData.loadGeospatialFeatures(
iTwinId,
"613d2310-4d01-43b7-bc92-873a2ca4a4a0",
);
const areas = await Cesium.ITwinData.loadGeospatialFeatures(
iTwinId,
"93e7ef51-5210-49f2-92a3-c7f6685e102f",
);
const points = await Cesium.ITwinData.loadGeospatialFeatures({
iTwinId: iTwinId,
collectionId: "2380dc1b-1dac-4709-aa5c-f6cb38c4e9f5",
});
const lines = await Cesium.ITwinData.loadGeospatialFeatures({
iTwinId: iTwinId,
collectionId: "613d2310-4d01-43b7-bc92-873a2ca4a4a0",
});
const areas = await Cesium.ITwinData.loadGeospatialFeatures({
iTwinId: iTwinId,
collectionId: "93e7ef51-5210-49f2-92a3-c7f6685e102f",
});
// Add some styling to the lines and points to differentiate types
const pinBuilder = new Cesium.PinBuilder();
@ -118,17 +118,15 @@
viewer.dataSources.add(areas);
// Create tileset of the reality data mesh and pointcloud
const realityMeshId = "62e4432d-621d-489a-87ff-1fc56a2b5369";
const realityMesh = await Cesium.ITwinData.createTilesetForRealityDataId(
iTwinId,
realityMeshId,
);
const realityMesh = await Cesium.ITwinData.createTilesetForRealityDataId({
iTwinId: iTwinId,
realityDataId: "62e4432d-621d-489a-87ff-1fc56a2b5369",
});
viewer.scene.primitives.add(realityMesh);
const pointcloudId = "ebf2ee74-f0de-4cd6-a311-19a169c55fdc";
const pointcloud = await Cesium.ITwinData.createTilesetForRealityDataId(
iTwinId,
pointcloudId,
);
const pointcloud = await Cesium.ITwinData.createTilesetForRealityDataId({
iTwinId: iTwinId,
realityDataId: "ebf2ee74-f0de-4cd6-a311-19a169c55fdc",
});
// increase the size of the pointcloud points and turn on attenuation to
// make them more visible in the viewer
pointcloud.maximumScreenSpaceError = 1;

View File

@ -76,6 +76,15 @@
data-dojo-type="dijit.layout.BorderContainer"
data-dojo-props="design: 'headline', gutters: true, liveSplitters: true"
>
<div
id="banner"
data-dojo-type="dijit.layout.ContentPane"
data-dojo-props="region: 'top'"
>
<a href="https://sandcastle.cesium.com"
>Try the new version of Sandcastle today!</a
>
</div>
<div
id="toolbar"
data-dojo-type="dijit.Toolbar"
@ -341,36 +350,8 @@
</div>
</div>
</div>
<div
class="feedback"
data-dojo-type="dijit.layout.TabContainer"
data-dojo-props="region: 'right'"
>
<div
class="future-banner"
data-dojo-type="dijit.layout.ContentPane"
data-dojo-props="title: 'Feedback'"
>
<h3>Help needed</h3>
<p>
We're currently gathering user feedback to make Sandcastle even
better.
</p>
<button data-dojo-type="dijit/form/Button" type="button">
Please share your thoughts!
<script
type="dojo/on"
data-dojo-event="click"
data-dojo-args="evt"
>
window.open("https://community.cesium.com/t/upgrading-sandcastle-we-need-your-input/39715/", "_blank")
</script>
</button>
</div>
</div>
</div>
</div>
<div class="dijitTooltip dijitTooltipBelow" id="docPopup">
<div
class="dijitTooltipContainer dijitTooltipContents"

View File

@ -1,21 +1,146 @@
# Change Log
## 1.131.1-ion.1 - 2025-07-22
## 1.136 - 2025-12-01
### @cesium/engine
#### Fixes :wrench:
- Fixes Gaussian splats incorrectly rendering when `Cesium3DTileset.show` is `false`. [#12748](https://github.com/CesiumGS/cesium/pull/12748)
- Fixed depth testing bug with billboards and labels clipping through models [#13012](https://github.com/CesiumGS/cesium/issues/13012)
- Billboards using `imageSubRegion` now render as expected. [#12585](https://github.com/CesiumGS/cesium/issues/12585)
- Improved scaling of SVGs in billboards [#13020](https://github.com/CesiumGS/cesium/issues/13020)
- Fixed unexpected outline artifacts around billboards [#13038](https://github.com/CesiumGS/cesium/issues/13038)
## 1.131.1-ion.0 - 2025-07-17
#### Additions :tada:
- Added `scene.pickAsync` for non GPU blocking picking using WebGL2 [#12983](https://github.com/CesiumGS/cesium/pull/12983)
- Improves performance of terrain picks via new terrain picking quadtrees [#8481](https://github.com/CesiumGS/cesium/issues/8481)
## 1.135 - 2025-11-03
### @cesium/engine
#### Breaking Changes :mega:
- Removed support for the `KHR_spz_gaussian_splats_compression` extension in favor of the latest 3D Gaussian splatting extensions for glTF, `KHR_gaussian_splatting` and `KHR_gaussian_splatting_compression_spz_2`. Please re-tile existing Gaussian splatting 3D Tiles [#12837](https://github.com/CesiumGS/cesium/issues/12837)
- `scene.drillPick` now uses a breadth-first search strategy instead of depth-first. This may change which entities are picked when using large values of `width` and `height` when providing a `limit`, prioritizing entities closer to the camera. [#12916](https://github.com/CesiumGS/cesium/pull/12916)
#### Additions :tada:
- Added experimental support for loading 3D Tiles as terrain, via `Cesium3DTilesTerrainProvider`. See [the PR](https://github.com/CesiumGS/cesium/pull/12963) for limitations on the types of 3D Tiles that can be used. [#12296](https://github.com/CesiumGS/cesium/issues/12296)
- Added support for [EXT_mesh_primitive_edge_visibility](https://github.com/KhronosGroup/glTF/pull/2479) glTF extension. [#12765](https://github.com/CesiumGS/cesium/issues/12765)
#### Fixes :wrench:
- Improved performance of `scene.drillPick`. [#12916](https://github.com/CesiumGS/cesium/pull/12916)
- Improved performance when removing primitives. [#3018](https://github.com/CesiumGS/cesium/pull/3018)
- Improved performance of terrain Quadtree handling of custom data [#12907](https://github.com/CesiumGS/cesium/pull/12907)
- Fixed vertical exaggeration of ellipsoid-shaped voxels. [#12811](https://github.com/CesiumGS/cesium/issues/12811)
- Fixed parsing content bounding volumes contained in 3D Tiles 1.1 subtree files. [#12972](https://github.com/CesiumGS/cesium/pull/12972)
- Fixes an event bug following recent changes, where adding a new listener during an event callback caused an infinite loop. [#12955](https://github.com/CesiumGS/cesium/pull/12955)
- Fix issues with label background when updating properties while `label.show` is `false`. [#12138](https://github.com/CesiumGS/cesium/issues/12138)
- Fixed picking of `GroundPrimitive` with multiple `PolygonGeometry` instances selecting the wrong instance. [#12978](https://github.com/CesiumGS/cesium/pull/12978)
- Fixed a bug where the removal of draped imagery layers did not update the rendered state [#12923](https://github.com/CesiumGS/cesium/issues/12923)
- Fixed precision issues with Gaussian splat tilesets where the root tile does not have a world transform. [#12925](https://github.com/CesiumGS/cesium/issues/12925)
- Fixed infinite recursion that would happen if user append post-render callbacks within existing callbacks [#12983](https://github.com/CesiumGS/cesium/pull/12983)
## 1.134.1 - 2025-10-10
### @cesium/engine
#### Fixes :wrench:
- Fixed an event bug following recent changes, where adding a new listener during an event callback caused an infinite loop. [#12955](https://github.com/CesiumGS/cesium/pull/12955)
## 1.134 - 2025-10-01
- [Sandcastle](https://sandcastle.cesium.com/) has been updated at `https://sandcastle.cesium.com`! The [legacy Sandcastle app](https://cesium.com/downloads/cesiumjs/releases/1.134/Apps/Sandcastle/index.html) will remain available through November 3, 2025.
### @cesium/engine
#### Breaking Changes :mega:
- Voxel rendering now requires a WebGL2 context, which is [enabled by default since 1.101](https://github.com/CesiumGS/cesium/pull/10894). Make sure the `requestWebGl1` flag in `contextOptions` is NOT set to true.
- The `defaultValue` function has been removed. Instead, use the [nullish coalescing (`??`)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) operator. See the [Coding Guide](https://github.com/CesiumGS/cesium/tree/main/Documentation/Contributors/CodingGuide#default-parameter-values) for usage information and examples.
- `defaultValue.EMPTY_OBJECT` has been removed. Instead, use `Frozen.EMPTY_OBJECT`. See the [Coding Guide](https://github.com/CesiumGS/cesium/tree/main/Documentation/Contributors/CodingGuide#default-parameter-values) for usage information and examples.
#### Additions :tada:
- Added Google2DImageryProvider to load imagery from [Google Maps](https://developers.google.com/maps/documentation/tile/2d-tiles-overview) [#12913](https://github.com/CesiumGS/cesium/pull/12913)
- Added an async factory method for the Material class that allows callers to wait on resource loading. [#10566](https://github.com/CesiumGS/cesium/issues/10566)
#### Fixes :wrench:
- Fixed vertical misalignment of glyphs in labels with small fonts [#8474](https://github.com/CesiumGS/cesium/issues/8474)
- Converted voxel raymarching to eye coordinates to fix precision issues in large datasets. [#12061](https://github.com/CesiumGS/cesium/issues/12061)
- Fixed flickering artifact in Gaussian splat models caused by incorrect sorting results. [#12662](https://github.com/CesiumGS/cesium/issues/12662)
- Fixed issue where multiple instances of a Gaussian splat tileset would transform tile positions incorrectly and render out of position. [#12795](https://github.com/CesiumGS/cesium/issues/12795)
- Fixed rendering for geometry entities when `requestRenderMode` is enabled. [#12841](https://github.com/CesiumGS/cesium/pull/12841)
- Improved performance and reduced memory usage of `Event` class. [#12896](https://github.com/CesiumGS/cesium/pull/12896)
- Improved performance of clamped labels. [#12905](https://github.com/CesiumGS/cesium/pull/12905)
- Materials loaded from type now respect submaterials present in the referenced material type. [#10566](https://github.com/CesiumGS/cesium/issues/10566)
- Prevent runtime errors for certain forms of invalid PNTS files [#12872](https://github.com/CesiumGS/cesium/issues/12872)
- Revert `createImageBitmap` options update to continue support for older browsers [#12846](https://github.com/CesiumGS/cesium/issues/12846)
## 1.133.1 - 2025-09-08
This is an npm-only release to fix a dependency issue published in 1.133.0
## 1.133 - 2025-09-02
- Give the [new version of Sandcastle](https://dev-sandcastle.cesium.com/) a try today!
### @cesium/engine
#### Breaking Changes :mega:
- Removed the argument fallback in `ITwinData.*` functions. Instead, use the new options argument signature. [#12778](https://github.com/CesiumGS/cesium/issues/12778)
#### Additions :tada:
- Added support for the [EXT_mesh_primitive_restart](https://github.com/KhronosGroup/glTF/pull/2478) glTF extension. [#12764](https://github.com/CesiumGS/cesium/issues/12764)
- Added spherical harmonics support for Gaussian splats, supported with the SPZ compression format. [#12790](https://github.com/CesiumGS/cesium/pull/12790)
- Added `Ellipsoid.MARS` for use with Mars terrain and imagery. [#12828](https://github.com/CesiumGS/cesium/pull/12828)
- Allow passing `Cesium3DTileset` constructor options to the tileset that is created with `ITwinData.createTilesetForRealityDataId`. [#12709](https://github.com/CesiumGS/cesium/issues/12709)
#### Fixes :wrench:
- Fixed issue where a Gaussian splat tileset would be rendered even if out of current camera view. [#12840](https://github.com/CesiumGS/cesium/pull/12840)
- Removes the minimum tile threshold of four for WMTS. [#4372](https://github.com/CesiumGS/cesium/issues/4372)
- Fixed a crash when loading PNTS (point cloud) data that contained a batch table without a binary part. [#11166](https://github.com/CesiumGS/cesium/issues/11166)
- Fixed an error picking an area hidden by a `ClippingPolygon`. [#12725](https://github.com/CesiumGS/cesium/issues/12725)
#### Deprecated :hourglass_flowing_sand:
- Deprecated support for the `KHR_spz_gaussian_splats_compression` extension in favor of the latest 3D Gaussian splatting extensions for glTF, `KHR_gaussian_splatting` and `KHR_gaussian_splatting_compression_spz_2`. The deprecated extension will be removed in version 1.135. To ensure support in CesiumJS 1.135 and beyond, Please re-tile existing Gaussian splatting 3D Tiles before November 1, 2025. [#12837](https://github.com/CesiumGS/cesium/issues/12837)
## 1.132 - 2025-08-01
### @cesium/engine
#### Fixes :wrench:
- Fixes incorrect polygon culling in 2D scene mode. [#1552](https://github.com/CesiumGS/cesium/issues/1552)
- Fixes material flashing when changing properties. [#1640](https://github.com/CesiumGS/cesium/issues/1640), [#12716](https://github.com/CesiumGS/cesium/issues/12716)
- Fixed an issue where draped imagery on tilesets was not updated based on the visibility of the imagery layer. [#12742](https://github.com/CesiumGS/cesium/issues/12742)
- Fixes an exception when removing a Gaussian splat tileset from the scene primitives when it has more than one tile. [#12726](https://github.com/CesiumGS/cesium/pull/12726)
- Fixes rendering of Gaussian splats when they are scaled by the glTF transform, tileset transform, or model matrix. [#12721](https://github.com/CesiumGS/cesium/issues/12721), [#12718](https://github.com/CesiumGS/cesium/issues/12718)
- Fixes label background translucency issue. [#12673](https://github.com/CesiumGS/cesium/issues/12673)
- Updated the type of many properties and functions of `Scene` to clarify that they may be `undefined`. For the full list check PR: [#12736](https://github.com/CesiumGS/cesium/pull/12736)
- Fixes Gaussian splats incorrectly rendering when `Cesium3DTileset.show` is `false`. [#12748](https://github.com/CesiumGS/cesium/pull/12748)
- Fixed the PointCloudShading.normalShading parameter, to disable normal shading when set to false, even if the point cloud contains normals. [#11196](https://github.com/CesiumGS/cesium/issues/11196)
- Updated GPU vertex transformations to reduce precision errors. [#4250](https://github.com/CesiumGS/cesium/issues/4250)
- Fixes Gaussian splats orientation with respect to glTF up-axis by updating `spz-loader` to version `0.3.0`. [#12737](https://github.com/CesiumGS/cesium/issues/12737), [#12749](https://github.com/CesiumGS/cesium/issues/12749)
#### Additions :tada:
- Expand the CustomShader Sample to support real-time modification of CustomShader. [#12702](https://github.com/CesiumGS/cesium/pull/12702)
- Add wrapR property to Sampler and Texture3D, to support the newly added third dimension wrap.[#12701](https://github.com/CesiumGS/cesium/pull/12701)
- Added the ability to load a specific changeset for iTwin Mesh Exports using `ITwinData.createTilesetFromIModelId` [#12778](https://github.com/CesiumGS/cesium/issues/12778)
#### Deprecated :hourglass_flowing_sand:
- Updated all of the `ITwinData.*` functions to accept an `options` parameter instead of individual arguments to avoid confusion with multiple optional arguments. There is a fallback to the old signature that will be removed in 1.133 [#12778](https://github.com/CesiumGS/cesium/issues/12778)
## 1.131 - 2025-07-01
@ -2437,11 +2562,13 @@ _This is an npm-only release to fix a publishing issue_.
- Clipping planes on tilesets now use the root tile's transform, or the root tile's bounding sphere if a transform is not defined. [#7034](https://github.com/CesiumGS/cesium/pull/7034)
- This is to make clipping planes' coordinates always relative to the object they're attached to. So if you were positioning the clipping planes as in the example below, this is no longer necessary:
```javascript
clippingPlanes.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
tileset.boundingSphere.center,
);
```
- This also fixes several issues with clipping planes not using the correct transform for tilesets with children.
### Additions :tada:
@ -4287,6 +4414,7 @@ _This is an npm-only release to fix a publishing issue_.
isStopIncluded : true,
data : data
});
- `TimeInterval.fromIso8601` now takes a single options parameter. Code that looked like:
TimeInterval.fromIso8601(intervalString, true, true, data);
@ -4299,6 +4427,7 @@ _This is an npm-only release to fix a publishing issue_.
isStopIncluded : true,
data : data
});
- `interval.intersect(otherInterval)` -> `TimeInterval.intersect(interval, otherInterval)`
- `interval.contains(date)` -> `TimeInterval.contains(interval, date)`

View File

@ -101,6 +101,11 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to Cesiu
- [Bentley Systems, Inc.](https://www.bentley.com)
- [Paul Connelly](https://github.com/pmconne)
- [Jason Crow](https://github.com/jason-crow)
- [Erin Ingram](https://github.com/eringram)
- [Daniel Zhong](https://github.com/danielzhong)
- [Mark Schlosser](https://github.com/markschlosseratbentley)
- [Adam Larkeryd](https://github.com/alarkbentley)
- [Don McCurdy](https://github.com/donmccurdy)
- [Flightradar24 AB](https://www.flightradar24.com)
- [Aleksei Kalmykov](https://github.com/kalmykov)
- [BIT Systems](http://www.caci.com/bit-systems)
@ -415,6 +420,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to Cesiu
- [Kirn Kim](https://github.com/squrki)
- [Emanuele Mastaglia](https://github.com/Masty88)
- [Connor Manning](https://github.com/connormanning)
- [Gajanan Gourshettiwar](https://github.com/GGajanan1)
- [Isaac Young](https://github.com/ibreathebsb)
- [Nick Crews](https://github.com/NickCrews)
- [胡文康](https://github.com/XiaoHu1994)
@ -423,4 +429,11 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to Cesiu
- [Andrew Dassonville](https://github.com/andrewda)
- [Cody Butler](https://github.com/CodyBu)
- [Hiwen](https://github.com/Hiwen)
- [Ayush Das](https://github.com/ayushd150)
- [Matt Schwartz](https://github.com/mzschwartz5)
- [Easy Mahaffey](https://github.com/easymaahffey)
- [Pamela Augustine](https://github.com/pamelaAugustine)
- [宋时旺](https://github.com/BlockCnFuture)
- [Marco Zhan](https://github.com/marcoYxz)
- [Mikhail Porotkin](https://github.com/porotkin)
- [Adam Beili](https://github.com/Beilinson)

View File

@ -1,15 +1,11 @@
# Build Guide
- [Build Guide](#build-guide)
- [Quickstart](#quickstart)
- [Get the Code](#get-the-code)
- [Build the Code](#build-the-code)
- [Development Server](#development-server)
- [Build Output](#build-output)
- [Build Scripts](#build-scripts)
- [Continuous Integration](#continuous-integration)
- [Configure a Different S3 Bucket](#configure-a-different-s3-bucket)
- [Configure S3 Credentials](#configure-s3-credentials)
- [Quickstart](#quickstart)
- [Get the Code](#get-the-code)
- [Build the Code](#build-the-code)
- [Development Server](#development-server)
- [Build Output](#build-output)
- [Build Scripts](#build-scripts)
## Quickstart
@ -35,8 +31,6 @@
5. Navigate to : [`http://localhost:8080/`](http://localhost:8080)
---
## Get the Code
- [Setup Git](https://help.github.com/articles/set-up-git/#platform-all) if it isn't already.
@ -45,6 +39,7 @@
- Double-check your settings for name and email: `git config --get-regexp user.*`.
- Recommended Git settings:
- `git config --global fetch.prune true` - when fetching remote changes, remove any remote branches that no longer exist on the remote.
- `git config blame.ignoreRevsFile .git-blame-ignore-revs` - uses the ignore file to skip certain noisy revisions (like formatting) when running git blame. Alternatively, for VSCode users, install the GitLens extension, which will automatically use the ignore file.
- Have [commit access](https://github.com/CesiumGS/cesium/blob/main/Documentation/Contributors/CommittersGuide/README.md) to CesiumJS?
- No
- Fork [cesium](https://github.com/CesiumGS/cesium).
@ -82,7 +77,7 @@ npm start
Then browse to [http://localhost:8080/](http://localhost:8080/). The landing page includes apps and tools commonly used during development, including:
- **Hello World** : an example for how to create a 3D globe. [Tutorial here](https://cesium.com/learn/cesiumjs-learn/cesiumjs-quickstart/)
- **Sandcastle** : an app for viewing and creating [code examples](https://sandcastle.cesium.com?src=Hello%20World.html&label=Showcases), complete with a live preview
- **Sandcastle** : an app for viewing and creating [code examples](https://sandcastle.cesium.com), complete with a live preview
- **Test Suites** : tests using [Jasmine](https://jasmine.github.io/). [Testing guide here.](https://github.com/CesiumGS/cesium/blob/main/Documentation/Contributors/TestingGuide/README.md#testing-guide)
- **Documentation** : reference documentation built from source. [Documentation guide here.](https://github.com/CesiumGS/cesium/blob/main/Documentation/Contributors/DocumentationGuide/README.md#documentation-guide)
@ -161,52 +156,3 @@ Here's the full set of scripts and what they do.
- **Deployment scripts**
- `deploy-status` - Sets the deployment statuses in GitHub, for use in CI
- `deploy-set-version` - Sets the version of `package.json`, for use in CI
## Continuous Integration
Cesium uses [GitHub Actions](https://docs.github.com/en/actions) for continuous integration. Reusable actions are defined in `/.github/actions/` and workflows in `.github/workflows/`.
(Although outdated, the blog post [Cesium Continuous Integration](http://cesium.com/blog/2016/04/07/Cesium-Continuous-Integration/) contains background on the CesiumJS CI process.)
A workflow is triggered whenever someone pushes code to the Cesium repository, or an external contributor opens a pull request. After the build has completed, at the bottom of the pull request page the status of the build is shown. In the dropdown menu, individual checks are displayed. Logs and deployed artifacts can be accessed by clicking the "Details" link.
![GitHub Action Checks](github_action_checks.png)
The build of any branch of CesiumJS can be accessed under the [Branches](https://github.com/CesiumGS/cesium/branches/all) page, and clicking the icon next to the branch name.
![GitHub Branches](github_branches.png)
Additional set up is required for deployment if you do not have commit access to Cesium.
### Configure a Different S3 Bucket
It is possible to configure your development branch of CesiumJS to deploy build artifacts to a different [AWS S3 Bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html). If you are using the cesium-public-builds bucket and have valid credentials, skip to [Configure S3 Credentials](#configure-s3-credentials)
- In `.gtihub/workflows/dev.yml`, in the following lines, replace "cesium-public-builds" with the name of your S3 bucket.
```yml
aws s3 sync ./Build/Coverage s3://cesium-public-builds/cesium/$BRANCH/Build/Coverage --delete --color on
```
```yml
aws s3 sync Build/unzipped/ s3://cesium-public-builds/cesium/$BRANCH/Build/ --cache-control "no-cache" --delete
```
- In `gulpfile.js`, edit the following line:
```javascript
const devDeployUrl = "https://ci-builds.cesium.com/cesium/";
```
- Edit the URL to match the URL hosting the S3 bucket specified in the previous step.
### Configure S3 Credentials
To configure CI for deployment for a fork of Cesium, you must have valid credentials to an S3 bucket.
- Go to your fork of Cesium
- Click the **Setting** tab
- In the left sidebar, under the **Security** section, click **Secrets and Variables** > **Actions**
- Under **Repository secrets** add two environment variables, `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`, with your access key and secret key
![GitHub Environment Variables](github_environment_variables.png)

View File

@ -0,0 +1,76 @@
# Continuous Integration
- [Background](#background)
- [Actions and workflows](#actions-and-workflows)
- [Continuous deployment](#continuous-deployment)
- [Configuration](#configuration)
- [Configure a different S3 bucket](#configure-a-different-s3-bucket)
- [Configure S3 credentials](#configure-s3-credentials)
## Background
CesiumJS uses [GitHub Actions](https://docs.github.com/en/actions) for continuous integration (CI).
- [**CI for CesiumJS: A Deep Dive into Our GitHub Actions Workflow** (2024)](https://cesium.com/blog/2024/08/12/ci-for-cesiumjs-github-actions-workflow/)
- [**Cesium Continuous Integration** (2016)](https://cesium.com/blog/2016/04/07/cesium-continuous-integration/)
## Actions and workflows
Reusable actions are defined in `/.github/actions/` and workflows in `.github/workflows/`.
A workflow is triggered whenever someone pushes code to the CesiumJS repository, or an external contributor opens a pull request. After the build has completed, at the bottom of the pull request page the status of the build is shown. In the dropdown menu, individual checks are displayed. Logs and deployed artifacts can be accessed by clicking the "Details" link.
![GitHub Action Checks](github_action_checks.png)
The workflow checks for any CesiumJS branch are accessible under the [Branches](https://github.com/CesiumGS/cesium/branches/all) page by clicking the icon next to the branch name.
![GitHub Branches](github_branches.png)
## Continuous deployment
Automated deployments make recent code changes available for testing and review without needing to fetch and build locally. We deploy each of the following on a per-branch basis.
| Artifact | Link (`main` branch) |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Sandcastle | [`https://ci-builds.cesium.com/cesium/main/Apps/Sandcastle/index.html`](https://ci-builds.cesium.com/cesium/main/Apps/Sandcastle/index.html) |
| Documentation | [`https://ci-builds.cesium.com/cesium/main/Build/Documentation/index.html`](https://ci-builds.cesium.com/cesium/main/Build/Documentation/index.html) |
| Coverage results | [`https://ci-builds.cesium.com/cesium/main/Build/Coverage/index.html`](https://ci-builds.cesium.com/cesium/main/Build/Coverage/index.html) |
| Release zip | [`https://ci-builds.cesium.com/cesium/main/<github-ref-name>.<github-run-number>.zip`](https://ci-builds.cesium.com/cesium/main/<github-ref-name>.<github-run-number>.zip) |
| npm package | [`https://ci-builds.cesium.com/cesium/main/<github-ref-name>.<github-run-number>.tgz`](https://ci-builds.cesium.com/cesium/main/<github-ref-name>.<github-run-number>.tgz) |
## Configuration
Additional set up is required for deployment if you do not have commit access to CesiumJS.
### Configure a different S3 bucket
It is possible to configure your development branch of CesiumJS to deploy build artifacts to a different [AWS S3 Bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html). If you are using the cesium-public-builds bucket and have valid credentials, skip to [Configure S3 Credentials](#configure-s3-credentials)
- In `.gtihub/workflows/dev.yml`, in the following lines, replace "cesium-public-builds" with the name of your S3 bucket.
```sh
aws s3 sync ./Build/Coverage s3://cesium-public-builds/cesium/$BRANCH/Build/Coverage --delete --color on
```
```sh
aws s3 sync Build/unzipped/ s3://cesium-public-builds/cesium/$BRANCH/Build/ --cache-control "no-cache" --delete
```
- In `gulpfile.js`, edit the following line:
```javascript
const devDeployUrl = "https://ci-builds.cesium.com/cesium/";
```
- Edit the URL to match the URL hosting the S3 bucket specified in the previous step.
### Configure S3 credentials
To configure CI for deployment for a fork of CesiumJS, you must have valid credentials to an S3 bucket.
- Go to your fork of CesiumJS
- Click the **Setting** tab
- In the left sidebar, under the **Security** section, click **Secrets and Variables** > **Actions**
- Under **Repository secrets** add two environment variables, `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`, with your access key and secret key
![GitHub Environment Variables](github_environment_variables.png)

View File

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 275 KiB

View File

Before

Width:  |  Height:  |  Size: 257 KiB

After

Width:  |  Height:  |  Size: 257 KiB

View File

@ -2,6 +2,7 @@
- [CONTRIBUTING.md](../../CONTRIBUTING.md) - Start here. How to find something to work on, submit issues, and open pull requests.
- [Build Guide](BuildGuide/README.md) - How to build and run CesiumJS locally.
- [Continuous Integration Guide](ContinuousIntegration/README.md) - How we use GitHub Actions for continuous integration (CI) and continuous deployment (CD).
- **IDEs** - use any IDE you want for CesiumJS development. Most contributors use WebStorm (commercial) or VSCode (open source).
- [VSCode Guide](VSCodeGuide/README.md) - How to set up VSCode.
- [Coding Guide](CodingGuide/README.md) - JavaScript and GLSL coding conventions and best practices for design, maintainability, and performance.
@ -12,3 +13,5 @@
- [Presenter's Guide](PresentersGuide/README.md) - Tips for giving talks.
- [Committer's Guide](CommittersGuide/README.md) - What to do with commit access to the main CesiumJS repo.
- [Release Guide](ReleaseGuide/README.md) - How to ship a CesiumJS release.
- [Release Schedule](ReleaseGuide//ReleaseSchedule.md) - The upcoming monthly release schedule and the developer responsible for managing each release
- [Prelease Guide](ReleaseGuide/Prereleases/README.md) - If and how to publish a prerelease version ahead of the typical monthly release

View File

@ -0,0 +1,131 @@
# Patch Releases
Occasionally, we need to release versions of CesiumJS prior to our typical [monthly train releases](../README.md). This can arise because of a critical regression or compatibility issue with the published dependency versions. When this is necessary, we publish a **patch** release[^1]. Tools like npm which use Semantic Versioning will usually use this new version of the package the next time a user runs `npm install` without the user needing to opt-in.
[^1]: See ["About semantic versioning" on docs.npmjs.com](https://docs.npmjs.com/about-semantic-versioning)
## Publishing a patch version
This process is based on an abbreviated version of the [monthly release guide](../README.md). Familiarity with our typical release process is recommended, but not required.
### 1. Create a new branch from the base tag
If no additional commits (besides the intended patch fix) have been merged into `main` since the monthly release, you may create a new branch from `main` and skip step 2. Otherwise, proceed with the steps below.
- Checkout a git tag for the base branch i.e., use `1.123` in place of `<git-tag>` for the previous monthly release, or `1.123.1` for a subsequent patches applied in the same month.
- From this branch, create a new branch with any unique `<branch-name>`.
#### Commands
```sh
git checkout <git-tag>
git checkout -b <branch-name>
```
### 2. Cherry pick relevant commits
- Use [`git-cherry-pick`](https://git-scm.com/docs/git-cherry-pick) one or more times to apply select commits to the current branch
- As necessary, resolve any merge conflicts, add, and continue.
#### Commands
```sh
git cherry-pick <commit-hash>
```
### 3. Bump the release version
Use [npm `version` with the `patch` command](https://docs.npmjs.com/cli/v11/commands/npm-version) to bump the version of each workspace and the root package e.g., `npm version patch --no-git-tag-version`
#### Commands
```sh
npm version patch --ws --no-git-tag-version
npm version patch --no-git-tag-version
```
### 4. Update `CHANGES.md`
- In [`CHANGES.md`](../../../CHANGES.md), create a new header with the version string of root package from the previous step and the date of the release— e.g., if the version string from the previous step is `1.123.1`, `CHANGES.md` should read:
```md
# Change Log
## 1.123.1 - 2025-07-15
### @cesium/engine
...
```
- Move any relevant items in the list to the new header in `CHANGES.md`.
- Delete any empty headers.
- Ensure each change is nested in the section for the relevant workspace.
- Commit any staged changes and push to your branch.
### 5. Release build and sanity test
While the full extent of typical release testing is not required, at minimum, create a release build and run the release tests.
- Make sure the repository is clean `git clean -d -x -f --exclude="/Specs/e2e/*-snapshots/"`. **This will delete all files not already in the repository, excluding end to end testing snapshots.**
- Run `npm install`.
- Make sure `ThirdParty.json` is up to date by running `npm run build-third-party`. If there are any changes, verify and commit them.
- Create the release zip `npm run make-zip`.
- Run tests against the release `npm run test -- --failTaskOnError --release`.
- Run [Sandcastle](http://localhost:8080/Apps/Sandcastle/index.html) and verify functionality from the patch is working as expected.
### 6. Push and tag the release commit
- Push your commits to the _current_ branch.
- Create and push a [tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging), e.g., if the version string from previous steps is `1.123.1`, run:
- `git tag -a 1.123.1 -m "1.123.1 release"`
- `git push origin 1.123.1` (this assumes origin is the primary cesium repository; do not use `git push --tags` as it pushes all tags from all remotes you have on your system)
#### Commands
```sh
git push
git tag -a <version-tag> -m "<release-description>"
git push origin <version-tag>
```
### 7. Publish
#### a. Publish to npm
Continue with the normal `publish` command; There is no need to tag this differently than a typical release version.
- Use `npm publish --ws` in the repository root to publish the workspaces.
- Use `npm publish` to publish the root package.
#### b. Publish to the website
**_Often, as is the case with issues arising from published dependency versions, a patch release only needs to be published to npm and does not need to be deployed to cesium.com. If that is the case, skip step 7b and proceed to step 8._**
- Check out the `cesium.com` branch.
- Merge the new release tag into the `cesium.com` branch with `git merge origin <tag-name> --ff-only`.
- Push the branch with `git push`. CI will deploy the hosted release, Sandcastle, and the updated doc.
### 8. Port the updates back to `main`
It's important that the latest version info goes back into the `main` branch to streamline future releases.
- Checkout `main` and pull the latest updates:
- `git checkout main`
- `git pull`
- Checkout your patch release branch:
- `git checkout <release-branch>`
- [Optional] Create a new branch to perform the merge:
- `git checkout -b <branch-name>`
- Merge `main`, resolving any conflicts, particularly in `CHANGES.md`. Ensure the patch release _is_ included in the release notes, and ensure the specific patch fix descriptions are only listed once under the patch release.
- `git merge main`
- `git add .`
- `git diff main`
- Commit and push your changes:
- `git commit -m "sync version info"`
- `git push --set-upstream origin <branch-name>`
- Open a new PR with the **priority - next release** label
### 9. Announce the release
Once the packages have been successfully published to npm, notify the interested developers that the release has been completed. This may include adding a comment to relevant GitHub issues that a fix has been published.

View File

@ -0,0 +1,146 @@
# Prereleases
Occasionally, we need to release incremental, opt-in versions of CesiumJS to npm prior to our typical [monthly train releases](../README.md) for early testing or internal use. When this is necessary, we publish a tagged **prerelease**[^1]. Prereleases are not guaranteed as stable and may not be compatable with official numbered releases.
[^1]: See ["Adding dist-tags to packages" on docs.npmjs.com](https://docs.npmjs.com/adding-dist-tags-to-packages)
## Installing a prerelease
Use a prerelease tag—e.g. `ion`—to install a published prerelease.
```sh
npm install cesium@<tag>
npm install @cesium/engine@<tag>
npm install @cesium/widgets@<tag>
```
For example, if the prerelease tag is `ion`, run the following command to install the latest ion prerelease of the top-level `cesium` npm package.
```sh
npm install cesium@ion
```
## Do we need a prelease?
A prerelease of CesiumJS typically _will not have the level of validation_ that the official monthly numbered release receives. Additionally, [cherry picking commits](https://www.atlassian.com/git/tutorials/cherry-pick) for hot fixes can _complicate commit history and introduce bugs_. Consider if a prerelease is the ideal solution or if [continuous deployment artifacts](../../ContinuousIntegration/README.md#continuous-deployment) will suffice.
## Publishing a prelease
This process is based on an abbreviated version of the [monthly release guide](../README.md). Familiarity with our typical release process is recommended, but not required.
### 1. Create a new branch from the base tag
- Checkout a git tag for the base branch i.e., use `1.123` in place of `<git-tag>` for the previous monthly release, or `1.123.1-ion.0` for a subsequent prerelease.
- From this branch, create a new branch with any unique `<branch-name>`.
#### Commands
```sh
git checkout <git-tag>
git checkout -b <branch-name>
```
### 2. Cherry pick relevant commits
- Use [`git-cherry-pick`](https://git-scm.com/docs/git-cherry-pick) one or more times to apply select commits to the current branch.
- As necessary, resolve any merge conflicts, add, and continue.
#### Commands
```sh
git cherry-pick <commit-hash>
```
### 3. Bump the prerelease version
Use [npm `version` with the `preid` argument](https://docs.npmjs.com/cli/v11/commands/npm-version#preid) to bump the version of each workspace and the root package e.g., `npm version prerelease --preid ion --no-git-tag-version`
#### Commands
```sh
npm version prerelease --preid <tag> --ws --no-git-tag-version
npm version prerelease --preid <tag> --no-git-tag-version
```
### 4. Update `CHANGES.md`
- In [`CHANGES.md`](../../../CHANGES.md), create a new header with the version string of root package from the previous step and the date of the release— e.g., if the version string from the previous step is `1.123.1-ion.0`, `CHANGES.md` should read:
```md
# Change Log
## 1.123.1-ion.0 - 2025-07-15
### @cesium/engine
...
```
- Move any relevant items in the list to the new header in `CHANGES.md`.
- Delete any empty headers.
- Ensure each change is nested in the section for the relevant workspace.
- Commit any staged changes and push to your branch.
### 5. Release build and sanity test
While the full extent of typical release testing is not required, at minimum, create a release build and run the release tests.
- Make sure the repository is clean `git clean -d -x -f --exclude="/Specs/e2e/*-snapshots/"`. **This will delete all files not already in the repository, excluding end to end testing snapshots.**
- Run `npm install`.
- Make sure `ThirdParty.json` is up to date by running `npm run build-third-party`. If there are any changes, verify and commit them.
- Create the release zip `npm run make-zip`.
- Run tests against the release `npm run test -- --failTaskOnError --release`.
- Run [Sandcastle](http://localhost:8080/Apps/Sandcastle/index.html) and verify functionality from this prerelease is working as expected.
### 6. Push and tag the release commit
- Push your commits to the _current_ branch.
- Create and push a [tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging), e.g., if the version string from previous steps is `1.123.1-ion.0`, run:
- `git tag -a 1.123.1-ion.0 -m "1.123.1 ion prerelease"`
- `git push origin 1.123.1-ion.0` (this assumes origin is the primary cesium repository; do not use `git push --tags` as it pushes all tags from all remotes you have on your system)
#### Commands
```sh
git push
git tag -a <version-tag> -m "<prerelease-description>"
git push origin <version-tag>
```
### 7. Publish to npm
Ensure the prerelease version of each package is not tagged as the `latest` version by [including the `tag` flag](https://docs.npmjs.com/cli/v11/commands/npm-publish#tag)— Ideally the `<tag>` specified here should match the prerelease tag from the version info. For instance, if the version is `1.123.1-ion.0`, use the `ion` tag.
- Use `npm publish --ws --tag <tag>` in the repository root to publish the workspaces.
- Use `npm publish --tag <tag>` to publish the root package.
#### Commands
```sh
npm publish --ws --tag <tag>
npm publish --tag <tag>
```
### 8. Port the updates back to `main`
It's important that the latest version info goes back into the `main` branch to streamline future releases.
- Checkout `main` and pull the latest updates:
- `git checkout main`
- `git pull`
- Checkout your prerelease branch:
- `git checkout <prerelease-branch>`
- [Optional] Create a new branch to perform the merge:
- `git checkout -b <branch-name>`
- Merge `main`, resolving any conflicts, particularly in `CHANGES.md`. The prerelease section can be removed, and relevant changes moved to the next monthly release. To confirm the merge, do a diff against main. Ideally, only the version info should show as updated.
- `git merge main`
- `git add .`
- `git diff main`
- Commit and push your changes:
- `git commit -m "sync version info"`
- `git push --set-upstream origin <branch-name>`
- Open a new PR with the **priority - next release** label
### 9. Announce the prerelease
Once the packages have been successfully published to npm, notify the interested developers that the release has been completed.

View File

@ -1,8 +1,18 @@
# Release Guide
We release Cesium on the first work day of every month. The [Release Schedule](./ReleaseSchedule.md) outlines the release schedule and the developer responsible for each month's release.
We release CesiumJS on the first work day of every month.
There is no release manager; instead, our community shares the responsibility. Any committer can create the release for a given month, and at any point, they can pass the responsibility to someone else, or someone else can ask for it. This spreads knowledge, avoids stratification, avoids a single point of failure, and is beautifully unstructured ([more info](https://community.cesium.com/t/cesium-releases/45)).
- [**Release Schedule**](./ReleaseSchedule.md): The upcoming monthly release schedule and the developer responsible for managing each release
- [**Patch Release Guide**](./PatchReleases/README.md): If and how to publish a patch release[^1] ahead of the regular monthly release, typically used in the case of a significant regression or an issue with published dependency versions.
- [**Prerelease Guide**](./Prereleases/README.md): If and how to publish a tagged prerelease[^2] ahead of the regular monthly release, typically used for internal testing.
[^1]: See ["About semantic versioning" on docs.npmjs.com](https://docs.npmjs.com/about-semantic-versioning)
[^2]: See ["Adding dist-tags to packages" on docs.npmjs.com](https://docs.npmjs.com/adding-dist-tags-to-packages)
## Motivation
There is no one release manager; instead, [our community shares the responsibility](https://community.cesium.com/t/cesium-releases/45). Any committer can create the release for a given month, and at any point, they can pass the responsibility to someone else, or someone else can ask for it. This spreads knowledge, avoids stratification, avoids a single point of failure, and is beautifully unstructured.
## One week before release
@ -10,8 +20,10 @@ There is no release manager; instead, our community shares the responsibility. A
2. If one or more dependencies are outdated, checkout a new branch and run `npm install <packagename>@latest` for each package to increment the version.
- If `prettier` needs updated you _should_ still update it but keep the version pinned. If you run `npm install prettier@latest` you must remove the `^` in `package.json`. If the number of changes when running `npm run prettier` is large it may be worth opening a separate PR for only those.
3. Verify each update. If an update can be resolved, open a PR with your changes. If an update is incompatible, open an issue. Check the [`dependencies` label](https://github.com/CesiumGS/cesium/issues?q=is%3Aissue+is%3Aopen+label%3Adependencies) for any open issues pinning versions.
4. Check the [`priority - next release` issues and PRs](https://github.com/CesiumGS/cesium/labels/priority%20-%20next%20release). If there are any outstanding items, post a message to the `#cesiumjs` channel in Slack to figure out what needs to be addressed before we can release.
5. Ensure you've generated valid [end to end testing snapshots](../TestingGuide/README.md) against a previous release tag with `npm run test-e2e-update`.
4. Check the [`priority - next release` issues and PRs](https://github.com/CesiumGS/cesium/labels/priority%20-%20next%20release). If there are any outstanding items, post a message to the `CesiumJS` channel in Teams to figure out what needs to be addressed before we can release.
5. Check the [`remove in [this version number]` issues](https://github.com/CesiumGS/cesium/labels?q=remove) and open PRs to address any deprecations.
6. Ensure you've generated valid [end to end testing snapshots](../TestingGuide/README.md) against a previous release tag with `npm run test-e2e-update`.
7. Start thinking ahead for a good image for the release blog post in case you need to prepare any data, assets or examples.
## Release testing and packaging
@ -22,9 +34,9 @@ There is no release manager; instead, our community shares the responsibility. A
3. Make sure you are using the latest drivers for your video card.
4. Ensure you've generated valid [end to end testing snapshots](../TestingGuide/README.md) against a previous release tag with `npm run test-e2e-update`.
5. Pull down the latest `main` branch and run `npm install`.
6. Update the Cesium ion demo token in `Ion.js` with a new token from the CesiumJS ion team account with read and geocode permissions. These tokens are named like this: `1.85 Release - Delete on November 1st, 2021`. Delete the token from 2 releases ago.
6. Update the Cesium ion demo token in `Ion.js` with a new token from the CesiumJS ion team account with `read` and `geocode` permissions. These tokens are named like this: `1.85 Release - Delete on November 1st, 2021`. Delete the token from 2 releases ago.
7. Update the ArcGIS Developer API key in `ArcGisMapService.js` with a new API key from the [CesiumJS ArcGIS Developer](https://links.esri.com/agol-sign-in) account. These API keys are named like this: `1.85 Release - Delete on November 1st, 2021`. Delete the API key from the last release.
1. Sign in with LastPass
1. Sign in with Bitwarden
2. Go to Content at the top
3. Click "New Item" -> Developer Credentials -> API Key credentials
4. Set the expiration date to the day after the next release (no referrer URLs)
@ -49,7 +61,7 @@ There is no release manager; instead, our community shares the responsibility. A
20. Verify that the [documentation](http://localhost:8080/Build/Documentation/index.html) built correctly
21. Make sure [Hello World](http://localhost:8080/Apps/HelloWorld.html) loads.
22. Make sure [Cesium Viewer](http://localhost:8080/Apps/CesiumViewer/index.html) loads.
23. Run [Sandcastle](http://localhost:8080/Apps/Sandcastle/index.html) on the browser of your choice (or multiple browsers if you are up for it). Switch to the `All` tab and spot test more complicated demos. Actually play with each of the buttons and sliders on each demo to ensure everything works as expected.
23. Run [Sandcastle](http://localhost:8080/Apps/Sandcastle2/index.html) on the browser of your choice (or multiple browsers if you are up for it). Remove the `Showcases` filter and spot test the more complicated demos. Actually play with each of the buttons and sliders on each demo to ensure everything works as expected.
24. If any of the above steps fail, post a message to the `CesiumJS` channel in Teams to figure out what needs to be fixed before we can release. **Do NOT proceed to the next step until issues are resolved.**
25. Push your commits to main
- `git push`
@ -68,7 +80,7 @@ There is no release manager; instead, our community shares the responsibility. A
- `npm publish -w @cesium/engine`
- `npm publish -w @cesium/widgets`
29. Publish the top-level `cesium` package to npm by running `npm publish` in the repository root (not the unzipped file directory) (the first time you do this, you will need to authorize the machine using `npm adduser`).
30. Check out the `cesium.com` branch. Merge the new release tag into the `cesium.com` branch `git merge origin <tag-name>`. CI will deploy the hosted release, Sandcastle, and the updated doc when you push the branch up.
31. After the `cesium.com` branch is live on cesium.com, comment in the `#comms-chat` slack channel to notify comms that the release is done so they can add these highlights and publish the monthly blog post
30. Check out the `cesium.com` branch. Merge the new release tag into the `cesium.com` branch `git merge origin <tag-name> --ff-only`. CI will deploy the hosted release, Sandcastle, and the updated doc when you push the branch up.
31. After the `cesium.com` branch is live on cesium.com, comment in the `Communications` channel in Teams to notify comms that the release is done so they can add these highlights and publish the monthly blog post
- Note, it may take a little while for the new version of CesiumJS to be live on cesium.com (~30 minutes after the branch builds). You can check the version of Cesium in [sandcastle](https://sandcastle.cesium.com/) by looking at the tab above the cesium pane.
32. Continue to the [Cesium Analytics release](https://github.com/CesiumGS/cesium-analytics/tree/main/Documentation/ReleaseGuide)

View File

@ -2,15 +2,17 @@
| Date | User |
| --------- | ---------------- |
| 1/2/2025 | `@ggetz` |
| 2/3/2025 | `@jjhembd` |
| 3/3/2025 | `@lukemckinstry` |
| 4/1/2025 | `@ggetz` |
| 5/1/2025 | `@jjspace` |
| 6/2/2025 | `@jjhembd` |
| 7/1/2025 | `@jjspace` |
| 8/1/2025 | `@lukemckinstry` |
| 9/1/2025 | `@ggetz` |
| 10/1/2025 | `@jjhembd` |
| 11/3/2025 | `@lukemckinstry` |
| 12/1/2025 | `@jjspace` |
| 11/3/2025 | `@jjspace` |
| 12/1/2025 | `@mzschwartz5` |
| 1/2/2026 | `@lukemckinstry` |
| 2/2/2026 | `@ggetz` |
| 3/2/2026 | `@jjhembd` |
| 4/1/2026 | `@jjspace` |
| 5/1/2026 | `@mzschwartz5` |
| 6/1/2026 | `@lukemckinstry` |
| 7/2/2026 | `@ggetz` |
| 8/3/2026 | `@jjhembd` |
| 9/1/2026 | `@jjspace` |
| 10/1/2026 | `@mzschwartz5` |
| 11/2/2026 | `@lukemckinstry` |
| 12/1/2026 | `@ggetz` |

View File

@ -16,7 +16,7 @@ All new code should have 100% code coverage and should pass all tests. Always ru
- [Run Only Non-WebGL Tests](#run-only-non-webgl-tests)
- [Run All Tests Against the Minified Release Version of CesiumJS](#run-all-tests-against-the-minified-release-version-of-cesiumjs)
- [Run a Single Test or Suite](#run-a-single-test-or-suite)
- [Using Browser Debugging Tools](#using-browser-debugging-tools)
- [Debugging Tests in the Browser or IDE](#debugging-tests-in-the-browser-or-ide)
- [Running the Tests in the Browser](#running-the-tests-in-the-browser)
- [Run All Tests](#run-all-tests)
- [Run with WebGL validation](#run-with-webgl-validation)
@ -122,13 +122,13 @@ Alternatively, test suites can be run from the command line with the `includeNam
`npm run test -- --includeName Cartesian2`
#### Using Browser Debugging Tools
#### Debugging Tests in the Browser or IDE
If it is helpful to step through a unit test in a browser debugger, run the tests with the `debug` flag:
If it is helpful to step through a unit test in a browser debugger or your IDE, run the tests with the `debug` flag:
`npm run test -- --debug`
The `--debug` flag will prevent the Karma browser from closing after running the tests, and clicking the "Debug" button will open a new tab that can be used for placing breakpoints and stepping through the code.
The `--debug` flag will prevent the Karma browser from closing after running the tests, and clicking the "Debug" button will open a new tab that can be used for placing breakpoints and stepping through the code. Alternatively, run the "Launch Test Suite and Debug in VSCode" launch configuration (which opens chrome, attaches VSCode, and prepares the test suite of the current file), set breakpoints directly in the Spec file, and then click "Debug" in Chrome to run the tests. Similar behavior may be possible in other IDEs by attaching to port 9333 (Karma's configured remote debugging port) after running the npm test command above.
![Karma](8.jpg)

View File

@ -77,3 +77,5 @@ you quit VSCode, so should be restarted manually on next launch.
## Debugging CesiumJS
To debug CesiumJS using the VSCode Chrome debugger, run the `"Launch Server"` configuration. If the server was already started in the terminal using `npm start`, use the `"Launch in Chrome"` configuration.
To debug a specific unit test suite, run the "Launch Test Suite and Debug in VSCode" configuration. This will start the server, launch chrome, and prepare to run the tests in the currently open file. Set one or more breakpoints in VSCode and then click "Debug" in the browser. If the server is already started, use the "Attach to Karma" configuration and then continue setting breakpoints.

View File

@ -331,35 +331,43 @@ https://gist.github.com/banksean/300494
>
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
### NVIDIA GameWorks Graphics Samples
### NVIDIA GameWorks FXAA Shader
https://github.com/NVIDIAGameWorks/GraphicsSamples
Original source (archived): https://archive.org/details/nvidiagame-works-graphics-samples-master
Fork: https://github.com/lyntel/GraphicsSamples/blob/3d30817ebeeade64fe6a4fc3aa1fe4265c29b6fd/samples/es3-kepler/FXAA/FXAA3_11.h
> Copyright 2016 NVIDIA Corporation
> ----------------------------------------------------------------------------------
> File: es3-kepler\FXAA/FXAA3_11.h
> SDK Version: v3.00
> Email: gameworks@nvidia.com
> Site: http://developer.nvidia.com/
>
> BY DOWNLOADING THE SOFTWARE AND OTHER AVAILABLE MATERIALS, YOU ("DEVELOPER") AGREE TO BE BOUND BY THE FOLLOWING TERMS AND CONDITIONS
> Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
>
> The materials available for download to Developers may include software in both sample source ("Source Code") and object code ("Object Code") versions, documentation ("Documentation"), certain art work ("Art Assets") and other materials (collectively, these materials referred to herein as "Materials"). Except as expressly indicated herein, all terms and conditions of this Agreement apply to all of the Materials.
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions
> are met:
> * Redistributions of source code must retain the above copyright
> notice, this list of conditions and the following disclaimer.
> * Redistributions in binary form must reproduce the above copyright
> notice, this list of conditions and the following disclaimer in the
> documentation and/or other materials provided with the distribution.
> * Neither the name of NVIDIA CORPORATION nor the names of its
> contributors may be used to endorse or promote products derived
> from this software without specific prior written permission.
>
> Except as expressly set forth herein, NVIDIA owns all of the Materials and makes them available to Developer only under the terms and conditions set forth in this Agreement.
>
> License: Subject to the terms of this Agreement, NVIDIA hereby grants to Developer a royalty-free, non-exclusive license to possess and to use the Materials. The following terms apply to the specified type of Material:
>
> Source Code: Developer shall have the right to modify and create derivative works with the Source Code. Developer shall own any derivative works ("Derivatives") it creates to the Source Code, provided that Developer uses the Materials in accordance with the terms of this Agreement. Developer may distribute the Derivatives, provided that all NVIDIA copyright notices and trademarks are used properly and the Derivatives include the following statement: "This software contains source code provided by NVIDIA Corporation."
>
> Object Code: Developer agrees not to disassemble, decompile or reverse engineer the Object Code versions of any of the Materials. Developer acknowledges that certain of the Materials provided in Object Code version may contain third party components that may be subject to restrictions, and expressly agrees not to attempt to modify or distribute such Materials without first receiving consent from NVIDIA.
>
> Art Assets: Developer shall have the right to modify and create Derivatives of the Art Assets, but may not distribute any of the Art Assets or Derivatives created therefrom without NVIDIA's prior written consent.
>
> Government End Users: If you are acquiring the Software on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees the Software and documentation were developed at private expense and are provided with "RESTRICTED RIGHTS". Use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227-19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time to time. In the event that this License, or any part thereof, is deemed inconsistent with the minimum rights identified in the Restricted Rights provisions, the minimum rights shall prevail.
> No Other License. No rights or licenses are granted by NVIDIA under this License, expressly or by implication, with respect to any proprietary information or patent, copyright, trade secret or other intellectual property right owned or controlled by NVIDIA, except as expressly provided in this License.
> Term: This License is effective until terminated. NVIDIA may terminate this Agreement (and with it, all of Developer's right to the Materials) immediately upon written notice (which may include email) to Developer, with or without cause.
>
> Support: NVIDIA has no obligation to support or to continue providing or updating any of the Materials.
>
> No Warranty: THE SOFTWARE AND ANY OTHER MATERIALS PROVIDED BY NVIDIA TO DEVELOPER HEREUNDER ARE PROVIDED "AS IS." NVIDIA DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>
> LIMITATION OF LIABILITY: NVIDIA SHALL NOT BE LIABLE TO DEVELOPER, DEVELOPER'S CUSTOMERS, OR ANY OTHER PERSON OR ENTITY CLAIMING THROUGH OR UNDER DEVELOPER FOR ANY LOSS OF PROFITS, INCOME, SAVINGS, OR ANY OTHER CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE, DIRECT OR INDIRECT DAMAGES (WHETHER IN AN ACTION IN CONTRACT, TORT OR BASED ON A WARRANTY), EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. IN NO EVENT SHALL NVIDIA'S AGGREGATE LIABILITY TO DEVELOPER OR ANY OTHER PERSON OR ENTITY CLAIMING THROUGH OR UNDER DEVELOPER EXCEED THE AMOUNT OF MONEY ACTUALLY PAID BY DEVELOPER TO NVIDIA FOR THE SOFTWARE OR ANY OTHER MATERIALS.
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
> EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
> CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
> OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
### NoSleep.js

View File

@ -0,0 +1 @@
{"asset":{"extras":{"ion":{"georeferenced":false,"movable":true}},"version":"1.1"},"extensions":{"3DTILES_content_gltf":{"extensionsRequired":["KHR_gaussian_splatting","KHR_gaussian_splatting_compression_spz_2"],"extensionsUsed":["KHR_gaussian_splatting","KHR_gaussian_splatting_compression_spz_2"]}},"extensionsUsed":["3DTILES_content_gltf"],"geometricError":173.20508075688772,"root":{"boundingVolume":{"box":[50.0,-50.0,-50.0,50.0,0.0,0.0,0.0,50.0,0.0,0.0,0.0,50.0]},"content":{"uri":"0/0.glb"},"geometricError":0.0,"refine":"REPLACE"}}

View File

@ -1,66 +1,68 @@
{
"asset": {
"extras": {
"ion": {
"georeferenced": true,
"movable": true
}
},
"version": "1.1"
"asset": {
"extras": {
"ion": {
"georeferenced": true,
"movable": true
}
},
"extensions": {
"3DTILES_content_gltf": {
"extensionsRequired": [
"KHR_spz_gaussian_splats_compression"
],
"extensionsUsed": [
"KHR_spz_gaussian_splats_compression"
]
}
},
"extensionsUsed": [
"3DTILES_content_gltf"
],
"geometricError": 14.76778488662848,
"root": {
"boundingVolume": {
"box": [
1.2307894825935364,
-0.6764951944351196,
186.9346923828125,
2.405353009700775,
0.0,
0.0,
0.0,
2.5862385034561157,
0.0,
0.0,
0.0,
6.484405517578125
]
},
"content": {
"uri": "0/0.glb"
},
"geometricError": 0.0,
"refine": "REPLACE",
"transform": [
-0.14382095244935905,
0.9896037255571338,
0.0,
0.0,
-0.7120020847592599,
-0.1034765889935951,
0.6945110703428119,
0.0,
0.6872907426519194,
0.09988524362332703,
0.7194820172674795,
0.0,
4391456.686631473,
638218.5788113032,
4566368.395700517,
1.0
]
"version": "1.1"
},
"extensions": {
"3DTILES_content_gltf": {
"extensionsRequired": [
"KHR_gaussian_splatting",
"KHR_gaussian_splatting_compression_spz_2"
],
"extensionsUsed": [
"KHR_gaussian_splatting",
"KHR_gaussian_splatting_compression_spz_2"
]
}
},
"extensionsUsed": [
"3DTILES_content_gltf"
],
"geometricError": 76.94345372195917,
"root": {
"boundingVolume": {
"box": [
0.759602474620948,
-1.6211592734702087,
2566.3544788548998,
8.432663940269968,
0.0,
0.0,
0.0,
8.127358416707006,
0.0,
0.0,
0.0,
36.64573633729674
]
},
"content": {
"uri": "0/0.glb"
},
"geometricError": 0.0,
"refine": "REPLACE",
"transform": [
0.9984683783609064,
-0.0553253776610889,
0.0,
0.0,
0.038789672094630565,
0.7000451263203326,
0.7130443060946077,
0.0,
-0.03944944552377324,
-0.7119521920057605,
0.7011189753145034,
0.0,
-252040.29496225834,
-4548622.6254820945,
4449422.940203034,
1.0
]
}
}

View File

@ -1,36 +0,0 @@
{
"buffers": [
{
"uri": "../metadata.bin",
"byteLength": 2336
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 2336
}
],
"tileAvailability": {
"constant": 1
},
"contentAvailability": [
{
"constant": 1
}
],
"childSubtreeAvailability": {
"constant": 0
},
"extensions": {
"3DTILES_metadata": {
"class": "tile",
"properties": {
"contentBounds": {
"bufferView": 0
}
}
}
}
}

View File

@ -25,7 +25,7 @@
},
"propertyTables": [
{
"class": "tile",
"class": "content",
"count": 73,
"properties": {
"contentBounds": {
@ -34,5 +34,5 @@
}
}
],
"tileMetadata": 0
"contentMetadata": [0]
}

View File

@ -1,76 +0,0 @@
{
"asset": {
"version": "1.0"
},
"extensionsUsed": [
"3DTILES_implicit_tiling",
"3DTILES_metadata"
],
"extensionsRequired": [
"3DTILES_implicit_tiling"
],
"extensions": {
"3DTILES_metadata": {
"schema": {
"id": "ImplicitContentBoundingVolumeSemanticsMetadataSchemaId",
"classes": {
"tile": {
"properties": {
"contentBounds": {
"type": "SCALAR",
"componentType": "FLOAT64",
"array": true,
"count": 4,
"semantic": "CONTENT_BOUNDING_SPHERE"
}
}
}
}
}
}
},
"geometricError": 4096.0,
"root": {
"transform": [
2048, 0, 0, 0,
0, 2048, 0, 0,
0, 0, 2048, 0,
6500000, 0, 0, 1
],
"geometricError": 2048.0,
"boundingVolume": {
"box": [
0, 0, 0,
1, 0, 0,
0, 1, 0,
0, 0, 1
]
},
"children": [
{
"geometricError": 2048.0,
"boundingVolume": {
"box": [
0, 0, 0,
1, 0, 0,
0, 1, 0,
0, 0, 1
]
},
"content": {
"uri": "empty.gltf"
},
"extensions": {
"3DTILES_implicit_tiling": {
"subdivisionScheme": "OCTREE",
"subtreeLevels": 3,
"availableLevels": 3,
"subtrees": {
"uri": "subtrees/1.0/{level}.{x}.{y}.{z}.json"
}
}
}
}
]
}
}

View File

@ -5,7 +5,7 @@
"schema": {
"id": "ImplicitContentBoundingVolumeSemanticsMetadataSchemaId",
"classes": {
"tile": {
"content": {
"properties": {
"contentBounds": {
"type": "SCALAR",

View File

@ -1,52 +0,0 @@
{
"buffers": [
{
"uri": "../metadata.bin",
"byteLength": 1344
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 168
},
{
"buffer": 0,
"byteOffset": 168,
"byteLength": 168
},
{
"buffer": 0,
"byteOffset": 336,
"byteLength": 1008
}
],
"tileAvailability": {
"constant": 1
},
"contentAvailability": [
{
"constant": 1
}
],
"childSubtreeAvailability": {
"constant": 0
},
"extensions": {
"3DTILES_metadata": {
"class": "tile",
"properties": {
"minimumHeight": {
"bufferView": 0
},
"maximumHeight": {
"bufferView": 1
},
"boundingRegion": {
"bufferView": 2
}
}
}
}
}

View File

@ -1,6 +1,6 @@
{
"buffers": [
{
{
"uri": "../metadata.bin",
"byteLength": 1344
}
@ -35,7 +35,7 @@
},
"propertyTables": [
{
"class": "tile",
"class": "content",
"count": 21,
"properties": {
"minimumHeight": {
@ -50,5 +50,5 @@
}
}
],
"tileMetadata": 0
}
"contentMetadata": [0]
}

View File

@ -1,69 +0,0 @@
{
"asset": {
"version": "1.0"
},
"extensionsUsed": [
"3DTILES_implicit_tiling",
"3DTILES_metadata"
],
"extensionsRequired": [
"3DTILES_implicit_tiling"
],
"extensions": {
"3DTILES_metadata": {
"schema": {
"id": "ImplicitContentHeightAndRegionSemanticsMetadataSchemaId",
"classes": {
"tile": {
"properties": {
"minimumHeight": {
"type": "SCALAR",
"componentType": "FLOAT64",
"semantic": "CONTENT_MINIMUM_HEIGHT"
},
"maximumHeight": {
"type": "SCALAR",
"componentType": "FLOAT64",
"semantic": "CONTENT_MAXIMUM_HEIGHT"
},
"boundingRegion": {
"type": "SCALAR",
"componentType": "FLOAT64",
"array": true,
"count": 6,
"semantic": "CONTENT_BOUNDING_REGION"
}
}
}
}
}
}
},
"geometricError": 4096.0,
"root": {
"geometricError": 2048.0,
"boundingVolume": {
"region": [
0,
0,
0.00314,
0.00314,
0,
10000
]
},
"content": {
"uri": "empty.gltf"
},
"extensions": {
"3DTILES_implicit_tiling": {
"subdivisionScheme": "QUADTREE",
"subtreeLevels": 3,
"availableLevels": 3,
"subtrees": {
"uri": "subtrees/1.0/{level}.{x}.{y}.json"
}
}
}
}
}

View File

@ -5,7 +5,7 @@
"schema": {
"id": "ImplicitContentHeightAndRegionSemanticsMetadataSchemaId",
"classes": {
"tile": {
"content": {
"properties": {
"minimumHeight": {
"type": "SCALAR",

View File

@ -1,44 +0,0 @@
{
"buffers": [
{
"uri": "../metadata.bin",
"byteLength": 336
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 168
},
{
"buffer": 0,
"byteOffset": 168,
"byteLength": 168
}
],
"tileAvailability": {
"constant": 1
},
"contentAvailability": [
{
"constant": 1
}
],
"childSubtreeAvailability": {
"constant": 0
},
"extensions": {
"3DTILES_metadata": {
"class": "tile",
"properties": {
"minimumHeight": {
"bufferView": 0
},
"maximumHeight": {
"bufferView": 1
}
}
}
}
}

View File

@ -30,7 +30,7 @@
},
"propertyTables": [
{
"class": "tile",
"class": "content",
"count": 21,
"properties": {
"minimumHeight": {
@ -42,5 +42,5 @@
}
}
],
"tileMetadata": 0
}
"contentMetadata": [0]
}

View File

@ -1,62 +0,0 @@
{
"asset": {
"version": "1.0"
},
"extensionsUsed": [
"3DTILES_implicit_tiling",
"3DTILES_metadata"
],
"extensionsRequired": [
"3DTILES_implicit_tiling"
],
"extensions": {
"3DTILES_metadata": {
"schema": {
"id": "ImplicitContentHeightSemanticsMetadataSchemaId",
"classes": {
"tile": {
"properties": {
"minimumHeight": {
"type": "SCALAR",
"componentType": "FLOAT64",
"semantic": "CONTENT_MINIMUM_HEIGHT"
},
"maximumHeight": {
"type": "SCALAR",
"componentType": "FLOAT64",
"semantic": "CONTENT_MAXIMUM_HEIGHT"
}
}
}
}
}
}
},
"geometricError": 4096.0,
"root": {
"geometricError": 2048.0,
"boundingVolume": {
"region": [
0,
0,
0.00314,
0.00314,
0,
10000
]
},
"content": {
"uri": "empty.gltf"
},
"extensions": {
"3DTILES_implicit_tiling": {
"subdivisionScheme": "QUADTREE",
"subtreeLevels": 3,
"availableLevels": 3,
"subtrees": {
"uri": "subtrees/1.0/{level}.{x}.{y}.json"
}
}
}
}
}

View File

@ -5,7 +5,7 @@
"schema": {
"id": "ImplicitContentHeightSemanticsMetadataSchemaId",
"classes": {
"tile": {
"content": {
"properties": {
"minimumHeight": {
"type": "SCALAR",

View File

@ -1,79 +0,0 @@
{
"buffers": [
{
"byteLength": 32,
"uri": "../buffers/shared.bin"
},
{
"byteLength": 24,
"uri": "../buffers/contentMetadata.bin"
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 1
},
{
"buffer": 0,
"byteOffset": 8,
"byteLength": 5
},
{
"buffer": 0,
"byteOffset": 16,
"byteLength": 12
},
{
"buffer": 1,
"byteOffset": 0,
"byteLength": 8
},
{
"buffer": 1,
"byteOffset": 8,
"byteLength": 12
}
],
"tileAvailability": {
"bitstream": 0,
"availableCount": 4
},
"contentAvailability": [
{
"bitstream": 0,
"availableCount": 4
}
],
"childSubtreeAvailability": {
"constant": 0
},
"propertyTables": [
{
"class": "building",
"properties": {
"height": {
"values": 3
},
"color": {
"values": 4
}
}
}
],
"contentMetadata": [0],
"extensions": {
"3DTILES_metadata": {
"class": "tile",
"properties": {
"quadrant": {
"values": 1
},
"color": {
"values": 2
}
}
}
}
}

View File

@ -1,101 +0,0 @@
{
"asset": {
"version": "1.0"
},
"extensionsUsed": [
"3DTILES_implicit_tiling",
"3DTILES_metadata"
],
"extensionsRequired": [
"3DTILES_implicit_tiling"
],
"extensions": {
"3DTILES_metadata": {
"schema": {
"id": "ImplicitContentMetadataSchemaId",
"classes": {
"tile": {
"properties": {
"quadrant": {
"type": "ENUM",
"enumType": "quadrantType"
},
"color": {
"type": "VEC3",
"componentType": "UINT8"
}
}
},
"building": {
"properties": {
"height": {
"type": "SCALAR",
"componentType": "UINT16",
"semantic": "_BUILDING_HEIGHT"
},
"color" : {
"type": "VEC3",
"componentType": "UINT8"
}
}
}
},
"enums": {
"quadrantType": {
"valueType": "UINT8",
"values": [
{
"name": "Southwest",
"value": 0
},
{
"name": "Southeast",
"value": 1
},
{
"name": "Northwest",
"value": 2
},
{
"name": "Northeast",
"value": 3
},
{
"name": "None",
"value": 4
}
]
}
}
}
}
},
"geometricError": 240,
"root": {
"boundingVolume": {
"region": [
-1.3197209591796106,
0.6988424218,
-1.3196390408203893,
0.6989055782,
0,
88
]
},
"content": {
"uri": "content/{level}/{x}/{y}.b3dm"
},
"extensions": {
"3DTILES_implicit_tiling": {
"subdivisionScheme": "QUADTREE",
"subtreeLevels": 2,
"availableLevels": 2,
"subtrees": {
"uri": "subtrees/1.0/{level}.{x}.{y}.json"
}
}
},
"geometricError": 70,
"refine": "ADD"
}
}

View File

@ -1,81 +0,0 @@
{
"asset": {
"version": "1.0"
},
"extensionsUsed": [
"3DTILES_implicit_tiling",
"3DTILES_multiple_contents",
"3DTILES_metadata"
],
"extensionsRequired": [
"3DTILES_implicit_tiling"
],
"extras": {
"name": "Sample Implicit Tileset"
},
"extensions": {
"3DTILES_metadata": {
"schema": {
"id": "ImplicitMultipleContentsWithMetadataSchemaId",
"classes": {
"building": {
"properties": {
"height": {
"type": "SCALAR",
"componentType": "UINT16",
"semantic": "_BUILDING_HEIGHT"
},
"color" : {
"type": "VEC3",
"componentType": "UINT8"
}
}
},
"tree": {
"properties": {
"age": {
"type": "SCALAR",
"componentType": "UINT16"
}
}
}
}
}
}
},
"geometricError": 240,
"root": {
"boundingVolume": {
"region": [
-1.3197309591796106,
0.6988324218,
-1.3196290408203893,
0.6989155782,
0,
88
]
},
"extensions": {
"3DTILES_implicit_tiling": {
"subdivisionScheme": "QUADTREE",
"subtreeLevels": 2,
"availableLevels": 2,
"subtrees": {
"uri": "subtrees/{level}.{x}.{y}.json"
}
},
"3DTILES_multiple_contents": {
"content": [
{
"uri": "ground/{level}/{x}/{y}.b3dm"
},
{
"uri": "sky/{level}/{x}/{y}.b3dm"
}
]
}
},
"geometricError": 70,
"refine": "ADD"
}
}

View File

@ -0,0 +1,5 @@
# PointCloudBatchedJsonOnly
A regression test for https://github.com/CesiumGS/cesium/issues/11166,
created from `PointCloudBatched` by omitting the binary part of the
batch table.

View File

@ -0,0 +1,21 @@
{
"asset": {
"version": "1.0"
},
"geometricError": 17.32,
"root": {
"refine": "ADD",
"boundingVolume": {
"sphere": [
1215012.8828876738,
-4736313.051199594,
4081605.22126042,
5
]
},
"geometricError": 0,
"content": {
"uri": "pointCloudBatchedJsonOnly.pnts"
}
}
}

View File

@ -0,0 +1,14 @@
# PointCloudDracoInvalid
A test related to https://github.com/CesiumGS/cesium/issues/12872 :
For a certain period of time (2 years), and under certain conditions, the
point cloud tiler generated invalid PNTS files when draco compression
was enabled. The batch table could define certain properties as binary
body references, without a batch table binary being present, and without
the `3DTILES_draco_point_compression` extension object being present
in the batch table JSON.
The PNTS file here is one PNTS file from the data set that was linked
in the issue (with details in the issue description). This is to
ensure that CesiumJS gracefully handles this case, without crashing.

View File

@ -0,0 +1,16 @@
{
"asset": {
"version": "1.0"
},
"extensionsRequired": ["3DTILES_draco_point_compression"],
"extensionsUsed": ["3DTILES_draco_point_compression"],
"geometricError": 1.7320508075688772,
"root": {
"boundingVolume": {
"box": [0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.5]
},
"content": { "uri": "pointCloudDracoInvalid.pnts" },
"geometricError": 0.0,
"refine": "ADD"
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More