// Mocks generated by Mockito 5.4.4 from annotations
// in thermion_dart/test/input_handlers.dart.
// Do not manually edit this file.

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'dart:async' as _i6;
import 'dart:typed_data' as _i8;

import 'package:animation_tools_dart/animation_tools_dart.dart' as _i9;
import 'package:mockito/mockito.dart' as _i1;
import 'package:thermion_dart/src/viewer/src/events.dart' as _i7;
import 'package:thermion_dart/src/viewer/src/shared_types/camera.dart' as _i3;
import 'package:thermion_dart/src/viewer/src/shared_types/shared_types.dart'
    as _i4;
import 'package:thermion_dart/src/viewer/src/thermion_viewer_base.dart' as _i5;
import 'package:vector_math/vector_math_64.dart' as _i2;

// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
// ignore_for_file: avoid_setters_without_getters
// ignore_for_file: comment_references
// ignore_for_file: deprecated_member_use
// ignore_for_file: deprecated_member_use_from_same_package
// ignore_for_file: implementation_imports
// ignore_for_file: invalid_use_of_visible_for_testing_member
// ignore_for_file: prefer_const_constructors
// ignore_for_file: unnecessary_parenthesis
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class

class _FakeMatrix4_0 extends _i1.SmartFake implements _i2.Matrix4 {
  _FakeMatrix4_0(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeCamera_1 extends _i1.SmartFake implements _i3.Camera {
  _FakeCamera_1(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeVector3_2 extends _i1.SmartFake implements _i2.Vector3 {
  _FakeVector3_2(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeFrustum_3 extends _i1.SmartFake implements _i2.Frustum {
  _FakeFrustum_3(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeMatrix3_4 extends _i1.SmartFake implements _i2.Matrix3 {
  _FakeMatrix3_4(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeAabb2_5 extends _i1.SmartFake implements _i2.Aabb2 {
  _FakeAabb2_5(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeThermionTexture_6 extends _i1.SmartFake
    implements _i4.ThermionTexture {
  _FakeThermionTexture_6(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

class _FakeMaterialInstance_7 extends _i1.SmartFake
    implements _i4.MaterialInstance {
  _FakeMaterialInstance_7(
    Object parent,
    Invocation parentInvocation,
  ) : super(
          parent,
          parentInvocation,
        );
}

/// A class which mocks [ThermionViewer].
///
/// See the documentation for Mockito's code generation for more information.
class MockThermionViewer extends _i1.Mock implements _i5.ThermionViewer {
  MockThermionViewer() {
    _i1.throwOnMissingStub(this);
  }

  @override
  (double, double) get viewportDimensions => (super.noSuchMethod(
        Invocation.getter(#viewportDimensions),
        returnValue: (0.0, 0.0),
      ) as (double, double));

  @override
  set viewportDimensions((double, double)? _viewportDimensions) =>
      super.noSuchMethod(
        Invocation.setter(
          #viewportDimensions,
          _viewportDimensions,
        ),
        returnValueForMissingStub: null,
      );

  @override
  double get pixelRatio => (super.noSuchMethod(
        Invocation.getter(#pixelRatio),
        returnValue: 0.0,
      ) as double);

  @override
  set pixelRatio(double? _pixelRatio) => super.noSuchMethod(
        Invocation.setter(
          #pixelRatio,
          _pixelRatio,
        ),
        returnValueForMissingStub: null,
      );

  @override
  _i6.Future<bool> get initialized => (super.noSuchMethod(
        Invocation.getter(#initialized),
        returnValue: _i6.Future<bool>.value(false),
      ) as _i6.Future<bool>);

  @override
  _i6.Stream<({int entity, double x, double y})> get pickResult =>
      (super.noSuchMethod(
        Invocation.getter(#pickResult),
        returnValue: _i6.Stream<({int entity, double x, double y})>.empty(),
      ) as _i6.Stream<({int entity, double x, double y})>);

  @override
  _i6.Stream<({int entity, double x, double y})> get gizmoPickResult =>
      (super.noSuchMethod(
        Invocation.getter(#gizmoPickResult),
        returnValue: _i6.Stream<({int entity, double x, double y})>.empty(),
      ) as _i6.Stream<({int entity, double x, double y})>);

  @override
  _i6.Stream<_i7.SceneUpdateEvent> get sceneUpdated => (super.noSuchMethod(
        Invocation.getter(#sceneUpdated),
        returnValue: _i6.Stream<_i7.SceneUpdateEvent>.empty(),
      ) as _i6.Stream<_i7.SceneUpdateEvent>);

  @override
  bool get rendering => (super.noSuchMethod(
        Invocation.getter(#rendering),
        returnValue: false,
      ) as bool);

  @override
  _i6.Future<dynamic> setRendering(bool? render) => (super.noSuchMethod(
        Invocation.method(
          #setRendering,
          [render],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> render() => (super.noSuchMethod(
        Invocation.method(
          #render,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> requestFrame() => (super.noSuchMethod(
        Invocation.method(
          #requestFrame,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<_i8.Uint8List> capture() => (super.noSuchMethod(
        Invocation.method(
          #capture,
          [],
        ),
        returnValue: _i6.Future<_i8.Uint8List>.value(_i8.Uint8List(0)),
      ) as _i6.Future<_i8.Uint8List>);

  @override
  _i6.Future<dynamic> setFrameRate(int? framerate) => (super.noSuchMethod(
        Invocation.method(
          #setFrameRate,
          [framerate],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> dispose() => (super.noSuchMethod(
        Invocation.method(
          #dispose,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setBackgroundImage(
    String? path, {
    bool? fillHeight = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setBackgroundImage,
          [path],
          {#fillHeight: fillHeight},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setBackgroundImagePosition(
    double? x,
    double? y, {
    bool? clamp = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setBackgroundImagePosition,
          [
            x,
            y,
          ],
          {#clamp: clamp},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> clearBackgroundImage() => (super.noSuchMethod(
        Invocation.method(
          #clearBackgroundImage,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setBackgroundColor(
    double? r,
    double? g,
    double? b,
    double? alpha,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setBackgroundColor,
          [
            r,
            g,
            b,
            alpha,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> loadSkybox(String? skyboxPath) => (super.noSuchMethod(
        Invocation.method(
          #loadSkybox,
          [skyboxPath],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> removeSkybox() => (super.noSuchMethod(
        Invocation.method(
          #removeSkybox,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> loadIbl(
    String? lightingPath, {
    double? intensity = 30000.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #loadIbl,
          [lightingPath],
          {#intensity: intensity},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> createIbl(
    double? r,
    double? g,
    double? b,
    double? intensity,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #createIbl,
          [
            r,
            g,
            b,
            intensity,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> rotateIbl(_i2.Matrix3? rotation) => (super.noSuchMethod(
        Invocation.method(
          #rotateIbl,
          [rotation],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> removeIbl() => (super.noSuchMethod(
        Invocation.method(
          #removeIbl,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<int> addLight(
    _i4.LightType? type,
    double? colour,
    double? intensity,
    double? posX,
    double? posY,
    double? posZ,
    double? dirX,
    double? dirY,
    double? dirZ, {
    double? falloffRadius = 1.0,
    double? spotLightConeInner = 0.39269908169872414,
    double? spotLightConeOuter = 0.7853981633974483,
    double? sunAngularRadius = 0.545,
    double? sunHaloSize = 10.0,
    double? sunHaloFallof = 80.0,
    bool? castShadows = true,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #addLight,
          [
            type,
            colour,
            intensity,
            posX,
            posY,
            posZ,
            dirX,
            dirY,
            dirZ,
          ],
          {
            #falloffRadius: falloffRadius,
            #spotLightConeInner: spotLightConeInner,
            #spotLightConeOuter: spotLightConeOuter,
            #sunAngularRadius: sunAngularRadius,
            #sunHaloSize: sunHaloSize,
            #sunHaloFallof: sunHaloFallof,
            #castShadows: castShadows,
          },
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<int> addDirectLight(_i4.DirectLight? light) => (super.noSuchMethod(
        Invocation.method(
          #addDirectLight,
          [light],
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<dynamic> removeLight(int? light) => (super.noSuchMethod(
        Invocation.method(
          #removeLight,
          [light],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> clearLights() => (super.noSuchMethod(
        Invocation.method(
          #clearLights,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<int> loadGlb(
    String? path, {
    int? numInstances = 1,
    bool? keepData = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #loadGlb,
          [path],
          {
            #numInstances: numInstances,
            #keepData: keepData,
          },
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<int> loadGlbFromBuffer(
    _i8.Uint8List? data, {
    int? numInstances = 1,
    bool? keepData = false,
    int? priority = 4,
    int? layer = 0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #loadGlbFromBuffer,
          [data],
          {
            #numInstances: numInstances,
            #keepData: keepData,
            #priority: priority,
            #layer: layer,
          },
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<int> createInstance(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #createInstance,
          [entity],
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<int> getInstanceCount(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #getInstanceCount,
          [entity],
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<List<int>> getInstances(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #getInstances,
          [entity],
        ),
        returnValue: _i6.Future<List<int>>.value(<int>[]),
      ) as _i6.Future<List<int>>);

  @override
  _i6.Future<int> loadGltf(
    String? path,
    String? relativeResourcePath, {
    bool? keepData = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #loadGltf,
          [
            path,
            relativeResourcePath,
          ],
          {#keepData: keepData},
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<dynamic> panStart(
    double? x,
    double? y,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #panStart,
          [
            x,
            y,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> panUpdate(
    double? x,
    double? y,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #panUpdate,
          [
            x,
            y,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> panEnd() => (super.noSuchMethod(
        Invocation.method(
          #panEnd,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> rotateStart(
    double? x,
    double? y,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #rotateStart,
          [
            x,
            y,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> rotateUpdate(
    double? x,
    double? y,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #rotateUpdate,
          [
            x,
            y,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> rotateEnd() => (super.noSuchMethod(
        Invocation.method(
          #rotateEnd,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setMorphTargetWeights(
    int? entity,
    List<double>? weights,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setMorphTargetWeights,
          [
            entity,
            weights,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<List<String>> getMorphTargetNames(
    int? entity,
    int? childEntity,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #getMorphTargetNames,
          [
            entity,
            childEntity,
          ],
        ),
        returnValue: _i6.Future<List<String>>.value(<String>[]),
      ) as _i6.Future<List<String>>);

  @override
  _i6.Future<List<String>> getBoneNames(
    int? entity, {
    int? skinIndex = 0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #getBoneNames,
          [entity],
          {#skinIndex: skinIndex},
        ),
        returnValue: _i6.Future<List<String>>.value(<String>[]),
      ) as _i6.Future<List<String>>);

  @override
  _i6.Future<List<String>> getAnimationNames(int? entity) =>
      (super.noSuchMethod(
        Invocation.method(
          #getAnimationNames,
          [entity],
        ),
        returnValue: _i6.Future<List<String>>.value(<String>[]),
      ) as _i6.Future<List<String>>);

  @override
  _i6.Future<double> getAnimationDuration(
    int? entity,
    int? animationIndex,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #getAnimationDuration,
          [
            entity,
            animationIndex,
          ],
        ),
        returnValue: _i6.Future<double>.value(0.0),
      ) as _i6.Future<double>);

  @override
  _i6.Future<dynamic> setMorphAnimationData(
    int? entity,
    _i9.MorphAnimationData? animation, {
    List<String>? targetMeshNames,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setMorphAnimationData,
          [
            entity,
            animation,
          ],
          {#targetMeshNames: targetMeshNames},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> clearMorphAnimationData(int? entity) =>
      (super.noSuchMethod(
        Invocation.method(
          #clearMorphAnimationData,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> resetBones(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #resetBones,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> addBoneAnimation(
    int? entity,
    _i9.BoneAnimationData? animation, {
    int? skinIndex = 0,
    double? fadeInInSecs = 0.0,
    double? fadeOutInSecs = 0.0,
    double? maxDelta = 1.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #addBoneAnimation,
          [
            entity,
            animation,
          ],
          {
            #skinIndex: skinIndex,
            #fadeInInSecs: fadeInInSecs,
            #fadeOutInSecs: fadeOutInSecs,
            #maxDelta: maxDelta,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<int> getBone(
    int? parent,
    int? boneIndex, {
    int? skinIndex = 0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #getBone,
          [
            parent,
            boneIndex,
          ],
          {#skinIndex: skinIndex},
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<_i2.Matrix4> getLocalTransform(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #getLocalTransform,
          [entity],
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getLocalTransform,
            [entity],
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<_i2.Matrix4> getWorldTransform(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #getWorldTransform,
          [entity],
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getWorldTransform,
            [entity],
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<_i2.Matrix4> getInverseBindMatrix(
    int? parent,
    int? boneIndex, {
    int? skinIndex = 0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #getInverseBindMatrix,
          [
            parent,
            boneIndex,
          ],
          {#skinIndex: skinIndex},
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getInverseBindMatrix,
            [
              parent,
              boneIndex,
            ],
            {#skinIndex: skinIndex},
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<dynamic> setTransform(
    int? entity,
    _i2.Matrix4? transform,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setTransform,
          [
            entity,
            transform,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> updateBoneMatrices(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #updateBoneMatrices,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setBoneTransform(
    int? entity,
    int? boneIndex,
    _i2.Matrix4? transform, {
    int? skinIndex = 0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setBoneTransform,
          [
            entity,
            boneIndex,
            transform,
          ],
          {#skinIndex: skinIndex},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> removeEntity(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #removeEntity,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> clearEntities() => (super.noSuchMethod(
        Invocation.method(
          #clearEntities,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> zoomBegin() => (super.noSuchMethod(
        Invocation.method(
          #zoomBegin,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> zoomUpdate(
    double? x,
    double? y,
    double? z,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #zoomUpdate,
          [
            x,
            y,
            z,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> zoomEnd() => (super.noSuchMethod(
        Invocation.method(
          #zoomEnd,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> playAnimation(
    int? entity,
    int? index, {
    bool? loop = false,
    bool? reverse = false,
    bool? replaceActive = true,
    double? crossfade = 0.0,
    double? startOffset = 0.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #playAnimation,
          [
            entity,
            index,
          ],
          {
            #loop: loop,
            #reverse: reverse,
            #replaceActive: replaceActive,
            #crossfade: crossfade,
            #startOffset: startOffset,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> playAnimationByName(
    int? entity,
    String? name, {
    bool? loop = false,
    bool? reverse = false,
    bool? replaceActive = true,
    double? crossfade = 0.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #playAnimationByName,
          [
            entity,
            name,
          ],
          {
            #loop: loop,
            #reverse: reverse,
            #replaceActive: replaceActive,
            #crossfade: crossfade,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setAnimationFrame(
    int? entity,
    int? index,
    int? animationFrame,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setAnimationFrame,
          [
            entity,
            index,
            animationFrame,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> stopAnimation(
    int? entity,
    int? animationIndex,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #stopAnimation,
          [
            entity,
            animationIndex,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> stopAnimationByName(
    int? entity,
    String? name,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #stopAnimationByName,
          [
            entity,
            name,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCamera(
    int? entity,
    String? name,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCamera,
          [
            entity,
            name,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setMainCamera() => (super.noSuchMethod(
        Invocation.method(
          #setMainCamera,
          [],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<int> getMainCameraEntity() => (super.noSuchMethod(
        Invocation.method(
          #getMainCameraEntity,
          [],
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<_i3.Camera> getMainCamera() => (super.noSuchMethod(
        Invocation.method(
          #getMainCamera,
          [],
        ),
        returnValue: _i6.Future<_i3.Camera>.value(_FakeCamera_1(
          this,
          Invocation.method(
            #getMainCamera,
            [],
          ),
        )),
      ) as _i6.Future<_i3.Camera>);

  @override
  _i6.Future<dynamic> setCameraFov(
    double? degrees, {
    bool? horizontal = true,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraFov,
          [degrees],
          {#horizontal: horizontal},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<double> getCameraFov(bool? horizontal) => (super.noSuchMethod(
        Invocation.method(
          #getCameraFov,
          [horizontal],
        ),
        returnValue: _i6.Future<double>.value(0.0),
      ) as _i6.Future<double>);

  @override
  _i6.Future<dynamic> setToneMapping(_i4.ToneMapper? mapper) =>
      (super.noSuchMethod(
        Invocation.method(
          #setToneMapping,
          [mapper],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setBloom(double? bloom) => (super.noSuchMethod(
        Invocation.method(
          #setBloom,
          [bloom],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraFocalLength(double? focalLength) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraFocalLength,
          [focalLength],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraCulling(
    double? near,
    double? far,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraCulling,
          [
            near,
            far,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<double> getCameraCullingNear() => (super.noSuchMethod(
        Invocation.method(
          #getCameraCullingNear,
          [],
        ),
        returnValue: _i6.Future<double>.value(0.0),
      ) as _i6.Future<double>);

  @override
  _i6.Future<double> getCameraNear() => (super.noSuchMethod(
        Invocation.method(
          #getCameraNear,
          [],
        ),
        returnValue: _i6.Future<double>.value(0.0),
      ) as _i6.Future<double>);

  @override
  _i6.Future<double> getCameraCullingFar() => (super.noSuchMethod(
        Invocation.method(
          #getCameraCullingFar,
          [],
        ),
        returnValue: _i6.Future<double>.value(0.0),
      ) as _i6.Future<double>);

  @override
  _i6.Future<dynamic> setCameraLensProjection({
    double? near = 0.05,
    double? far = 1000.0,
    double? aspect,
    double? focalLength = 28.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraLensProjection,
          [],
          {
            #near: near,
            #far: far,
            #aspect: aspect,
            #focalLength: focalLength,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraFocusDistance(double? focusDistance) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraFocusDistance,
          [focusDistance],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<_i2.Vector3> getCameraPosition() => (super.noSuchMethod(
        Invocation.method(
          #getCameraPosition,
          [],
        ),
        returnValue: _i6.Future<_i2.Vector3>.value(_FakeVector3_2(
          this,
          Invocation.method(
            #getCameraPosition,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Vector3>);

  @override
  _i6.Future<_i2.Matrix4> getCameraModelMatrix() => (super.noSuchMethod(
        Invocation.method(
          #getCameraModelMatrix,
          [],
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getCameraModelMatrix,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<_i2.Matrix4> getCameraViewMatrix() => (super.noSuchMethod(
        Invocation.method(
          #getCameraViewMatrix,
          [],
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getCameraViewMatrix,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<_i2.Matrix4> getCameraProjectionMatrix() => (super.noSuchMethod(
        Invocation.method(
          #getCameraProjectionMatrix,
          [],
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getCameraProjectionMatrix,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<_i2.Matrix4> getCameraCullingProjectionMatrix() =>
      (super.noSuchMethod(
        Invocation.method(
          #getCameraCullingProjectionMatrix,
          [],
        ),
        returnValue: _i6.Future<_i2.Matrix4>.value(_FakeMatrix4_0(
          this,
          Invocation.method(
            #getCameraCullingProjectionMatrix,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Matrix4>);

  @override
  _i6.Future<_i2.Frustum> getCameraFrustum() => (super.noSuchMethod(
        Invocation.method(
          #getCameraFrustum,
          [],
        ),
        returnValue: _i6.Future<_i2.Frustum>.value(_FakeFrustum_3(
          this,
          Invocation.method(
            #getCameraFrustum,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Frustum>);

  @override
  _i6.Future<dynamic> setCameraPosition(
    double? x,
    double? y,
    double? z,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraPosition,
          [
            x,
            y,
            z,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<_i2.Matrix3> getCameraRotation() => (super.noSuchMethod(
        Invocation.method(
          #getCameraRotation,
          [],
        ),
        returnValue: _i6.Future<_i2.Matrix3>.value(_FakeMatrix3_4(
          this,
          Invocation.method(
            #getCameraRotation,
            [],
          ),
        )),
      ) as _i6.Future<_i2.Matrix3>);

  @override
  _i6.Future<dynamic> moveCameraToAsset(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #moveCameraToAsset,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setViewFrustumCulling(bool? enabled) =>
      (super.noSuchMethod(
        Invocation.method(
          #setViewFrustumCulling,
          [enabled],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraExposure(
    double? aperture,
    double? shutterSpeed,
    double? sensitivity,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraExposure,
          [
            aperture,
            shutterSpeed,
            sensitivity,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraRotation(_i2.Quaternion? quaternion) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraRotation,
          [quaternion],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraModelMatrix(List<double>? matrix) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraModelMatrix,
          [matrix],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setCameraModelMatrix4(_i2.Matrix4? matrix) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraModelMatrix4,
          [matrix],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setMaterialColor(
    int? entity,
    String? meshName,
    int? materialIndex,
    double? r,
    double? g,
    double? b,
    double? a,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setMaterialColor,
          [
            entity,
            meshName,
            materialIndex,
            r,
            g,
            b,
            a,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setMaterialPropertyFloat4(
    int? entity,
    String? propertyName,
    int? materialIndex,
    double? f1,
    double? f2,
    double? f3,
    double? f4,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setMaterialPropertyFloat4,
          [
            entity,
            propertyName,
            materialIndex,
            f1,
            f2,
            f3,
            f4,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setMaterialPropertyFloat(
    int? entity,
    String? propertyName,
    int? materialIndex,
    double? value,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setMaterialPropertyFloat,
          [
            entity,
            propertyName,
            materialIndex,
            value,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setMaterialPropertyInt(
    int? entity,
    String? propertyName,
    int? materialIndex,
    int? value,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setMaterialPropertyInt,
          [
            entity,
            propertyName,
            materialIndex,
            value,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> transformToUnitCube(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #transformToUnitCube,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setPosition(
    int? entity,
    double? x,
    double? y,
    double? z,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setPosition,
          [
            entity,
            x,
            y,
            z,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setLightPosition(
    int? lightEntity,
    double? x,
    double? y,
    double? z,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setLightPosition,
          [
            lightEntity,
            x,
            y,
            z,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setLightDirection(
    int? lightEntity,
    _i2.Vector3? direction,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setLightDirection,
          [
            lightEntity,
            direction,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setScale(
    int? entity,
    double? scale,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setScale,
          [
            entity,
            scale,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setRotation(
    int? entity,
    double? rads,
    double? x,
    double? y,
    double? z,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setRotation,
          [
            entity,
            rads,
            x,
            y,
            z,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> queuePositionUpdate(
    int? entity,
    double? x,
    double? y,
    double? z, {
    bool? relative = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #queuePositionUpdate,
          [
            entity,
            x,
            y,
            z,
          ],
          {#relative: relative},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> queuePositionUpdateFromViewportCoords(
    int? entity,
    double? x,
    double? y,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #queuePositionUpdateFromViewportCoords,
          [
            entity,
            x,
            y,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> queueRelativePositionUpdateWorldAxis(
    int? entity,
    double? viewportX,
    double? viewportY,
    double? x,
    double? y,
    double? z,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #queueRelativePositionUpdateWorldAxis,
          [
            entity,
            viewportX,
            viewportY,
            x,
            y,
            z,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> queueRotationUpdate(
    int? entity,
    double? rads,
    double? x,
    double? y,
    double? z, {
    bool? relative = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #queueRotationUpdate,
          [
            entity,
            rads,
            x,
            y,
            z,
          ],
          {#relative: relative},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> queueRotationUpdateQuat(
    int? entity,
    _i2.Quaternion? quat, {
    bool? relative = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #queueRotationUpdateQuat,
          [
            entity,
            quat,
          ],
          {#relative: relative},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setPostProcessing(bool? enabled) => (super.noSuchMethod(
        Invocation.method(
          #setPostProcessing,
          [enabled],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setShadowsEnabled(bool? enabled) => (super.noSuchMethod(
        Invocation.method(
          #setShadowsEnabled,
          [enabled],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setShadowType(_i4.ShadowType? shadowType) =>
      (super.noSuchMethod(
        Invocation.method(
          #setShadowType,
          [shadowType],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setSoftShadowOptions(
    double? penumbraScale,
    double? penumbraRatioScale,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setSoftShadowOptions,
          [
            penumbraScale,
            penumbraRatioScale,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setAntiAliasing(
    bool? msaa,
    bool? fxaa,
    bool? taa,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setAntiAliasing,
          [
            msaa,
            fxaa,
            taa,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setRotationQuat(
    int? entity,
    _i2.Quaternion? rotation,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setRotationQuat,
          [
            entity,
            rotation,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> reveal(
    int? entity,
    String? meshName,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #reveal,
          [
            entity,
            meshName,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> hide(
    int? entity,
    String? meshName,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #hide,
          [
            entity,
            meshName,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  void pick(
    int? x,
    int? y,
  ) =>
      super.noSuchMethod(
        Invocation.method(
          #pick,
          [
            x,
            y,
          ],
        ),
        returnValueForMissingStub: null,
      );

  @override
  void pickGizmo(
    int? x,
    int? y,
  ) =>
      super.noSuchMethod(
        Invocation.method(
          #pickGizmo,
          [
            x,
            y,
          ],
        ),
        returnValueForMissingStub: null,
      );

  @override
  String? getNameForEntity(int? entity) =>
      (super.noSuchMethod(Invocation.method(
        #getNameForEntity,
        [entity],
      )) as String?);

  @override
  _i6.Future<dynamic> setCameraManipulatorOptions({
    _i4.ManipulatorMode? mode = _i4.ManipulatorMode.ORBIT,
    double? orbitSpeedX = 0.01,
    double? orbitSpeedY = 0.01,
    double? zoomSpeed = 0.01,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setCameraManipulatorOptions,
          [],
          {
            #mode: mode,
            #orbitSpeedX: orbitSpeedX,
            #orbitSpeedY: orbitSpeedY,
            #zoomSpeed: zoomSpeed,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<List<int>> getChildEntities(
    int? parent,
    bool? renderableOnly,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #getChildEntities,
          [
            parent,
            renderableOnly,
          ],
        ),
        returnValue: _i6.Future<List<int>>.value(<int>[]),
      ) as _i6.Future<List<int>>);

  @override
  _i6.Future<int> getChildEntity(
    int? parent,
    String? childName,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #getChildEntity,
          [
            parent,
            childName,
          ],
        ),
        returnValue: _i6.Future<int>.value(0),
      ) as _i6.Future<int>);

  @override
  _i6.Future<List<String>> getChildEntityNames(
    int? entity, {
    bool? renderableOnly = true,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #getChildEntityNames,
          [entity],
          {#renderableOnly: renderableOnly},
        ),
        returnValue: _i6.Future<List<String>>.value(<String>[]),
      ) as _i6.Future<List<String>>);

  @override
  _i6.Future<dynamic> setRecording(bool? recording) => (super.noSuchMethod(
        Invocation.method(
          #setRecording,
          [recording],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setRecordingOutputDirectory(String? outputDirectory) =>
      (super.noSuchMethod(
        Invocation.method(
          #setRecordingOutputDirectory,
          [outputDirectory],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> addAnimationComponent(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #addAnimationComponent,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> removeAnimationComponent(int? entity) =>
      (super.noSuchMethod(
        Invocation.method(
          #removeAnimationComponent,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> addCollisionComponent(
    int? entity, {
    void Function(
      int,
      int,
    )? callback,
    bool? affectsTransform = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #addCollisionComponent,
          [entity],
          {
            #callback: callback,
            #affectsTransform: affectsTransform,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> removeCollisionComponent(int? entity) =>
      (super.noSuchMethod(
        Invocation.method(
          #removeCollisionComponent,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> createGeometry(
    _i4.Geometry? geometry, {
    _i4.MaterialInstance? materialInstance,
    bool? keepData = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #createGeometry,
          [geometry],
          {
            #materialInstance: materialInstance,
            #keepData: keepData,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<int?> getParent(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #getParent,
          [entity],
        ),
        returnValue: _i6.Future<int?>.value(),
      ) as _i6.Future<int?>);

  @override
  _i6.Future<int?> getAncestor(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #getAncestor,
          [entity],
        ),
        returnValue: _i6.Future<int?>.value(),
      ) as _i6.Future<int?>);

  @override
  _i6.Future<dynamic> setParent(
    int? child,
    int? parent, {
    bool? preserveScaling,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setParent,
          [
            child,
            parent,
          ],
          {#preserveScaling: preserveScaling},
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> testCollisions(int? entity) => (super.noSuchMethod(
        Invocation.method(
          #testCollisions,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setPriority(
    int? entityId,
    int? priority,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setPriority,
          [
            entityId,
            priority,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  void onDispose(_i6.Future<dynamic> Function()? callback) =>
      super.noSuchMethod(
        Invocation.method(
          #onDispose,
          [callback],
        ),
        returnValueForMissingStub: null,
      );

  @override
  _i6.Future<_i2.Aabb2> getViewportBoundingBox(int? entity) =>
      (super.noSuchMethod(
        Invocation.method(
          #getViewportBoundingBox,
          [entity],
        ),
        returnValue: _i6.Future<_i2.Aabb2>.value(_FakeAabb2_5(
          this,
          Invocation.method(
            #getViewportBoundingBox,
            [entity],
          ),
        )),
      ) as _i6.Future<_i2.Aabb2>);

  @override
  _i6.Future<dynamic> setLayerVisibility(
    int? layer,
    bool? visible,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setLayerVisibility,
          [
            layer,
            visible,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setVisibilityLayer(
    int? entity,
    int? layer,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #setVisibilityLayer,
          [
            entity,
            layer,
          ],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setGizmoVisibility(bool? visible) => (super.noSuchMethod(
        Invocation.method(
          #setGizmoVisibility,
          [visible],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> setStencilHighlight(
    int? entity, {
    double? r = 1.0,
    double? g = 0.0,
    double? b = 0.0,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #setStencilHighlight,
          [entity],
          {
            #r: r,
            #g: g,
            #b: b,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> removeStencilHighlight(int? entity) =>
      (super.noSuchMethod(
        Invocation.method(
          #removeStencilHighlight,
          [entity],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<_i4.ThermionTexture> createTexture(_i8.Uint8List? data) =>
      (super.noSuchMethod(
        Invocation.method(
          #createTexture,
          [data],
        ),
        returnValue:
            _i6.Future<_i4.ThermionTexture>.value(_FakeThermionTexture_6(
          this,
          Invocation.method(
            #createTexture,
            [data],
          ),
        )),
      ) as _i6.Future<_i4.ThermionTexture>);

  @override
  _i6.Future<dynamic> applyTexture(
    _i4.ThermionTexture? texture,
    int? entity, {
    int? materialIndex = 0,
    String? parameterName = r'baseColorMap',
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #applyTexture,
          [
            texture,
            entity,
          ],
          {
            #materialIndex: materialIndex,
            #parameterName: parameterName,
          },
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> destroyTexture(_i4.ThermionTexture? texture) =>
      (super.noSuchMethod(
        Invocation.method(
          #destroyTexture,
          [texture],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<_i4.MaterialInstance> createUbershaderMaterialInstance({
    bool? doubleSided = false,
    bool? unlit = false,
    bool? hasVertexColors = false,
    bool? hasBaseColorTexture = false,
    bool? hasNormalTexture = false,
    bool? hasOcclusionTexture = false,
    bool? hasEmissiveTexture = false,
    bool? useSpecularGlossiness = false,
    _i4.AlphaMode? alphaMode = _i4.AlphaMode.OPAQUE,
    bool? enableDiagnostics = false,
    bool? hasMetallicRoughnessTexture = false,
    int? metallicRoughnessUV = 0,
    int? baseColorUV = 0,
    bool? hasClearCoatTexture = false,
    int? clearCoatUV = 0,
    bool? hasClearCoatRoughnessTexture = false,
    int? clearCoatRoughnessUV = 0,
    bool? hasClearCoatNormalTexture = false,
    int? clearCoatNormalUV = 0,
    bool? hasClearCoat = false,
    bool? hasTransmission = false,
    bool? hasTextureTransforms = false,
    int? emissiveUV = 0,
    int? aoUV = 0,
    int? normalUV = 0,
    bool? hasTransmissionTexture = false,
    int? transmissionUV = 0,
    bool? hasSheenColorTexture = false,
    int? sheenColorUV = 0,
    bool? hasSheenRoughnessTexture = false,
    int? sheenRoughnessUV = 0,
    bool? hasVolumeThicknessTexture = false,
    int? volumeThicknessUV = 0,
    bool? hasSheen = false,
    bool? hasIOR = false,
    bool? hasVolume = false,
  }) =>
      (super.noSuchMethod(
        Invocation.method(
          #createUbershaderMaterialInstance,
          [],
          {
            #doubleSided: doubleSided,
            #unlit: unlit,
            #hasVertexColors: hasVertexColors,
            #hasBaseColorTexture: hasBaseColorTexture,
            #hasNormalTexture: hasNormalTexture,
            #hasOcclusionTexture: hasOcclusionTexture,
            #hasEmissiveTexture: hasEmissiveTexture,
            #useSpecularGlossiness: useSpecularGlossiness,
            #alphaMode: alphaMode,
            #enableDiagnostics: enableDiagnostics,
            #hasMetallicRoughnessTexture: hasMetallicRoughnessTexture,
            #metallicRoughnessUV: metallicRoughnessUV,
            #baseColorUV: baseColorUV,
            #hasClearCoatTexture: hasClearCoatTexture,
            #clearCoatUV: clearCoatUV,
            #hasClearCoatRoughnessTexture: hasClearCoatRoughnessTexture,
            #clearCoatRoughnessUV: clearCoatRoughnessUV,
            #hasClearCoatNormalTexture: hasClearCoatNormalTexture,
            #clearCoatNormalUV: clearCoatNormalUV,
            #hasClearCoat: hasClearCoat,
            #hasTransmission: hasTransmission,
            #hasTextureTransforms: hasTextureTransforms,
            #emissiveUV: emissiveUV,
            #aoUV: aoUV,
            #normalUV: normalUV,
            #hasTransmissionTexture: hasTransmissionTexture,
            #transmissionUV: transmissionUV,
            #hasSheenColorTexture: hasSheenColorTexture,
            #sheenColorUV: sheenColorUV,
            #hasSheenRoughnessTexture: hasSheenRoughnessTexture,
            #sheenRoughnessUV: sheenRoughnessUV,
            #hasVolumeThicknessTexture: hasVolumeThicknessTexture,
            #volumeThicknessUV: volumeThicknessUV,
            #hasSheen: hasSheen,
            #hasIOR: hasIOR,
            #hasVolume: hasVolume,
          },
        ),
        returnValue:
            _i6.Future<_i4.MaterialInstance>.value(_FakeMaterialInstance_7(
          this,
          Invocation.method(
            #createUbershaderMaterialInstance,
            [],
            {
              #doubleSided: doubleSided,
              #unlit: unlit,
              #hasVertexColors: hasVertexColors,
              #hasBaseColorTexture: hasBaseColorTexture,
              #hasNormalTexture: hasNormalTexture,
              #hasOcclusionTexture: hasOcclusionTexture,
              #hasEmissiveTexture: hasEmissiveTexture,
              #useSpecularGlossiness: useSpecularGlossiness,
              #alphaMode: alphaMode,
              #enableDiagnostics: enableDiagnostics,
              #hasMetallicRoughnessTexture: hasMetallicRoughnessTexture,
              #metallicRoughnessUV: metallicRoughnessUV,
              #baseColorUV: baseColorUV,
              #hasClearCoatTexture: hasClearCoatTexture,
              #clearCoatUV: clearCoatUV,
              #hasClearCoatRoughnessTexture: hasClearCoatRoughnessTexture,
              #clearCoatRoughnessUV: clearCoatRoughnessUV,
              #hasClearCoatNormalTexture: hasClearCoatNormalTexture,
              #clearCoatNormalUV: clearCoatNormalUV,
              #hasClearCoat: hasClearCoat,
              #hasTransmission: hasTransmission,
              #hasTextureTransforms: hasTextureTransforms,
              #emissiveUV: emissiveUV,
              #aoUV: aoUV,
              #normalUV: normalUV,
              #hasTransmissionTexture: hasTransmissionTexture,
              #transmissionUV: transmissionUV,
              #hasSheenColorTexture: hasSheenColorTexture,
              #sheenColorUV: sheenColorUV,
              #hasSheenRoughnessTexture: hasSheenRoughnessTexture,
              #sheenRoughnessUV: sheenRoughnessUV,
              #hasVolumeThicknessTexture: hasVolumeThicknessTexture,
              #volumeThicknessUV: volumeThicknessUV,
              #hasSheen: hasSheen,
              #hasIOR: hasIOR,
              #hasVolume: hasVolume,
            },
          ),
        )),
      ) as _i6.Future<_i4.MaterialInstance>);

  @override
  _i6.Future<dynamic> destroyMaterialInstance(
          _i4.MaterialInstance? materialInstance) =>
      (super.noSuchMethod(
        Invocation.method(
          #destroyMaterialInstance,
          [materialInstance],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<_i4.MaterialInstance> createUnlitMaterialInstance() =>
      (super.noSuchMethod(
        Invocation.method(
          #createUnlitMaterialInstance,
          [],
        ),
        returnValue:
            _i6.Future<_i4.MaterialInstance>.value(_FakeMaterialInstance_7(
          this,
          Invocation.method(
            #createUnlitMaterialInstance,
            [],
          ),
        )),
      ) as _i6.Future<_i4.MaterialInstance>);

  @override
  _i6.Future<_i4.MaterialInstance?> getMaterialInstanceAt(
    int? entity,
    int? index,
  ) =>
      (super.noSuchMethod(
        Invocation.method(
          #getMaterialInstanceAt,
          [
            entity,
            index,
          ],
        ),
        returnValue: _i6.Future<_i4.MaterialInstance?>.value(),
      ) as _i6.Future<_i4.MaterialInstance?>);

  @override
  _i6.Future<_i3.Camera> createCamera() => (super.noSuchMethod(
        Invocation.method(
          #createCamera,
          [],
        ),
        returnValue: _i6.Future<_i3.Camera>.value(_FakeCamera_1(
          this,
          Invocation.method(
            #createCamera,
            [],
          ),
        )),
      ) as _i6.Future<_i3.Camera>);

  @override
  _i6.Future<dynamic> setActiveCamera(_i3.Camera? camera) =>
      (super.noSuchMethod(
        Invocation.method(
          #setActiveCamera,
          [camera],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> registerRequestFrameHook(
          _i6.Future<dynamic> Function()? hook) =>
      (super.noSuchMethod(
        Invocation.method(
          #registerRequestFrameHook,
          [hook],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);

  @override
  _i6.Future<dynamic> unregisterRequestFrameHook(
          _i6.Future<dynamic> Function()? hook) =>
      (super.noSuchMethod(
        Invocation.method(
          #unregisterRequestFrameHook,
          [hook],
        ),
        returnValue: _i6.Future<dynamic>.value(),
      ) as _i6.Future<dynamic>);
}
