Skip to content

Commit 5690a51

Browse files
committed
Merge branch 'master' into pmc/fix-blanking-fill
2 parents b2e40ab + 8839911 commit 5690a51

1,388 files changed

Lines changed: 50366 additions & 12496 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ rush.json @iTwin/itwinjs-core-admins
129129
/extensions/frontend-tiles @iTwin/itwinjs-core-display @danieliborra
130130
/extensions/test-extension @aruniverse @calebmshafer @wgoehrig
131131
/extensions/map-layers-* @aruniverse @mdastous-bentley @eringram
132+
/extensions/cesium-renderer @iTwin/itwinjs-core-display
132133

133134
/full-stack-tests/core @iTwin/itwinjs-core-admins
134135
/full-stack-tests/ecschema-rpc-interface @calebmshafer @ColinKerr @wgoehrig

.github/workflows/extract-api.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ jobs:
3737
run: node common/scripts/install-run-rush.js install
3838

3939
- name: Rush build
40-
run: node common/scripts/install-run-rush.js build -v -p max --to-version-policy prerelease-monorepo-lockStep
40+
run: |
41+
node common/scripts/install-run-rush.js build -v -p max --to-version-policy prerelease-monorepo-lockStep
42+
node common/scripts/install-run-rush.js build --only cesium-renderer
4143
4244
- name: Rush extract-api
4345
run: node common/scripts/install-run-rush.js extract-api

.vscode/cSpell.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"changesets",
8181
"changesummary",
8282
"circumcenter",
83+
"circumcenters",
8384
"circumcircle",
8485
"circumcircles",
8586
"Cloneable",
@@ -90,6 +91,7 @@
9091
"codespec",
9192
"codevalue",
9293
"coff",
94+
"colinearity",
9395
"collinearity",
9496
"colorpicker",
9597
"comparator",
@@ -199,6 +201,7 @@
199201
"inradius",
200202
"instanbul",
201203
"intepreting",
204+
"internaldocs",
202205
"interoperate",
203206
"interpolant",
204207
"Intersectable",
@@ -308,6 +311,7 @@
308311
"readlink",
309312
"readonly",
310313
"rebased",
314+
"rebaser",
311315
"Rect's",
312316
"recurse",
313317
"recurses",
@@ -354,6 +358,7 @@
354358
"submenu",
355359
"subquery",
356360
"subtractive",
361+
"Succ",
357362
"superclass",
358363
"superclasses",
359364
"superset",
@@ -438,6 +443,7 @@
438443
"Viewport's",
439444
"viewports",
440445
"viewstate",
446+
"Voronoi",
441447
"webgl",
442448
"webpack",
443449
"weightpicker",

.vscode/launch.json

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,23 @@
606606
"${workspaceFolder}/full-stack-tests/*/lib/**/*.js"
607607
]
608608
},
609+
{
610+
"name": "[perftests] Changeset PerfTests (Offline)",
611+
"presentation": {
612+
"group": "6_Misc"
613+
},
614+
"cwd": "${workspaceFolder}/full-stack-tests/backend",
615+
"type": "node",
616+
"request": "launch",
617+
"runtimeExecutable": "npm",
618+
"runtimeArgs": [
619+
"run",
620+
"perftest:changesetPerformance"
621+
],
622+
"outFiles": [
623+
"${workspaceFolder}/full-stack-tests/*/lib/**/*.js"
624+
]
625+
},
609626
{
610627
"name": "[perftests] ElementAspect PerfTests",
611628
"presentation": {
@@ -1100,7 +1117,12 @@
11001117
"console": "integratedTerminal",
11011118
"cwd": "${workspaceFolder}/core/frontend", // necessary to pick up frontend's vitest config
11021119
"program": "node_modules/vitest/vitest.mjs",
1103-
"args": ["--run", "--inspect", "--no-file-parallelism", "--test-timeout=0"], // disable test timeout while debugging
1120+
"args": [
1121+
"--run",
1122+
"--inspect",
1123+
"--no-file-parallelism",
1124+
"--test-timeout=0"
1125+
], // disable test timeout while debugging
11041126
"autoAttachChildProcesses": true
11051127
},
11061128
{

CONTRIBUTING.md

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ The goal of this document is to provide a high-level overview of how you can get
2121
- [Branch Naming Policy](#branch-naming-policy)
2222
- [Contributor License Agreement (CLA)](#contributor-license-agreement-cla)
2323
- [Pull Requests](#pull-requests)
24+
- [Backporting to Release Branches](#backporting-to-release-branches)
2425
- [Types of Contributions](#types-of-contributions)
2526
- [Frequently Asked Questions](#frequently-asked-questions)
2627
- [Rush commands take too long, is there a way to speed up my contribution workflow?](#rush-commands-take-too-long-is-there-a-way-to-speed-up-my-contribution-workflow)
@@ -105,6 +106,7 @@ Add a `.only` to a `describe()` or `it()` test function. Afterwards, run the cus
105106
});
106107

107108
```
109+
108110
</details>
109111

110112
<details>
@@ -137,9 +139,11 @@ export default defineConfig({
137139
...
138140
})
139141
```
142+
140143
</details>
141144

142145
To distinguish whether a package is using vitest or mocha, look at the `package.json` `devDependencies`.
146+
143147
## Asking Questions
144148

145149
Have a question?
@@ -205,7 +209,7 @@ There are just a few guidelines you need to follow.
205209

206210
### Branch Naming Policy
207211

208-
We recommend putting your github username, followed by a succinct branch name that reflects the changes you want to make. Eg. ` git checkout -b "<gh_username>/cleanup-docs"`
212+
We recommend putting your github username, followed by a succinct branch name that reflects the changes you want to make. Eg. `git checkout -b "<gh_username>/cleanup-docs"`
209213

210214
Branch names should be all lowercase to avoid potential issues with non-case-sensitive systems and words should be separated by a dash. Eg: `my-itwin-changes`
211215

@@ -220,6 +224,29 @@ All submissions go through a review process.
220224
We use GitHub pull requests for this purpose.
221225
Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests.
222226

227+
#### Backporting to Release Branches
228+
229+
When bug fixes or critical changes need to be applied to release branches (e.g., `release/5.1.x`), follow these best practices for backporting:
230+
231+
**Best Practices:**
232+
233+
- **Master First Approach**: Changes should always go into `master` first, then be backported to release branches if required for future releases. Avoid backporting from release branches to `master` whenever possible to maintain clean commit history and reduce conflicts
234+
- **PR Naming Convention**: Always wrap the target branch name in square brackets in your PR title
235+
- Example: `[release/5.1.x] Fix critical bug in geometry calculations`
236+
- **Use @Mergifyio**: For backporting PRs from `master` to release branches, we recommend using `@Mergifyio` to automate the process
237+
- Comment `@Mergifyio backport release/X.X.x` on the original PR to create an automatic backport. Use the release branch you want to target
238+
- Note: `@Mergifyio` automatically cherry-picks commits, but may encounter merge conflicts. If conflicts occur, you must resolve them manually and then remove the `conflicts` label from your PR to proceed
239+
- **Cherry-pick Carefully**: When manually backporting, ensure all dependencies and related changes are included
240+
- **Minimal Changes**: Keep backports focused and avoid unnecessary refactoring or feature additions
241+
242+
**Example Workflow:**
243+
244+
1. Identify the commits that need to be backported from `master`
245+
2. Create a new branch from the target release branch (e.g., `release/5.1.x`)
246+
3. Cherry-pick or manually apply the necessary changes
247+
4. Create a PR with the branch name in square brackets in the title
248+
5. Ensure all tests pass and the change is compatible with the release version
249+
223250
### Types of Contributions
224251

225252
We welcome contributions, large or small, including:
@@ -243,16 +270,19 @@ If your source code change only impacts the subdirectory you are working on, you
243270
Eg. I add a new method within `core/frontend`, also adding a relevant unit test in that folder's `src/test`. I can navigate to the root of that subdirectory, and run `rushx build`, followed by `rushx test` or `rushx cover`.
244271

245272
### Do I have to rebuild all packages in the repo, even those I didn't work on?
273+
246274
No. For incremental builds, the `rush build` command can be used to only build packages that have changes versus `rush rebuild` which always rebuilds all packages.
247275

248276
> It is a good idea to `rush install` after each `git pull` as dependencies may have changed.
249-
>
277+
250278
### A subdirectory can not find a node_modules file or directory
279+
251280
If you get an error similar to the following:
252281

253-
```
282+
```bash
254283
[Error: ENOENT: no such file or directory, stat '/.../itwinjs-core/test-apps/display-test-app/node_modules/@bentley/react-scripts']
255284
```
285+
256286
This means that the repo has stopped making use of an npm package that was used in the past:
257287

258288
To fix this build error, you should completely remove the node_modules directory and reinstall your dependencies. `rush update --purge` is a one-line solution for the above.

common/api/cesium-renderer.api.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## API Report File for "@itwin/cesium-renderer"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
import { EcefLocation } from '@itwin/core-common';
8+
import { Point3d } from '@itwin/core-geometry';
9+
import { Range3d } from '@itwin/core-geometry';
10+
import { Vector3d } from '@itwin/core-geometry';
11+
import { ViewDefinition3dProps } from '@itwin/core-common';
12+
13+
// @alpha
14+
export interface CesiumCameraProps {
15+
direction: Vector3d;
16+
frustum: CesiumFrustumProps;
17+
position: Point3d;
18+
up: Vector3d;
19+
}
20+
21+
// @alpha
22+
export interface CesiumFrustumProps {
23+
far: number;
24+
fov?: number;
25+
near: number;
26+
width?: number;
27+
}
28+
29+
// @alpha
30+
export function createCesiumCameraProps(opts: {
31+
viewDefinition: ViewDefinition3dProps;
32+
ecefLoc?: EcefLocation;
33+
modelExtents?: Range3d;
34+
}): CesiumCameraProps;
35+
36+
// (No @packageDocumentation comment for this package)
37+
38+
```

0 commit comments

Comments
 (0)