GaussianSplattingStream: public "base layer ready" signal and access to decoded centres

Babylon.js 9.29.0 (@babylonjs/loaders SPLAT).

For a standalone GaussianSplattingStream:

  • there’s no public signal that its coarse (base) layer is complete: _baseLayerReady is private, and isReady() reports the depth sort;
  • there’s no public access to the centres decoded so far: the mesh’s _splatPositions is protected, splatPositions is public only on a hosted streaming part (IGaussianSplattingStreamingPart), and splatsData is null for a stream.

We register a scan to the floor from its centres, so we wait for the base layer and read them. Today that means polling the private flag and reading the protected buffer.

Could there be an observable or promise for “base layer ready”, and a read-only accessor for the decoded centres (or a callback per decoded batch)?

cc @Cedric

Hi @picitujeromanov , yes, this would be a nice addition. Please open a PR and I’ll be glad to review it!