-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Npm Update Trial #17554
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Npm Update Trial #17554
Conversation
…BabylonJS#17313) Co-authored-by: David Catuhe <[email protected]>
…put hashing (BabylonJS#17216) Follow-up to the original PR BabylonJS#17175 The different issues pointed out by different people on the [BJS forum post](https://forum.babylonjs.com/t/babylonjs-playground-multiple-files-with-tabs-esm-npm-imports/60446/44) point to a caching issue - some scripts were loaded fresh while others were stale and cached by the browser. This led to undefined behavior all around and the page would be effectively "broken" depending on which assets were cached or not, i.e. *anything* could go wrong and wouldn't necessarily present as a predictable bug. Previously there were duplicate names from the dist output and monaco worker output which is cached locally in a browser: <img width="1111" height="792" alt="image" src="https://github.com/user-attachments/assets/f0051fe9-8619-4fd7-9549-9ecfc3ba54fc" /> index.html does not have a Cache-Control response header and respects the client's request of `max-age=0` - this is good. index.html should always fetch the latest. It also appears there is a CDN purge script running on the Playground deployment script, although I don't have access to the CI yaml. https://dev.azure.com/babylonjs/ContinousIntegration/_build/results?buildId=44262&view=logs&j=275f1d19-1bd8-5591-b06b-07d489ea915a&t=4d2ea636-6e6e-5831-8b5a-8ce5e9ce8bbc If that's the case for the last operation in that script, good. CDN purge handles the server cache. Takeaway from the existing deployment pipeline and CDN architecture, nothing needs to change. If we can guarantee unique output from a build each time, there is no room for cache confusion from the client's browser. This only applies to the Playground and I haven't looked into other deployed apps. Cache-Control of 2 days is fine. Eventually this issue would've sorted itself out in the field but 2 days is a long time to wait with undefined/broken behavior. The additional changes in this PR are consolidated in these two commits: BabylonJS@1e9c765 knervous@bd197e8 These changes ensure hashed output from every build and deploy for relevant bundled js files. The generated entrypoint for `babylon.playground.[hash].js` is injected into the index.html with the WebpackHTMLPlugin. The helper function for fetching scripts does append a query parameter to bust cache, but dependent chunks of scripts do not automatically follow the same convention. Ideally we can get rid of that `?t=[timestamp]` and let caching do its business. For anyone testing changes, please check https://playgroundv2.vercel.app which should be the exact hosted bundle set from the deployment build. For sanity's sake here are three browsers on mobile tested with the current code: Edge, Firefox and Chrome <img width="216" height="480" alt="image" src="https://github.com/user-attachments/assets/7118d10b-ed77-4fe3-8f48-60f146acdc36" /> <img width="216" height="480" alt="image" src="https://github.com/user-attachments/assets/67873f33-313d-49ce-8070-82dcce064f81" /> <img width="216" height="480" alt="image" src="https://github.com/user-attachments/assets/4fe5ff47-98b3-4f7f-abbd-3a248a469387" /> With editor open: <img width="216" height="480" alt="image" src="https://github.com/user-attachments/assets/9191ac9a-23b0-4d42-943c-2ba9d56127a0" /> --------- Co-authored-by: David Catuhe <[email protected]>
… pane (BabylonJS#17317) This is in response to https://forum.babylonjs.com/t/introducing-inspector-v2/60937/54 Instead of selectively adding a Dispose button in the properties pane for some entities, we now add a Dispose button to the bottom of the General section for any entity that implements `IDisposable` (e.g. has a `dispose` function). Also a tiny bit of cleanup from a recent PR that uses `Collapse` instead of conditionally rendering a component, and uses Title Case for property labels.
…scales (BabylonJS#17319) This change automatically adjusts the camera's `zoomingSensibility` based on camera radius (similar to a few other properties) to make the zooming feel consistent regardless of the size/scale of the model or how far away the camera currently is from the model.
Co-authored-by: David Catuhe <[email protected]>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.6 to 6.4.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/releases">vite's releases</a>.</em></p> <blockquote> <h2>[email protected]</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/[email protected]/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.4.1</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.4.1/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>[email protected]</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/[email protected]/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.4.0</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.4.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.3.7</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.3.7/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vitejs/vite/commit/50034340401b4043bb0b158f18ffb7ae1b7f5c86"><code>5003434</code></a> fix(preview): use host url to open browser (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19836">#19836</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/bf9728e79e8df905de457e15001e65e33cf13f0e"><code>bf9728e</code></a> release: v6.3.0-beta.2</li> <li><a href="https://github.com/vitejs/vite/commit/380c10e665e78ef732a8d7b6c8f60a1226fc4c3b"><code>380c10e</code></a> fix(hmr): run HMR handler sequentially (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19793">#19793</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/8bed1de5710f2a097af0e22a196545446d98f988"><code>8bed1de</code></a> fix: addWatchFile doesn't work if base is specified (fixes <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19792">#19792</a>) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19794">#19794</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/0a0c50a7ed38017469ed6dcec941c2d8d0efd0d0"><code>0a0c50a</code></a> refactor: simplify pluginFilter implementation (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19828">#19828</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/59d0b35b30f3a38be33c0a9bdc177945b6f7eb1b"><code>59d0b35</code></a> perf(css): avoid constructing <code>renderedModules</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19775">#19775</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/175a83909f02d3b554452a7bd02b9f340cdfef70"><code>175a839</code></a> fix: reject requests with <code>#</code> in request-target (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19830">#19830</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/e2e11b15a6083777ee521e26a3f79c3859abd411"><code>e2e11b1</code></a> fix(module-runner): allow already resolved id as entry (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19768">#19768</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/7200deec91a501fb84734e23906f80808734540c"><code>7200dee</code></a> fix: correct the behavior when multiple transform filter options are specifie...</li> <li><a href="https://github.com/vitejs/vite/commit/b1251720d47f15615ea354991cdaa90d9a94aae5"><code>b125172</code></a> fix(css): remove empty chunk imports correctly when chunk file name contained...</li> <li>Additional commits viewable in <a href="https://github.com/vitejs/vite/commits/[email protected]/packages/vite">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/BabylonJS/Babylon.js/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…state (BabylonJS#17322) Added target and currentTarget properties to ColorPicker onValueChangedObservable. Test with this playground: https://playground.babylonjs.com/?snapshot=refs/pull/17322/merge#ZMLBW6#8 See this forum post for more details: https://forum.babylonjs.com/t/obtain-gui-component-within-onvaluechangedobservable-on-slider-and-colorpicker/61045/8
…servable (BabylonJS#17323) Added target and currentTarget properties to slider onValueChangedObservable. Test with this playground: https://playground.babylonjs.com/?snapshot=refs%2Fpull%2F17323%2Fmerge#UBZNMP%230 See this forum post for more details: https://forum.babylonjs.com/t/obtain-gui-component-within-onvaluechangedobservable-on-slider-and-colorpicker/61045/6
This is a better implementation than the previous one (which was implemented as a renderer) because it is now possible to insert other processes (such as post-processes) between scene rendering and the TAA effect (which is also possible with the standard TAA implementation, outside of frame graphs). I also added support for the new `clampHistory` and `reprojectHistory` properties in the new TAA frame graph task. There is one breaking change in this PR: `Material.setVertexOutputInvariant` has been renamed to `Material.isVertexOutputInvariant`. I don't think this is a problem, as this property is fairly new and very specific, and I don't think anyone is using it yet.
Instances are positioned by combining world0, world1, world2, and world3 attributes, vs using the standard world mat4 uniform. We thus need to do special offset to the buffer data to ensure the instances are positioned properly. I experimented with a couple approaches and this was the one that had least perf impact and simplest code (compared to overriding prototype of buffer / vertex buffer in order to achieve this behavior) Both boundingBoxRenderer and edgesRenderer also support instances, so they needed offset logic as well. Tested with the below playground snippets thin instances: /#V1JE4Z#1 instances: /#PB1NS6#264 boundingbox rendering: /#NRNVQA#4 edges rendering: /#7BY3TM Co-authored-by: Georgina Halpern <[email protected]>
I forgot to uncomment some code before commiting in BabylonJS#17326... Retrying to enable the visu test, in case it now works with the CI...
…abylonJS#17331) Small change to store floatingOriginOffset in temp var instead of accessing 3x/offset --------- Co-authored-by: Georgina Halpern <[email protected]>
…17332) Even better-- avoid copying offset to new vect and just store in local var :) --------- Co-authored-by: Georgina Halpern <[email protected]>
…BabylonJS#17335) The preview was included in the scroll region, unlike the other editors, so when it got a vertical scrollbar, that changed the width of the preview which caused the engine to resize. Now SFE behaves like the other editors, and the preview doesn't scroll off screen and isn't affected by the scrollbar. Co-authored-by: AmoebaChant <[email protected]>
This is the first part of Inspector v2 "window management," which is allowing the user to move each pane/tab to any "quadrant" they want (top left, top right, bottom left, bottom right). It includes a bunch of the base changes needed for "undocking" (popping out to floating windows), which will be done in a different PR. - Rework how individual side panes are rendered. Now they are rendered in a React portal that is mounted to a dom node that is not managed by React, but is reparented to the right "quadrant" depending on dock state and tab selection state. This makes it so that each pane is mounted only once - it is not unmounted/remounted when tab selection changes or when it is redocked. This means the user keeps the current state, like the expansion and selection state of scene explorer for example. - Add the concept of pane "location" overrides that are persisted in local storage. When a pane is "re-docked," these overrides are updated and take precedence. - Add a "..." button the right side of the pane header that has a docking menu. - Add the same docking menu as a context menu on the tabs themselves. - In a future change, we may allow multi-select on the tabs so you can easily redock multiple tabs at once (like Chrome/Edge for example). Here are some screenshots that give a sense of the behavior: <img width="1044" height="829" alt="image" src="https://github.com/user-attachments/assets/81bd3c27-fb25-40a6-b664-37dfa2d9d31e" /> <img width="1039" height="826" alt="image" src="https://github.com/user-attachments/assets/55838809-b6b5-48b8-88b7-75f589aa3284" /> <img width="1040" height="829" alt="image" src="https://github.com/user-attachments/assets/02a90399-b552-41f8-8881-f7dcadbb2551" /> <img width="1040" height="830" alt="image" src="https://github.com/user-attachments/assets/2690bce2-1296-4493-9ee3-e6406ba7fe7c" /> <img width="1043" height="831" alt="image" src="https://github.com/user-attachments/assets/151d21f2-dde1-4c79-919c-d6decf4d33ca" /> <img width="500" height="235" alt="image" src="https://github.com/user-attachments/assets/7b6dd973-3b61-4545-aec8-f3856cdd2e8b" />
This implements the OpenPBR fuzz slab for prefiltered and realtime filtered IBL as well as analytic lights. OpenPBR uses this model and I've generated and included the LUT for it: https://github.com/tizian/ltc-sheen?tab=readme-ov-file
…t 19) (BabylonJS#17336) This PR updates the Fluent virtualizer package to the latest, which includes a fix for a [regression](microsoft/fluentui-contrib#526) and supports React 19 (from the [forum](https://forum.babylonjs.com/t/introducing-inspector-v2/60937/11)).
…#17337) The Playground [Editor v2](BabylonJS#17216) updated Monaco which regressed the [workaround ](BabylonJS#16741 tab handling, where when Inspector v2 is open, pressing the tab key while focus is in the code editor moves focus instead of inserting a tab character. To work around this, we added the contentEditable attribute to the actual Monaco html element that has keyboard focus when editing text, but that element has changed in the newer Monaco, so the workaround needs to be updated. Also, the Editor v2 PR removed the comment explaining the workaround, so I just re-added it from the original change.
|
Devhost visualization test reporter: |
|
Visualization tests for WebGPU |
|
WebGL2 visualization test reporter: |
|
Reviewer - this PR has made changes to one or more package.json files. |
|
Smart Filters Editor is available to test at: |
|
You have made possible changes to the playground. https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/17554/merge/ The snapshot playground with the CDN snapshot (only when available): Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly. |
|
You have changed file(s) that made possible changes to the sandbox. https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/17554/merge/ |
|
Devhost visualization test reporter: |
|
WebGL2 visualization test reporter: |
|
Visualization tests for WebGPU |
|
Reviewer - this PR has made changes to one or more package.json files. |
|
Smart Filters Editor is available to test at: |
|
You have made possible changes to the playground. https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/17554/merge/ The snapshot playground with the CDN snapshot (only when available): Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly. |
|
You have changed file(s) that made possible changes to the sandbox. https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/17554/merge/ |
|
Devhost visualization test reporter: |
|
Visualization tests for WebGPU |
|
WebGL2 visualization test reporter: |
|
Reviewer - this PR has made changes to one or more package.json files. |
|
Smart Filters Editor is available to test at: |
|
You have made possible changes to the playground. https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/17554/merge/ The snapshot playground with the CDN snapshot (only when available): Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly. |
|
You have changed file(s) that made possible changes to the sandbox. https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/17554/merge/ |
|
Devhost visualization test reporter: |
|
Visualization tests for WebGPU |
|
WebGL2 visualization test reporter: |
Let s see how bad it is :-)