ros3djs icon indicating copy to clipboard operation
ros3djs copied to clipboard

[wip] Upgrade to threejs 134 - after ES classes

Open sevenbitbyte opened this issue 4 years ago • 1 comments

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

  1. 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
  2. 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

Screenshot from 2021-11-08 13-17-54

Interactive Markers ported

Screenshot from 2021-11-08 12-46-34

URDF loader interception using service worker

Screenshot from 2021-11-07 08-17-47

https://github.com/datapartyjs/teleop-xyz/pull/7 https://github.com/RobotWebTools/ros3djs/pull/438 https://github.com/RobotWebTools/ros3djs/issues/460

sevenbitbyte avatar Nov 08 '21 21:11 sevenbitbyte

Are we still working on this PR or does it paused/stoped for some reason? Appreciate any clarification!

haoming29 avatar Jun 15 '22 01:06 haoming29

Stale

MatthijsBurgh avatar Feb 07 '23 14:02 MatthijsBurgh