Cesiumjs seems to be a self-contained viewer with its own rendering engine. Is it possible to recreate a version of the library that is similar in design to whats being done with Unity & Unreal? Would be great to be able to develop specific experiences & apps using 3d mapping but in web-based engines like threejs, babylonjs, etc while making it easy to incorporate into existing 3d based applications.
Here’s an example of @𝗪𝗼𝗼𝗼𝗿𝗹𝗱 AR experience of using 3d maps.(https://twitter.com/haltor/status/1594166328356704258)
Being able to recreate this using threejs & webXR would be pretty amazing. I’ve seen this sort of thing being created using the cesium’s unity library recently, so it makes me wonder why not the web too. This sort of experience is something I’d love to do on a personal level.
On a professional level, having the library detached from the renderer & being able to reuse in other web based renderers makes it easier to use in existing tools. For me internally we’ve been toying with basic tile rendering for the web along with using WebXR to create VR prototype experiences of things like walking around while being able to place & transform assets in the scene with the hopes of geo anchoring them to tiles. Would save us time in the long run if we could just use a 3d map library like the unity cesium to handle the mapping part of things. Other fun ideas is to incorporate physics & do car races around the world, do pokemon go like things or geo caching to name a few other things.
When it comes to how the library is created, Typescript would be the logical step for something this big & complicated. I’d probably prefer using Rust compiled to web assembly. Not only will you get a performance boost & better memory management, but it can go beyond the web. Using projects like Wgpu which is written in rust & leverage’s WebGPU to create applications for the web and native desktops / mobile. It can go one step further by using the rust binding library to make it usable in the godot game engine. This approach will be far reaching & reusable where typescript will limit things to just the web.