Skip to content

Commit

Permalink
Merge branch 'main' into issue_8944
Browse files Browse the repository at this point in the history
  • Loading branch information
jfayot committed Sep 11, 2024
2 parents 82381cd + da804fe commit 4595e4d
Show file tree
Hide file tree
Showing 18 changed files with 192 additions and 35 deletions.
22 changes: 15 additions & 7 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,39 @@

##### Additions :tada:

- Added `enableVerticalExaggeration` option to models. Set this value to `false` to prevent model exaggeration when `Scene.verticalExaggeration` is set to a value other than `1.0`. [#12141](https://github.com/CesiumGS/cesium/pull/12141)
- Added `CallbackPositionProperty` to allow lazy entity position evaluation. [#12170](https://github.com/CesiumGS/cesium/pull/12170)

### 1.121 - 2024-09-01
##### Fixes :wrench:

- Use first geometryBuffer if no best match found in I3SNode [#12132](https://github.com/CesiumGS/cesium/pull/12132)

### 1.121.1 - 2024-09-04

This is an npm-only release to extra source maps included in 1.121

### 1.121 - 2024-09-03

#### @cesium/engine

##### Additions :tada:

- Enable MSAA by default with 4 samples. To turn MSAA off set `scene.msaaSamples = 1` [#12158](https://github.com/CesiumGS/cesium/pull/12158)
- Made the `time` parameter optional for `Property`, using `JulianDate.now()` as default. [#12099](https://github.com/CesiumGS/cesium/pull/12099)
- Exposes `ScreenSpaceCameraController.zoomFactor` to allow adjusting the zoom factor (speed). [#9145](https://github.com/CesiumGS/cesium/pull/9145)
- Expose the `tonemapper` property of `PostProcessStageCollection` to allow changing the tonemap used when HDR is turned on. This defaults to the [PBR Neutral Tonemap from Khronos](https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral) [#12160](https://github.com/CesiumGS/cesium/pull/12160)
- The enum `Tonemapper` contains the list of valid tonemap options to use with the `tonemapper` setting
- Expose the `exposure` property of `PostProcessStageCollection` to allow changing the exposure used for the current HDR tonemap [#12160](https://github.com/CesiumGS/cesium/pull/12160)
- Added `WaterMask` globe material, which visualizes areas of water or land based on the terrain's water mask. [#12149](https://github.com/CesiumGS/cesium/pull/12149)
- Made the `time` parameter optional for `Property`, using `JulianDate.now()` as default. [#12099](https://github.com/CesiumGS/cesium/pull/12099)
- Exposes `ScreenSpaceCameraController.zoomFactor` to allow adjusting the zoom factor (speed). [#9145](https://github.com/CesiumGS/cesium/pull/9145)

##### Fixes :wrench:

- Update CameraEventAggregator to only trigger events for the currently held modifier while dragging. Events are canceled for all modifiers when the mouse is lifted. [#11903](https://github.com/CesiumGS/cesium/pull/11903)
- Update `CameraEventAggregator` to only trigger events for the currently held modifier while dragging. Events are canceled for all modifiers when the mouse is lifted. [#11903](https://github.com/CesiumGS/cesium/pull/11903)
- Fixed cube-mapping artifacts in image-based lighting. [#12100](https://github.com/CesiumGS/cesium/pull/12100)
- Fixed specular reflection artifact in PBR direct lighting. [#12116](https://github.com/CesiumGS/cesium/pull/12116)
- Added multiscattering terms to diffuse BRDF in image-based lighting. [#12118](https://github.com/CesiumGS/cesium/pull/12118)
- Fixed CallbackProperty type not being present on entity position. [#12120](https://github.com/CesiumGS/cesium/pull/12120)
- Additional TypeScript types export in package.json to assist some project configurations using Cesium. [#12122](https://github.com/CesiumGS/cesium/pull/12122)
- Fixed `CallbackProperty` type not being present on entity position. [#12120](https://github.com/CesiumGS/cesium/pull/12120)
- Additional TypeScript types export in `package.json` to assist some project configurations using Cesium. [#12122](https://github.com/CesiumGS/cesium/pull/12122)
- Fixed documentation about default values for Label origins [#12139](https://github.com/CesiumGS/cesium/pull/12139)

##### Breaking Changes :mega:
Expand All @@ -40,7 +49,6 @@
- `SceneTransforms.wgs84ToDrawingBufferCoordinates` has been removed. Use `SceneTransforms.worldToDrawingBufferCoordinates` instead.
- Removed `jitter` option from `VoxelPrimitive.js`, `VoxelRenderResources.js`, and related test code in `VoxelPrimitiveSpec.js`. [#11913](https://github.com/CesiumGS/cesium/issues/11913)
- Custom specular environment maps in `ImageBasedLighting` now require either a WebGL2 context or a WebGL1 context that supports the [`EXT_shader_texture_lod` extension](https://registry.khronos.org/webgl/extensions/EXT_shader_texture_lod/).
- `ScreenSpaceCameraController._zoomFactor` replaced with public zoomFactor attribute.

### 1.120 - 2024-08-01

Expand Down
3 changes: 3 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,8 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to Cesiu
- [T2 Software](http://t2.com.tr/)
- [Hüseyin ATEŞ](https://github.com/ateshuseyin)
- [İbrahim Furkan Aygar](https://github.com/furkanaygar)
- MSA
- [Timothy Eichfeld](https://github.com/timeichfeld-msa)
- [EMapGis](http://emapgis.com)
- [IKangXu](https://github.com/IKangXu)
- [EMapGIS](https://github.com/EMapGIS)
Expand Down Expand Up @@ -405,6 +407,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to Cesiu
- [Vladislav Yunev](https://github.com/YunVlad)
- [Levi Montgomery](https://github.com/Levi-Montgomery)
- [Brandon Berisford](https://github.com/BeyondBelief96)
- [Lawrence Owen](https://github.com/ljowen)
- [Adam Wirth](https://github.com/adamwirth)
- [Javier Sanchez](https://github.com/jvrjsanchez)
- [Jérôme Fayot](https://github.com/jfayot)
14 changes: 11 additions & 3 deletions Documentation/Contributors/ReleaseGuide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,15 @@ There is no release manager; instead, our community shares the responsibility. A
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.
7. Update the ArcGIS Developer API key in `ArcGisMapService.js` with a new API key from the CesiumJS ArcGIS Developer account. These API keys are named like this: `1.85 Release - Delete on November 1st, 2021`. Delete the API key from the last release.
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
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)
5. Only turn on "Basemaps" permissions
6. Skip adding items
7. Set the title and copy the API key on the last screen
8. Open the previous release's item and Delete it
8. Proofread [`CHANGES.md`](../../../CHANGES.md) with the date of the release. Adjust the order of changes so that prominent/popular changes come first. Ensure each change is in the section for the relevant workspace.
9. Based on `CHANGES.md`, update each workspace version following the rules of [semantic versioning](https://semver.org/), e.g.,
`npm version minor -w @cesium/engine --no-git-tag-version`.
Expand All @@ -45,8 +53,8 @@ There is no release manager; instead, our community shares the responsibility. A
25. Push your commits to main
- `git push`
26. Create and push a [tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging), e.g.,
- `git tag -a 1.1 -m "1.1 release"`
- `git push origin 1.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.)
- `git tag -a 1.121 -m "1.121 release"`
- `git push origin 1.121` (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.)
27. Publish the release zip file to GitHub
- https://github.com/CesiumGS/cesium/releases/new
- Select the tag you use pushed
Expand Down
8 changes: 4 additions & 4 deletions ThirdParty.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
"license": [
"MIT"
],
"version": "23.1.3",
"version": "25.0.0",
"url": "https://www.npmjs.com/package/@tweenjs/tween.js"
},
{
"name": "@zip.js/zip.js",
"license": [
"BSD-3-Clause"
],
"version": "2.7.48",
"version": "2.7.52",
"url": "https://www.npmjs.com/package/@zip.js/zip.js"
},
{
Expand Down Expand Up @@ -158,15 +158,15 @@
"license": [
"BSD-3-Clause"
],
"version": "7.3.2",
"version": "7.4.0",
"url": "https://www.npmjs.com/package/protobufjs"
},
{
"name": "rbush",
"license": [
"MIT"
],
"version": "4.0.0",
"version": "4.0.1",
"url": "https://www.npmjs.com/package/rbush"
},
{
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cesium",
"version": "1.120.0",
"version": "1.121.1",
"description": "CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.",
"homepage": "http://cesium.com/cesiumjs/",
"license": "Apache-2.0",
Expand Down Expand Up @@ -51,8 +51,8 @@
"./Specs/**/*"
],
"dependencies": {
"@cesium/engine": "^10.1.0",
"@cesium/widgets": "^7.1.0"
"@cesium/engine": "^11.0.0",
"@cesium/widgets": "^8.0.0"
},
"devDependencies": {
"@playwright/test": "^1.41.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/engine/Source/Core/Ion.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Resource from "./Resource.js";

let defaultTokenCredit;
const defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxY2UxZDdkOS02YTJkLTQ2Y2EtYmMxNS03ZDI2NWQ1NzUzMjAiLCJpZCI6MjU5LCJpYXQiOjE3MjI1Mjg0MTl9.IMe1VGs-5blTCJJA1y76M8WNixMgms2C87kIkXQVcww";
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxMjY5YWQzZS04ZGIyLTRlMjEtYjcwNS1iYmY0NDNmN2E3ZjAiLCJpZCI6MjU5LCJpYXQiOjE3MjUzNzYwMzZ9.L0mzOLcquvnxOpG5DnqWQmivpRCwePDt3WAgzb8VlVA";
/**
* Default settings for accessing the Cesium ion API.
*
Expand Down
20 changes: 20 additions & 0 deletions packages/engine/Source/DataSources/ModelGraphics.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ function createArticulationStagePropertyBag(value) {
* @property {Property | boolean} [show=true] A boolean Property specifying the visibility of the model.
* @property {Property | string | Resource} [uri] A string or Resource Property specifying the URI of the glTF asset.
* @property {Property | number} [scale=1.0] A numeric Property specifying a uniform linear scale.
* @property {Property | boolean} [enableVerticalExaggeration=true] A boolean Property specifying if the model is exaggerated along the ellipsoid normal when {@link Scene.verticalExaggeration} is set to a value other than <code>1.0</code>.
* @property {Property | number} [minimumPixelSize=0.0] A numeric Property specifying the approximate minimum pixel size of the model regardless of zoom.
* @property {Property | number} [maximumScale] The maximum scale size of a model. An upper limit for minimumPixelSize.
* @property {Property | boolean} [incrementallyLoadTextures=true] Determine if textures may continue to stream in after the model is loaded.
Expand Down Expand Up @@ -70,6 +71,10 @@ function ModelGraphics(options) {
this._uriSubscription = undefined;
this._scale = undefined;
this._scaleSubscription = undefined;
this._hasVerticalExaggeration = undefined;
this._hasVerticalExaggerationSubscription = undefined;
this._enableVerticalExaggeration = undefined;
this._enableVerticalExaggerationSubscription = undefined;
this._minimumPixelSize = undefined;
this._minimumPixelSizeSubscription = undefined;
this._maximumScale = undefined;
Expand Down Expand Up @@ -150,6 +155,16 @@ Object.defineProperties(ModelGraphics.prototype, {
*/
scale: createPropertyDescriptor("scale"),

/**
* Gets or sets the boolean Property specifying if the model is exaggerated along the ellipsoid normal when {@link Scene.verticalExaggeration} is set to a value other than <code>1.0</code>.
* @memberof ModelGraphics.prototype
* @type {Property|undefined}
* @default true
*/
enableVerticalExaggeration: createPropertyDescriptor(
"enableVerticalExaggeration"
),

/**
* Gets or sets the numeric Property specifying the approximate minimum
* pixel size of the model regardless of zoom. This can be used to ensure that
Expand Down Expand Up @@ -333,6 +348,7 @@ ModelGraphics.prototype.clone = function (result) {
result.show = this.show;
result.uri = this.uri;
result.scale = this.scale;
result.enableVerticalExaggeration = this.enableVerticalExaggeration;
result.minimumPixelSize = this.minimumPixelSize;
result.maximumScale = this.maximumScale;
result.incrementallyLoadTextures = this.incrementallyLoadTextures;
Expand Down Expand Up @@ -370,6 +386,10 @@ ModelGraphics.prototype.merge = function (source) {
this.show = defaultValue(this.show, source.show);
this.uri = defaultValue(this.uri, source.uri);
this.scale = defaultValue(this.scale, source.scale);
this.enableVerticalExaggeration = defaultValue(
this.enableVerticalExaggeration,
source.enableVerticalExaggeration
);
this.minimumPixelSize = defaultValue(
this.minimumPixelSize,
source.minimumPixelSize
Expand Down
8 changes: 8 additions & 0 deletions packages/engine/Source/DataSources/ModelVisualizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import Property from "./Property.js";
import Cartographic from "../Core/Cartographic.js";

const defaultScale = 1.0;
const defaultEnableVerticalExaggeration = true;
const defaultMinimumPixelSize = 0.0;
const defaultIncrementallyLoadTextures = true;
const defaultClampAnimations = true;
Expand Down Expand Up @@ -198,6 +199,13 @@ ModelVisualizer.prototype.update = function (time) {
time,
defaultScale
);

model.enableVerticalExaggeration = Property.getValueOrDefault(
modelGraphics._enableVerticalExaggeration,
time,
defaultEnableVerticalExaggeration
);

model.minimumPixelSize = Property.getValueOrDefault(
modelGraphics._minimumPixelSize,
time,
Expand Down
2 changes: 1 addition & 1 deletion packages/engine/Source/Scene/ArcGisMapService.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import Resource from "../Core/Resource.js";

let defaultTokenCredit;
const defaultAccessToken =
"AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmTRbx8gaNqtBYKRq3vEnwSKnwUE1aRn2Siyo0gHWzzPwpJd-ZUeTyDgQZPqW8C6pXNLOE3bRO6-Jz3NFmp-qNquqGBQTATcCHbNsL-h9CPyMMPGsTcUvzPlIInazMfkWJNbFmqJeSzPj_1DHshXa0XCfkQn5mVxlF2dFt10Mq2bGo0HkpdpXwNQdoGwdphsLoU.AT1_CpQKgEim";
"AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmSXu8_pRnGhnW6yZLct-ukUzbJaZRAVfnmUrxDcAu_FaFDIC3M57EwfRm_DuTw9D5oHdLBTYIMD3tpUeFsNDjHHqar5fb1FGIN9KIV1Gk64dNBmhHhuOHY8cq2IhI0XFLj2qnAlqtKnM-lLsO6JpHuHPVD799V1o9VFm9vMW6a66vEi8-e--2QzKQecPYiaq98.AT1_p4pHwb3n";
/**
* Default options for accessing the ArcGIS image tile service.
*
Expand Down
10 changes: 8 additions & 2 deletions packages/engine/Source/Scene/I3SLayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,15 @@ I3SLayer.prototype._findBestGeometryBuffers = function (
};
}
}
// If no match found return first geometryBuffer
if (defined(geometryDefinition[0])) {
return {
bufferIndex: 0,
definition: geometryDefinition,
geometryBufferInfo: geometryDefinition[0],
};
}
}

return 0;
};

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/engine/Source/Scene/I3SNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ I3SNode.prototype.load = async function () {
const uriIndex = node.mesh.geometry.resource;
uri = `../${uriIndex}/`;
}
if (defined(uri)) {
if (defined(uri) && defined(that._parent.resource)) {
that._resource = that._parent.resource.getDerivedResource({ url: uri });
}

Expand Down
Loading

0 comments on commit 4595e4d

Please sign in to comment.