jupyter-widgets / pythreejs

A Jupyter - Three.js bridge
https://pythreejs.readthedocs.io
Other
952 stars 190 forks source link

update the underlying threejs to a more recent version #359

Open bernhard-42 opened 3 years ago

bernhard-42 commented 3 years ago

I'd like to remap mouse bindings, which seems to work beginning from r99 (https://stackoverflow.com/a/54154920) Unfortunately pythreejs still seems to sue r97 ( https://github.com/jupyter-widgets/pythreejs/blob/150ff1c10c868b17fefa63d19153b5ee1fe87f66/js/package.json#L40 )

Now, r97 is from 26 Sep 2018 and threejs is now already on version r128, which includes many new features and fixes.

Since my project (https://github.com/bernhard-42/jupyter-cadquery) heavily relies on pythreejs, I curious, are there any plans to update pythreejs to more closely follow threejs.

vidartf commented 3 years ago

I don't have the spare time to follow the three js releases manually. If anyone are able to make a script that makes a good base of the spec by scraping the threejs API docs, then it would be much more sustainable.

vidartf commented 3 years ago

(and when I say spec, I mean this spec: https://github.com/jupyter-widgets/pythreejs/blob/master/js/scripts/three-class-config.js)

bernhard-42 commented 3 years ago

I had a look at it and do understand your issue. I think the only way to keep a "bindings" project like pythreejs up to date is to have a fully automated conversion process. For me pythreejs is a too complex mixture of manual code parts and automated code parts, so I have to admit, I quickly gave up ... I am now exploring whether vtk.js could replace pythreejs in my projects

akaszynski commented 3 years ago

@bernhard-42, I'm also looking between vtk-js and three-js. Did you come to any conclusions?

bernhard-42 commented 3 years ago

@akaszynski I looked at vtk-js and while it has a lot of nice features, it doesn't fully support what vtk has (e.g. for my project I missed assemblies and shader based clipping). Furthermore, vtk to me looked more centered around medical use cases (and I actually don't need all the great volume stuff) and threejs more like a generic 3d framework

Since I don't feel that pythreejs will be updated soon, I reimplemented my complete pythreejs based cad viewer in javascript and built a single ipywidgets wrapper around it. If you are happy with programming in Javascript this is what I would recommend. The custom widget thing might be a little bit bumpy until it works, but definitely worth the effort.

Just my 2 cent ...

akaszynski commented 3 years ago

Thanks for replying @bernhard-42. I'm considering writing a viewer from scratch as well, but was hoping on using pythreejs since it's really close to what I need.