Skip to content

Conversation

@georginahalpern
Copy link
Contributor

@georginahalpern georginahalpern commented Jun 6, 2025

My other large fluent PR is timing out at the UMD build step due to OOM memory on the linux build machine

This PR introduces a single line component, using a ProperytLine-wrapped primitive, and a single tool enabling fluent (i.e. one instance of each part of the larger PR)

If this build fails I will incrementally remove pieces to try to pinpoint exactly which part is causing OOM.

In parallel we are also discussing splitting up the build step into more granular steps.


  1. (141bf56, 9e3b373, 25e1c89) All components: UMD build failed
  2. (fb3f559) Remove fluent context and fluent wrapper in NME, removed usage of fluent from existing textlinecomponent: UMD build passes, but then building babylon-test app in UMD fails
  3. (e6e585d, 5daac3f**) Fluent typings to any (+regex fix): Test app passes (no longer seeing fluentinput errors in d.ts files)**
  4. Bring back textinputlinecomponent/fluenttoolwrapper change (without NME change) -- UMD/ES6 fails -- this is then followed by several unsuccessful commits to try to fix the UMD failures
    • Simply remove the import * from React in textinputlinecomponent and the React.ChangeEvent -- UMD fails
    • Remove nested providers - UMD fails (with linting failures)
    • Remove textinputlinecomponent - no more UMD failures, still seeing linting failures
    • Import just the react component i'm using vs import * from react - no more linting failures, all succeeds
    • Add back conditional fluent rendering from textinputlinecomponent - UMD/es6 build warnings are back
    • Fix propertyline imports to be dynamic and not from root - still showing warnings -- note that the % of memory usage is very close to 95% so its possible we just tipped things over the edge with additional imports but the low memory has always existed due to our singel build step
    • Remove icon imports
  5. (5a94de8) Reduce parallelization in build steps -- fixed the OOM warnings/failures in build steps, es6/umd build pass, but still see failure in the es6 npm build modules size during the sceneWithInspector step due to reaching heap limit
  6. (53d405c) Point public inspector/gui editor package.json entrypoint to minified bundle (vs max) - solved the heap allocation error - all build steps pass (just a failure in test caused by the below bug)
  7. (cf35e8c, d24c8d8) Fix an issue with my binding that fixed the sandbox test failures
  8. (d5a697a) Revert parallelization of build step to see if pointing to minified bundle solved -- still see OOM issues :(
  9. (b50114d) Rather than pointing public package to minified bundle, update webpack config to specify optimization{usedExports:true} in order to treeshake unminified bundle -- still see OOM issues
  10. (50e8c2e) Reduce parallelization to 4 - OOM warnings but they pass, then reach heap allocation failures
  11. (b03e2f5, 9c040e6, 04e8327)Try both treeshaking and minified -- still see OOM warnings but all builds succeed (deployment step never finished)?
  12. (a208d2a)Point to minified bundle for UMD packages too see build see OOM warnings but the build succeeds, but then failure when checking if sandbox snapshot exists? looks like the deployment step never completed?
    15.(2f7a3f2) Add raanan's precompile optimizations no build change triggered (i think because it existed in master already)
  13. (834d53d) - Remove the usedExports change, just use the minified bundle in public package and UMD -- still see OOM warnings and then causing UMD build to fail) - so clearly 4 is not enough parallelization even though sometimes it passes

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Building or testing the sandbox has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Building or testing the playground has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Graph tools CI has failed you can find the test results at:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Building or testing the sandbox has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Building or testing the playground has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 6, 2025

Graph tools CI has failed you can find the test results at:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

You have made possible changes to the playground.
You can test the snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/

The snapshot playground with the CDN snapshot (only when available):

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/?snapshot=refs/pull/16730/merge

Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

You have changed file(s) that made possible changes to the sandbox.
You can test the sandbox snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

Building or testing the sandbox has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

Building or testing the playground has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 9, 2025

Graph tools CI has failed you can find the test results at:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/TOOLS/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

Reviewer - this PR has made changes to the build configuration file.

This build will release a new package on npm

If that was unintentional please make sure to revert those changes or close this PR.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

You have made possible changes to the playground.
You can test the snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/

The snapshot playground with the CDN snapshot (only when available):

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/?snapshot=refs/pull/16730/merge

Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

You have changed file(s) that made possible changes to the sandbox.
You can test the sandbox snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 12, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

You have changed file(s) that made possible changes to the sandbox.
You can test the sandbox snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

You have made possible changes to the playground.
You can test the snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/

The snapshot playground with the CDN snapshot (only when available):

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/?snapshot=refs/pull/16730/merge

Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

Reviewer - this PR has made changes to one or more package.json files.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

You have made possible changes to the playground.
You can test the snapshot here:

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/

The snapshot playground with the CDN snapshot (only when available):

https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/PLAYGROUND/refs/pull/16730/merge/?snapshot=refs/pull/16730/merge

Note that neither Babylon scenes nor textures are uploaded to the snapshot directory, so some playgrounds won't work correctly.

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

Building or testing the sandbox has failed.

If the tests failed, results can be found here:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/SANDBOX/refs/pull/16730/merge/testResults/

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

@bjsplat
Copy link
Collaborator

bjsplat commented Jun 16, 2025

georginahalpern added a commit that referenced this pull request Jun 17, 2025
…existing shared components if useFluent context is true (#16709)

View shared-ui-components/src/fluent/**readme.md** for a complete
overview of these changes and the plan for rolling them out!

The changes in this PR can be broken down into the below buckets, with
several examples for each. Future PRs will be more incremental, can
bring 1 control at a time.

- shared-ui-components/src/**fluent**: contains new primitives and HOCs
(including FluentToolWrapper, which wraps children in FluentProvider and
ContextProvider<{useFluent=true}> if the 'newUX' string is present in
the QSP or hash)
- shared-ui-components/src/**lines**: existing shared components,
updated to conditionally render above fluent components if anywhere
upstream is wrapped in a FluentToolWrapper
- examples **enabling fluent in the below tools**  
  - packages/tools/nodeEditor/src/graphEditor.tsx (NME) 
-
packages/dev/inspector/src/components/actionTabs/tabs/propertyGridTabComponent.tsx
(inspectorV1 property panel)
- shared-ui-components/src/fluent/tempInspectorV2 (temp folder to show
usage before ryan's changes are merged - u can view them in PR history
but won't be checked in with the final merge)
     
Miscellaneous: 
- eslint change to allow useFoo to be camelcased (since that is the
standard w fluent)
- generateDeclaration.ts change to cast fluent types to any in the d.ts
files so that consumers don't need to declare fluent dependency (same
thing we do for fontawesome)

NOTE that introducing fluent introduced some build issues in this PR,
which were diagnosed/ resolved in this [test
PR](#16730) and then checked
in separately in [this
PR](#16759).

---------

Co-authored-by: Georgina <[email protected]>
Co-authored-by: Raanan Weber <[email protected]>
Co-authored-by: Ryan Tremblay <[email protected]>
@deltakosh deltakosh closed this Jun 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants