Closed Seikida closed 2 years ago
Hi, there was a long discussion on this already here #4806
https://www.npmjs.com/package/super-three had a 0.128.3 release 19 days ago. I guess based on the branch https://github.com/supermedium/three.js/commits/super-r128 Is that right @dmarcos? Each time you update super-three, you create a new branch from threejs repo and rebase the needed changes on top?
@vincentfretin Yes, I create a branch, rebase and publish on npm. A-Frame master is already using super r128
We use a thin three fork because we ship features not included in THREE upstream like for instance WebVR support (Firefox doesn't ship WebXR). The fork also decouples A-Frame and THREE roadmaps. e.g: WebXR compositor layers shipped in A-Frame in early 2021 and THREE only offered support a few weeks ago. From A-Frame we have no control on when PRs and features will ship / land in upstream THREE. A fork gives us flexibility.
FYI, the fork was updated to THREE r128 a few weeks ago (a couple of versions behind THREE upstream) and already merged in master that you can use through master builds. Look at branches for up to date code.
Any features you missed that are not in THREE r128?
Just a note, THREE is at 135 now
Why can you not add a layer over THREE after it loads instead? Subclasses or monkey patching whatnot. Its hard to tell without setting up a second project just in THREE what's could be broken wasting a lot of time. Material Nodes is constantly in flux but its a pretty necessary tool set from THREE for example for those that need it. Im not saying you don't have it, its just an example. They are also fixing things in the lighting like Lightmaps discussions.
And there there's Hubs which has its own layer of OY
@tripdragon FYI, master is on THREE r133. See commit messages for link to latest builds: https://github.com/aframevr/aframe/commits/master
We don't monkey patch THREE. We maintain our own thin fork with support for some old APIs (e.g WebVR) and also fix bugs add features when PRs take long to land in THREE mainstream (e.g A-Frame had early support for WebXR compositor layers before THREE). There shouldn't be major API changes.
You can always see on console what version of THREE is A-Frame at. THREE changelog applies to keep track of changes. e.g A-Frame 1.2.0 is on THREE r125
A-Frame Version: 1.2.0 (Date 2021-02-05, Commit #b220fa00) (aframe-master.min.js, line 2718)
THREE Version (https://github.com/supermedium/three.js): – "^0.125.1"
Hopefully it's more clear now. Thanks
Master is now on latest THREE r136. I think there's nothing actionable on A-Frame side. We can reopen if necessary
Just replying to say thank you for the notes, though I don't see the new version in a cdn, do I need to pull master? Oh I see, the links are in the git logs ba393c305e7636f76b304699f82fc83dac18e4c2 Update master CDN URL. (https://cdn.jsdelivr.net/gh/aframevr/aframe@8… …
Thats a little easy to miss since its not on the front page readme and the link does not have a version in the url
related issue https://github.com/aframevr/aframe/issues/5000
looks like with newer r137 mixing the aframe THREE require('three') and import parts from three in own components does not work anymore
would love to see aframe with threejs imports
Where do you see it failing? Any links?
there was a error on r137 r137.1 should fix this! https://discourse.threejs.org/t/r137-import-jsm-module-with-webpack-build-pipeline-error-since-r137/34148/6
Thanks. So it’s a fix on THREE side as I understand? Any PR open?
@dmarcos is there spec of "own thin fork of three.js" ? did you mean this "super-three" actually pruning some three.js? like I find Object3D.matrixWorldAutoUpdate properties in three.js documentation. but not exist in aframe 1.3.0 threejs object3d.
@flankechen The feature you're talking about was merged in three r144, so it's not in aframe 1.3.0 that uses three r137. Aframe master is currently using r144 via super-three fork that add some features back, see the 8 latest commit in the branch https://github.com/supermedium/three.js/commits/super-r144 You currently need to do your own build from master, the bot is down.
Hello, You have your Three.js fork but I think maintaining it is costly and sometimes it is hard to bump into the upstream Three.js. So is it possible to replace your fork to the official one by removing your specific code from Three.js.
Your fork "super-three" hasn't been updated for many years, while official Three.js is regularly updated.
→ You can check (your fork): https://github.com/supermedium/three.js → Official Three.js: https://github.com/mrdoob/three.js
If you want continue to use "super-three" ... why not because can you update "super-three" with every Three.js update?
Thank you