[wip] Upgrade to threejs 134 - after ES classes
Work In Progress
Public API Changes
One - pretty stoked about that
let viewer = new ROS3D.Viewer( { vr: true/false } )
Description
Closes #460
This has been a very high interest topic for quite some time
This builds upon PR #438 to upgrade threejs to the latest version available
Some of the most new features exposed by r134 are:
- FileLoader using
fetch() - Baseline VR support
Motivation
I've been dying to get my hands on a more modern version of three.js in ros3djs so that I can support generic URDF model loading with minimal changes to ros3d or threejs. Namely I wanted to get URDFs loading from via { rosbridge <> ros_file_server } and this required a 3js r134 where FileLoader begins using fetch(). More details on my use case for r134 here -> https://github.com/datapartyjs/teleop-xyz/pull/7
Questions
- Version number, seems we're heading well into 2.x territory and recommend PR #438 be 2.0.0 and this version be 2.1.0 or merge both these PRs as 2.0.0
- Leaks, there seem to be unchanged memory perf. issues. I suggest we merge we take both PR #438 and this PR - then prioritize finding & fixing memory leaks.
Status
Currently testing my scenarios, so far build is passing but there are still a few untested display types. I'll update with my progress.
I noticed performance issues are unchanged. I suspect we have some pretty large memory leaks in integration points of roslib/rosd3djs/threejs (tfClient seems like the common theme so far). I'll spend sometime leak hunting and make issues as I zero in.
VR Supported

Interactive Markers ported

URDF loader interception using service worker

https://github.com/datapartyjs/teleop-xyz/pull/7 https://github.com/RobotWebTools/ros3djs/pull/438 https://github.com/RobotWebTools/ros3djs/issues/460
Are we still working on this PR or does it paused/stoped for some reason? Appreciate any clarification!
Stale