Ever considered creating a new web or rust library similar to Unity & Unreals?

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.

@sketchpunk Welcome to the community! It’s great to see someone as passionate about 3D and xr/geospatial as we are.

As you mentioned, what you describe is exactly how Unreal & Unity and our other native client projects are created, through a renderer agnostic core library, cesium-native (open source, just like our other clients). cesium-native could absolutely be used to build Cesium for godot or any other thick client engines.

While we currently don’t have any plans to create a full-blown web equivalent to cesium-native, we are very interested in using technologies like WebAssembly to compile cesium-native for use on the web. It’s not something we’re actively exploring yet, but definitely something we have our eye on.

Cesium cesium-native is open source, you could actually try that our yourself if you were interested. Such a library could then be integrated into Three, Babylon or other general-purpose web-based renderers.