fix web/JS extension defn of addBoneAnimation

This commit is contained in:
Nick Fisher
2024-06-01 12:41:58 +08:00
parent 2c588c9eaa
commit 3083730c2b

View File

@@ -1,10 +1,11 @@
@JS() @JS()
library flutter_filament_js; library flutter_filament_js;
import 'dart:js_interop'; import 'dart:js_interop';
import 'package:dart_filament/dart_filament/entities/filament_entity.dart'; import 'package:dart_filament/dart_filament/entities/filament_entity.dart';
extension type DartFilamentJSShim(JSObject _) implements JSObject {
extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('initialized') @JS('initialized')
external JSPromise<JSBoolean> get initialized; external JSPromise<JSBoolean> get initialized;
@@ -27,8 +28,7 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
external JSPromise setBackgroundImage(String path, bool fillHeight); external JSPromise setBackgroundImage(String path, bool fillHeight);
@JS('setBackgroundImagePosition') @JS('setBackgroundImagePosition')
external JSPromise setBackgroundImagePosition(double x, double y, external JSPromise setBackgroundImagePosition(double x, double y, bool clamp);
bool clamp);
@JS('clearBackgroundImage') @JS('clearBackgroundImage')
external JSPromise clearBackgroundImage(); external JSPromise clearBackgroundImage();
@@ -54,23 +54,22 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('addLight') @JS('addLight')
external JSPromise<JSNumber> addLight( external JSPromise<JSNumber> addLight(
int type, int type,
double colour, double colour,
double intensity, double intensity,
double posX, double posX,
double posY, double posY,
double posZ, double posZ,
double dirX, double dirX,
double dirY, double dirY,
double dirZ, double dirZ,
double falloffRadius, double falloffRadius,
double spotLightConeInner, double spotLightConeInner,
double spotLightConeOuter, double spotLightConeOuter,
double sunAngularRadius, double sunAngularRadius,
double sunHaloSize, double sunHaloSize,
double sunHaloFallof, double sunHaloFallof,
bool castShadows bool castShadows);
);
@JS('removeLight') @JS('removeLight')
external JSPromise removeLight(FilamentEntity light); external JSPromise removeLight(FilamentEntity light);
@@ -92,9 +91,7 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('loadGltf') @JS('loadGltf')
external JSPromise<JSNumber> loadGltf( external JSPromise<JSNumber> loadGltf(
String path, String path, String relativeResourcePath);
String relativeResourcePath
);
@JS('panStart') @JS('panStart')
external JSPromise panStart(double x, double y); external JSPromise panStart(double x, double y);
@@ -122,8 +119,13 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
external JSPromise<JSArray<JSString>> getMorphTargetNames( external JSPromise<JSArray<JSString>> getMorphTargetNames(
FilamentEntity entity, FilamentEntity childEntity); FilamentEntity entity, FilamentEntity childEntity);
@JS('getBoneNames')
external JSPromise<JSArray<JSString>> getBoneNames(
FilamentEntity entity, int skinIndex);
@JS('getAnimationNames') @JS('getAnimationNames')
external JSPromise<JSArray<JSString>> getAnimationNames(FilamentEntity entity); external JSPromise<JSArray<JSString>> getAnimationNames(
FilamentEntity entity);
@JS('getAnimationDuration') @JS('getAnimationDuration')
external JSPromise<JSNumber> getAnimationDuration( external JSPromise<JSNumber> getAnimationDuration(
@@ -131,18 +133,23 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('setMorphAnimationData') @JS('setMorphAnimationData')
external JSPromise setMorphAnimationData( external JSPromise setMorphAnimationData(
FilamentEntity entity, FilamentEntity entity,
JSArray<JSArray<JSNumber>> animation, JSArray<JSArray<JSNumber>> animation,
JSArray<JSString> morphTargets, JSArray<JSString> morphTargets,
JSArray<JSString>? targetMeshNames, JSArray<JSString>? targetMeshNames,
double frameLengthInMs double frameLengthInMs);
);
@JS('resetBones') @JS('resetBones')
external JSPromise resetBones(FilamentEntity entity); external JSPromise resetBones(FilamentEntity entity);
@JS('addBoneAnimation') @JS('addBoneAnimation')
external JSPromise addBoneAnimation(FilamentEntity entity, JSObject animation); external JSPromise addBoneAnimation(
FilamentEntity entity,
JSArray<JSString> bones,
JSArray<JSString> meshNames,
JSArray<JSArray<JSArray<JSNumber>>> frameData,
JSNumber frameLengthInMs,
JSBoolean isModelSpace);
@JS('removeEntity') @JS('removeEntity')
external JSPromise removeEntity(FilamentEntity entity); external JSPromise removeEntity(FilamentEntity entity);
@@ -162,7 +169,7 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('playAnimation') @JS('playAnimation')
external JSPromise playAnimation( external JSPromise playAnimation(
FilamentEntity entity, FilamentEntity entity,
int index, int index,
bool loop, bool loop,
bool reverse, bool reverse,
bool replaceActive, bool replaceActive,
@@ -172,7 +179,7 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('playAnimationByName') @JS('playAnimationByName')
external JSPromise playAnimationByName( external JSPromise playAnimationByName(
FilamentEntity entity, FilamentEntity entity,
String name, String name,
bool loop, bool loop,
bool reverse, bool reverse,
bool replaceActive, bool replaceActive,
@@ -261,7 +268,8 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('transformToUnitCube') @JS('transformToUnitCube')
external JSPromise transformToUnitCube(FilamentEntity entity); external JSPromise transformToUnitCube(FilamentEntity entity);
@JS('setPosition') @JS('setPosition')
external JSPromise setPosition(FilamentEntity entity, double x, double y, double z); external JSPromise setPosition(
FilamentEntity entity, double x, double y, double z);
@JS('setScale') @JS('setScale')
external JSPromise setScale(FilamentEntity entity, double scale); external JSPromise setScale(FilamentEntity entity, double scale);
@JS('setRotation') @JS('setRotation')
@@ -269,21 +277,17 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
FilamentEntity entity, double rads, double x, double y, double z); FilamentEntity entity, double rads, double x, double y, double z);
@JS('queuePositionUpdate') @JS('queuePositionUpdate')
external JSPromise queuePositionUpdate( external JSPromise queuePositionUpdate(
FilamentEntity entity, double x, double y, double z, FilamentEntity entity, double x, double y, double z, bool relative);
bool relative);
@JS('queueRotationUpdate') @JS('queueRotationUpdate')
external JSPromise queueRotationUpdate( external JSPromise queueRotationUpdate(FilamentEntity entity, double rads,
FilamentEntity entity, double rads, double x, double y, double z, double x, double y, double z, bool relative);
bool relative);
@JS('queueRotationUpdateQuat') @JS('queueRotationUpdateQuat')
external JSPromise queueRotationUpdateQuat( external JSPromise queueRotationUpdateQuat(
FilamentEntity entity, JSArray<JSNumber> quat, FilamentEntity entity, JSArray<JSNumber> quat, bool relative);
bool relative);
@JS('setPostProcessing') @JS('setPostProcessing')
external JSPromise setPostProcessing(bool enabled); external JSPromise setPostProcessing(bool enabled);
@JS('setAntiAliasing') @JS('setAntiAliasing')
external JSPromise setAntiAliasing( external JSPromise setAntiAliasing(bool msaa, bool fxaa, bool taa);
bool msaa, bool fxaa, bool taa);
@JS('setRotationQuat') @JS('setRotationQuat')
external JSPromise setRotationQuat( external JSPromise setRotationQuat(
FilamentEntity entity, JSArray<JSNumber> rotation); FilamentEntity entity, JSArray<JSNumber> rotation);
@@ -298,9 +302,9 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('setCameraManipulatorOptions') @JS('setCameraManipulatorOptions')
external JSPromise setCameraManipulatorOptions( external JSPromise setCameraManipulatorOptions(
int mode, int mode,
double orbitSpeedX , double orbitSpeedX,
double orbitSpeedY , double orbitSpeedY,
double zoomSpeed , double zoomSpeed,
); );
@JS('getChildEntities') @JS('getChildEntities')
external JSPromise<JSArray<JSNumber>> getChildEntities( external JSPromise<JSArray<JSNumber>> getChildEntities(
@@ -310,9 +314,7 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
FilamentEntity parent, String childName); FilamentEntity parent, String childName);
@JS('getChildEntityNames') @JS('getChildEntityNames')
external JSPromise<JSArray<JSString>> getChildEntityNames( external JSPromise<JSArray<JSString>> getChildEntityNames(
FilamentEntity entity, FilamentEntity entity, bool renderableOnly);
bool renderableOnly
);
@JS('setRecording') @JS('setRecording')
external JSPromise setRecording(JSBoolean recording); external JSPromise setRecording(JSBoolean recording);
@JS('setRecordingOutputDirectory') @JS('setRecordingOutputDirectory')
@@ -324,14 +326,12 @@ extension type DartFilamentJSShim(JSObject _) implements JSObject {
@JS('removeCollisionComponent') @JS('removeCollisionComponent')
external JSPromise removeCollisionComponent(FilamentEntity entity); external JSPromise removeCollisionComponent(FilamentEntity entity);
@JS('createGeometry') @JS('createGeometry')
external JSPromise<JSNumber> createGeometry( external JSPromise<JSNumber> createGeometry(JSArray<JSNumber> vertices,
JSArray<JSNumber> vertices, JSArray<JSNumber> indices, JSArray<JSNumber> indices, String? materialPath, int primitiveType);
String? materialPath, int primitiveType);
@JS('setParent') @JS('setParent')
external JSPromise setParent(FilamentEntity child, FilamentEntity parent); external JSPromise setParent(FilamentEntity child, FilamentEntity parent);
@JS('testCollisions') @JS('testCollisions')
external JSPromise testCollisions(FilamentEntity entity); external JSPromise testCollisions(FilamentEntity entity);
@JS('setPriority') @JS('setPriority')
external JSPromise setPriority(FilamentEntity entityId, int priority); external JSPromise setPriority(FilamentEntity entityId, int priority);
} }