merge in work on controller from webjs branch

This commit is contained in:
Nick Fisher
2024-02-02 18:17:40 +08:00
parent 17e4014b3e
commit 0d9cf8a9ff
10 changed files with 688 additions and 132 deletions

View File

@@ -38,12 +38,6 @@ abstract class FilamentController {
Stream<FilamentEntity> get onUnload;
///
/// A [ValueNotifier] that holds the current dimensions (in physical pixels, after multiplying by pixel ratio) of the FilamentWidget.
/// If you need to perform work as early as possible, add a listener to this property before a [FilamentWidget] has been inserted into the widget hierarchy.
///
ValueNotifier<Rect?> get rect;
///
/// A [ValueNotifier] to indicate whether a FilamentViewer is currently available.
/// (FilamentViewer is a C++ type, hence why it is not referenced) here.
@@ -168,6 +162,11 @@ abstract class FilamentController {
///
Future loadIbl(String lightingPath, {double intensity = 30000});
///
/// Rotates the IBL & skybox.
///
Future rotateIbl(Matrix3 rotation);
///
/// Removes the image-based light from the scene.
///
@@ -273,6 +272,12 @@ abstract class FilamentController {
Future setMorphAnimationData(
FilamentEntity entity, MorphAnimationData animation);
///
/// Resets all bones in the given entity to their rest pose.
/// This should be done before every call to addBoneAnimation.
///
Future resetBones(FilamentEntity entity);
///
/// Starts animating a bone (joint) according to the specified [animation].
///
@@ -503,6 +508,11 @@ abstract class FilamentController {
Future<FilamentEntity> getChildEntity(
FilamentEntity parent, String childName);
///
/// Lists all child meshes under the given entity.
///
Future<List<String>> getMeshNames(FilamentEntity entity, {bool async = true});
///
/// If [recording] is set to true, each frame the framebuffer/texture will be written to /tmp/output_*.png.
/// This will impact performance; handle with care.