Babylon Lite Explorer

When you work with Babylon Lite scenes it is very important to know what is happening.

A compact (tarball 30kB) Preact explorer for Babylon Lite. The built-in adapter reads (and provides editing when possible) only documented public fields from @babylonjs/lite; it never probes underscore-prefixed or otherwise private engine state.

npm install babylon-lite-explorer

Demo:

Similar to Babylon Inspector, but Liter. Much lighter.

In the beginning only the part of available API is supported. The Babylon Lite quickly evolves and Explorer will grow as well (I hope).

GitHub - eldinor/babylon-lite-explorer: A small, public-API-only explorer for Babylon Lite. Similar to Babylon Inspector but Liter · GitHub

11 Likes

cc @ryantrem :slight_smile:

The latest Explorer in the Lite Playground - Babylon Lite Playground

2 Likes

So pretty, cc @ryantrem

Very cool! As you might imagine, we do plan to add support for Lite in Inspector as well. Any learnings so far that you’d like to see in Inspector?

In the Explorer the hardest boundary was avoiding private fields while still showing useful information through public API only.

The Lite typedoc could be improved a lot to be more clear for human users, especially in cases when the using of “a function” means that you need to use another function first in order to achieve the desired result.

In split-module environments, the app and Inspector can accidentally use different Lite module instances. It would be good to have the official way to bind to the exact Lite runtime used by the app.

Custom app diagnostics may need a supported way to register extra objects/nodes etc into Inspector (similar to custom extensions in Babylon.js Inspector).

Not sure that React Fluent is light enough for Lite. In Babylon.js Inspector it increases the build time and size significantly.

3 Likes

Updated to Lite 1.9.0

  • Upgraded the Babylon Lite peer and development dependency to 1.9.0.
  • Made scene image-processing exposure, contrast, and tone-mapping enabled state editable through Babylon Lite 1.9.0 setSceneImageProcessing().
  • Kept tone-mapping algorithm read-only after auditing Babylon Lite 1.9.0’s PBR shader caches; changing only the algorithm can reuse cached tone-mapping WGSL.

The new release 0.4.1

  • Added public metadata inspection for scene, node, camera, light, material, texture, and animation group entities in the Properties panel.
  • Added a mesh Delete action in the selected-entity bar and as a red Scene Explorer row action. Delete confirmation is available through confirmEntityRemoval and is off by default. Transform node, light, and camera removal intentionally wait for an official Babylon Lite public removal API beyond mesh removal.
  • Added extension panes, external command-backed row actions, and a first createInstancerExplorerAdapter() with instancerAdapter.register(set) plus a dedicated Instancer adapter example.
2 Likes

Explorer 0.5.0 now has Instancer Adapter.

Example - Explorer Instancer Adapter

Full (almost) Explorer control over thin instances, created with Lite Instancer.

The Instancer adapter adds a dedicated Instancer tab for applications that use @litools/instancer. It keeps the regular Scene Explorer focused on real scene objects while letting users inspect, pick, edit, reset, and export registered thin instance sets.

3 Likes

I created two Issues on babylon-lite-explorer before I realized that maybe I should be posting those here, like I do with the babylon-lite. Oops. Let me know if you want me to delete and/or copy those over. Thanks!

I’ll address these issues at the next update.

Updated to 0.6.0

npm i babylon-lite-explorer

More mesh geometry and extended GPU picking and much more.

Let me know if you are happy now :slight_smile:

5 Likes

To be clear, I was happy before. Now I’m ecstatic. Thank you!

2 Likes