Kaynağa Gözat

chore: remove husky and fix back linter (#834)

* chore: remove husky

* chore: update deps

* chore: revert perfectionist sort
Alvaro Saburido 8 ay önce
ebeveyn
işleme
18e46424f7
43 değiştirilmiş dosya ile 349 ekleme ve 384 silme
  1. 0 8
      .husky/install.mjs
  2. 0 25
      .husky/pre-push
  3. 2 2
      docs/.vitepress/theme/components/LocalOrbitControls.vue
  4. 1 1
      docs/.vitepress/theme/components/StackBlitzEmbed.vue
  5. 1 1
      docs/.vitepress/theme/index.ts
  6. 18 19
      package.json
  7. 1 1
      playground/nuxt/components/EnvironmentLocal.vue
  8. 1 1
      playground/vue/src/composables/useFBX.ts
  9. 2 2
      playground/vue/src/composables/useGLTF.ts
  10. 1 1
      playground/vue/src/pages/advanced/devicePixelRatio/index.vue
  11. 2 2
      playground/vue/src/pages/advanced/fbo/useFBO.ts
  12. 2 2
      playground/vue/src/pages/basic/Lights.vue
  13. 2 2
      playground/vue/src/pages/basic/ready/index.vue
  14. 1 1
      playground/vue/src/pages/cameras/multipleCameras/index.vue
  15. 1 1
      playground/vue/src/pages/events/index.vue
  16. 1 1
      playground/vue/src/pages/issues/701/TheExperience.vue
  17. 244 244
      pnpm-lock.yaml
  18. 11 11
      src/components/TresCanvas.vue
  19. 4 4
      src/composables/useCamera/index.ts
  20. 1 1
      src/composables/useLoader/index.ts
  21. 1 1
      src/composables/useLoop/index.ts
  22. 4 4
      src/composables/useRaycaster/index.ts
  23. 2 2
      src/composables/useRenderLoop/index.ts
  24. 7 7
      src/composables/useRenderer/index.ts
  25. 1 1
      src/composables/useSizes/index.ts
  26. 1 1
      src/composables/useTexture/component.vue
  27. 1 1
      src/composables/useTexture/index.ts
  28. 6 6
      src/composables/useTresContextProvider/index.ts
  29. 2 2
      src/composables/useTresEventManager/index.ts
  30. 1 1
      src/composables/useTresReady/createReadyEventHook/index.ts
  31. 1 1
      src/composables/useTresReady/index.ts
  32. 1 1
      src/core/catalogue.ts
  33. 1 1
      src/core/loop.test.ts
  34. 3 3
      src/core/loop.ts
  35. 3 3
      src/core/nodeOps.test.ts
  36. 2 3
      src/core/nodeOps.ts
  37. 5 5
      src/devtools/plugin.ts
  38. 2 2
      src/directives/vDistanceTo.ts
  39. 4 4
      src/directives/vLightHelper.ts
  40. 1 1
      src/utils/createPriorityEventHook.ts
  41. 2 2
      src/utils/index.ts
  42. 1 1
      src/utils/normalize.ts
  43. 1 1
      src/utils/test-utils.ts

+ 0 - 8
.husky/install.mjs

@@ -1,8 +0,0 @@
-// Skip Husky install in production and CI
-// http://typicode.github.io/husky/how-to.html
-if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') {
-  process.exit(0)
-}
-const husky = (await import('husky')).default
-// eslint-disable-next-line no-console
-console.log(husky())

+ 0 - 25
.husky/pre-push

@@ -1,25 +0,0 @@
-# NOTE: Don't fail immediately after error
-# This allows us to echo messages even if the linter exits with an error.
-set +e  
-
-# NOTE: --silent to keep pnpm from echoing, e.g., "> @tresjs/core[...] lint" 
-# --max-warnings=0 to fail on errors *and* warnings
-pnpm --silent lint --max-warnings=0
-
-# NOTE: Capture linter exit status.
-LINT_STATUS=$?
-
-# NOTE: If linting failed, inform user how to proceed.
-if [[ $LINT_STATUS != 0 ]]; then
-  echo "
-To fix linter problems:
-  pnpm lint --fix  – fix automatically fixable problems
-  pnpm lint        – print a list of problems to fix by hand
-
-To skip this verification and push anyway (not recommended):
-  git push --no-verify <...>
-"
-fi
-
-# NOTE: +e was set, so we have to return an exit status.
-exit $LINT_STATUS

+ 2 - 2
docs/.vitepress/theme/components/LocalOrbitControls.vue

@@ -1,10 +1,10 @@
 <script lang="ts" setup>
 <script lang="ts" setup>
+import type { TresVector3 } from '@tresjs/core'
+import type { Camera } from 'three'
 import { extend, useRenderLoop, useTresContext } from '@tresjs/core'
 import { extend, useRenderLoop, useTresContext } from '@tresjs/core'
 import { useEventListener } from '@vueuse/core'
 import { useEventListener } from '@vueuse/core'
 import { OrbitControls } from 'three-stdlib'
 import { OrbitControls } from 'three-stdlib'
 import { onMounted, onUnmounted, shallowRef, unref } from 'vue'
 import { onMounted, onUnmounted, shallowRef, unref } from 'vue'
-import type { TresVector3 } from '@tresjs/core'
-import type { Camera } from 'three'
 
 
 export interface OrbitControlsProps {
 export interface OrbitControlsProps {
   /**
   /**

+ 1 - 1
docs/.vitepress/theme/components/StackBlitzEmbed.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type { EmbedOptions } from '@stackblitz/sdk'
 import sdk from '@stackblitz/sdk'
 import sdk from '@stackblitz/sdk'
 import { ref, watch } from 'vue'
 import { ref, watch } from 'vue'
-import type { EmbedOptions } from '@stackblitz/sdk'
 
 
 const props = withDefaults(
 const props = withDefaults(
   defineProps<{
   defineProps<{

+ 1 - 1
docs/.vitepress/theme/index.ts

@@ -1,5 +1,5 @@
-import VPTheme from 'vitepress/theme'
 import type { Theme } from 'vitepress'
 import type { Theme } from 'vitepress'
+import VPTheme from 'vitepress/theme'
 
 
 import TresLayout from './TresLayout.vue'
 import TresLayout from './TresLayout.vue'
 import './custom.css'
 import './custom.css'

+ 18 - 19
package.json

@@ -63,8 +63,7 @@
     "docs:build": "vitepress build docs",
     "docs:build": "vitepress build docs",
     "docs:serve": "vitepress serve docs",
     "docs:serve": "vitepress serve docs",
     "docs:preview": "vitepress preview docs",
     "docs:preview": "vitepress preview docs",
-    "docs:contributors": "esno scripts/update-contributors.ts",
-    "prepare": "node .husky/install.mjs"
+    "docs:contributors": "esno scripts/update-contributors.ts"
   },
   },
   "peerDependencies": {
   "peerDependencies": {
     "three": ">=0.133",
     "three": ">=0.133",
@@ -72,27 +71,27 @@
   },
   },
   "dependencies": {
   "dependencies": {
     "@alvarosabu/utils": "^3.2.0",
     "@alvarosabu/utils": "^3.2.0",
-    "@vue/devtools-api": "^6.6.3",
-    "@vueuse/core": "^11.0.3"
+    "@vue/devtools-api": "^7.4.5",
+    "@vueuse/core": "^11.1.0"
   },
   },
   "devDependencies": {
   "devDependencies": {
-    "@release-it/conventional-changelog": "^8.0.1",
+    "@release-it/conventional-changelog": "^8.0.2",
     "@stackblitz/sdk": "^1.11.0",
     "@stackblitz/sdk": "^1.11.0",
     "@tresjs/cientos": "4.0.2",
     "@tresjs/cientos": "4.0.2",
-    "@tresjs/eslint-config": "^1.2.0",
+    "@tresjs/eslint-config": "^1.3.1",
     "@types/three": "^0.168.0",
     "@types/three": "^0.168.0",
-    "@typescript-eslint/eslint-plugin": "^8.4.0",
-    "@typescript-eslint/parser": "^8.4.0",
+    "@typescript-eslint/eslint-plugin": "^8.6.0",
+    "@typescript-eslint/parser": "^8.6.0",
     "@vitejs/plugin-vue": "^5.1.3",
     "@vitejs/plugin-vue": "^5.1.3",
     "@vitest/coverage-c8": "^0.33.0",
     "@vitest/coverage-c8": "^0.33.0",
-    "@vitest/coverage-v8": "^2.0.2",
-    "@vitest/ui": "^2.0.2",
+    "@vitest/coverage-v8": "^2.1.1",
+    "@vitest/ui": "^2.1.1",
     "@vue/test-utils": "^2.4.6",
     "@vue/test-utils": "^2.4.6",
-    "eslint": "^9.9.1",
+    "eslint": "^9.10.0",
     "eslint-plugin-vue": "^9.28.0",
     "eslint-plugin-vue": "^9.28.0",
     "esno": "^4.7.0",
     "esno": "^4.7.0",
     "gsap": "^3.12.5",
     "gsap": "^3.12.5",
-    "husky": "^9.1.5",
+    "husky": "^9.1.6",
     "jsdom": "^25.0.0",
     "jsdom": "^25.0.0",
     "kolorist": "^1.8.0",
     "kolorist": "^1.8.0",
     "ohmyfetch": "^0.4.21",
     "ohmyfetch": "^0.4.21",
@@ -101,20 +100,20 @@
     "rollup-plugin-analyzer": "^4.0.0",
     "rollup-plugin-analyzer": "^4.0.0",
     "rollup-plugin-copy": "^3.5.0",
     "rollup-plugin-copy": "^3.5.0",
     "rollup-plugin-visualizer": "^5.12.0",
     "rollup-plugin-visualizer": "^5.12.0",
-    "sponsorkit": "^0.15.4",
+    "sponsorkit": "^0.15.5",
     "three": "^0.168.0",
     "three": "^0.168.0",
-    "unocss": "^0.62.3",
-    "unplugin": "^1.13.1",
+    "unocss": "^0.62.4",
+    "unplugin": "^1.14.1",
     "unplugin-vue-components": "^0.27.4",
     "unplugin-vue-components": "^0.27.4",
-    "vite": "^5.4.3",
+    "vite": "^5.4.6",
     "vite-plugin-banner": "^0.8.0",
     "vite-plugin-banner": "^0.8.0",
-    "vite-plugin-dts": "4.1.0",
+    "vite-plugin-dts": "4.2.1",
     "vite-plugin-inspect": "^0.8.7",
     "vite-plugin-inspect": "^0.8.7",
     "vite-plugin-require-transform": "^1.0.21",
     "vite-plugin-require-transform": "^1.0.21",
     "vite-svg-loader": "^5.1.0",
     "vite-svg-loader": "^5.1.0",
     "vitepress": "1.3.4",
     "vitepress": "1.3.4",
-    "vitest": "^2.0.2",
-    "vue": "3.5.3",
+    "vitest": "^2.1.1",
+    "vue": "3.5.6",
     "vue-demi": "^0.14.10"
     "vue-demi": "^0.14.10"
   }
   }
 }
 }

+ 1 - 1
playground/nuxt/components/EnvironmentLocal.vue

@@ -1,8 +1,8 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type { LoaderProto } from '@tresjs/core'
 import { useLoader, useTresContext } from '@tresjs/core'
 import { useLoader, useTresContext } from '@tresjs/core'
 import { CubeReflectionMapping, type CubeTexture, CubeTextureLoader, EquirectangularReflectionMapping, type Texture } from 'three'
 import { CubeReflectionMapping, type CubeTexture, CubeTextureLoader, EquirectangularReflectionMapping, type Texture } from 'three'
 import { RGBELoader } from 'three-stdlib'
 import { RGBELoader } from 'three-stdlib'
-import type { LoaderProto } from '@tresjs/core'
 
 
 /* const files = ref(['/px.jpg', '/nx.jpg', '/py.jpg', '/ny.jpg', '/pz.jpg', '/nz.jpg']) */
 /* const files = ref(['/px.jpg', '/nx.jpg', '/py.jpg', '/ny.jpg', '/pz.jpg', '/nz.jpg']) */
 const files = ref('venice/venice_sunset_1k.hdr')
 const files = ref('venice/venice_sunset_1k.hdr')

+ 1 - 1
playground/vue/src/composables/useFBX.ts

@@ -1,6 +1,6 @@
+import type { Object3D } from 'three'
 import { useLoader } from '@tresjs/core'
 import { useLoader } from '@tresjs/core'
 import { FBXLoader } from 'three-stdlib'
 import { FBXLoader } from 'three-stdlib'
-import type { Object3D } from 'three'
 
 
 /**
 /**
  * Loads an FBX file and returns a THREE.Object3D.
  * Loads an FBX file and returns a THREE.Object3D.

+ 2 - 2
playground/vue/src/composables/useGLTF.ts

@@ -1,7 +1,7 @@
-import { type TresLoader, type TresObject3D, useLoader } from '@tresjs/core'
-import { DRACOLoader, GLTFLoader } from 'three-stdlib'
 import type { AnimationClip, Material, Scene } from 'three'
 import type { AnimationClip, Material, Scene } from 'three'
 import type { GLTF } from 'three-stdlib'
 import type { GLTF } from 'three-stdlib'
+import { type TresLoader, type TresObject3D, useLoader } from '@tresjs/core'
+import { DRACOLoader, GLTFLoader } from 'three-stdlib'
 
 
 export interface GLTFLoaderOptions {
 export interface GLTFLoaderOptions {
   /**
   /**

+ 1 - 1
playground/vue/src/pages/advanced/devicePixelRatio/index.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type { WebGLRenderer } from 'three'
 import { TresCanvas } from '@tresjs/core'
 import { TresCanvas } from '@tresjs/core'
 import { shallowRef } from 'vue'
 import { shallowRef } from 'vue'
-import type { WebGLRenderer } from 'three'
 
 
 const rendererRef = shallowRef<WebGLRenderer | null>(null)
 const rendererRef = shallowRef<WebGLRenderer | null>(null)
 const minDpr = 1
 const minDpr = 1

+ 2 - 2
playground/vue/src/pages/advanced/fbo/useFBO.ts

@@ -1,10 +1,10 @@
+import type { Camera, WebGLRenderTargetOptions } from 'three'
+import type { Ref } from 'vue'
 /* eslint-disable no-console */
 /* eslint-disable no-console */
 import { useLoop, useTresContext } from '@tresjs/core'
 import { useLoop, useTresContext } from '@tresjs/core'
 import { useThrottleFn } from '@vueuse/core'
 import { useThrottleFn } from '@vueuse/core'
 import { DepthTexture, FloatType, HalfFloatType, LinearFilter, WebGLRenderTarget } from 'three'
 import { DepthTexture, FloatType, HalfFloatType, LinearFilter, WebGLRenderTarget } from 'three'
 import { isReactive, onBeforeUnmount, reactive, ref, toRefs, watchEffect } from 'vue'
 import { isReactive, onBeforeUnmount, reactive, ref, toRefs, watchEffect } from 'vue'
-import type { Camera, WebGLRenderTargetOptions } from 'three'
-import type { Ref } from 'vue'
 
 
 export interface FboOptions {
 export interface FboOptions {
   /*
   /*

+ 2 - 2
playground/vue/src/pages/basic/Lights.vue

@@ -1,9 +1,9 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type { TresObject } from '@tresjs/core'
 import { OrbitControls } from '@tresjs/cientos'
 import { OrbitControls } from '@tresjs/cientos'
 import { TresCanvas, vDistanceTo, vLightHelper, vLog } from '@tresjs/core'
 import { TresCanvas, vDistanceTo, vLightHelper, vLog } from '@tresjs/core'
-import { BasicShadowMap, NoToneMapping, SRGBColorSpace } from 'three'
 
 
-import type { TresObject } from '@tresjs/core'
+import { BasicShadowMap, NoToneMapping, SRGBColorSpace } from 'three'
 
 
 const gl = {
 const gl = {
   clearColor: '#82DBC5',
   clearColor: '#82DBC5',

+ 2 - 2
playground/vue/src/pages/basic/ready/index.vue

@@ -1,8 +1,8 @@
 <script setup lang="ts">
 <script setup lang="ts">
-import { TresCanvas } from '@tresjs/core'
-import { ref } from 'vue'
 import type { TresContext } from '@tresjs/core'
 import type { TresContext } from '@tresjs/core'
 import type { ShallowRef } from 'vue'
 import type { ShallowRef } from 'vue'
+import { TresCanvas } from '@tresjs/core'
+import { ref } from 'vue'
 import LoopCallbackWatcher from './LoopCallbackWatcher.vue'
 import LoopCallbackWatcher from './LoopCallbackWatcher.vue'
 import OnTresReadyWatcher from './OnTresReadyWatcher.vue'
 import OnTresReadyWatcher from './OnTresReadyWatcher.vue'
 
 

+ 1 - 1
playground/vue/src/pages/cameras/multipleCameras/index.vue

@@ -1,8 +1,8 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type { Camera } from 'three'
 import { OrbitControls } from '@tresjs/cientos'
 import { OrbitControls } from '@tresjs/cientos'
 import { TresCanvas } from '@tresjs/core'
 import { TresCanvas } from '@tresjs/core'
 import { TresLeches, useControls } from '@tresjs/leches'
 import { TresLeches, useControls } from '@tresjs/leches'
-import type { Camera } from 'three'
 import TheCameraOperator from './TheCameraOperator.vue'
 import TheCameraOperator from './TheCameraOperator.vue'
 import '@tresjs/leches/styles'
 import '@tresjs/leches/styles'
 
 

+ 1 - 1
playground/vue/src/pages/events/index.vue

@@ -1,10 +1,10 @@
 <!-- eslint-disable no-console -->
 <!-- eslint-disable no-console -->
 <script setup lang="ts">
 <script setup lang="ts">
+import type { ThreeEvent } from '@tresjs/core'
 import { OrbitControls, StatsGl } from '@tresjs/cientos'
 import { OrbitControls, StatsGl } from '@tresjs/cientos'
 import { TresCanvas } from '@tresjs/core'
 import { TresCanvas } from '@tresjs/core'
 import { TresLeches, useControls } from '@tresjs/leches'
 import { TresLeches, useControls } from '@tresjs/leches'
 import { BasicShadowMap, NoToneMapping, SRGBColorSpace } from 'three'
 import { BasicShadowMap, NoToneMapping, SRGBColorSpace } from 'three'
-import type { ThreeEvent } from '@tresjs/core'
 import '@tresjs/leches/styles'
 import '@tresjs/leches/styles'
 
 
 const gl = {
 const gl = {

+ 1 - 1
playground/vue/src/pages/issues/701/TheExperience.vue

@@ -1,5 +1,6 @@
 <!-- eslint-disable no-console -->
 <!-- eslint-disable no-console -->
 <script setup lang="ts">
 <script setup lang="ts">
+import type { BufferGeometry, Camera, Material } from 'three'
 import { useLoop } from '@tresjs/core'
 import { useLoop } from '@tresjs/core'
 import {
 import {
   BoxGeometry,
   BoxGeometry,
@@ -12,7 +13,6 @@ import {
   TorusGeometry,
   TorusGeometry,
 } from 'three'
 } from 'three'
 import { onUnmounted, shallowRef } from 'vue'
 import { onUnmounted, shallowRef } from 'vue'
-import type { BufferGeometry, Camera, Material } from 'three'
 
 
 const box = (() => {
 const box = (() => {
   const box = new Mesh(
   const box = new Mesh(

Dosya farkı çok büyük olduğundan ihmal edildi
+ 244 - 244
pnpm-lock.yaml


+ 11 - 11
src/components/TresCanvas.vue

@@ -1,6 +1,16 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type {
+  ColorSpace,
+  ShadowMapType,
+  ToneMapping,
+  WebGLRendererParameters,
+} from 'three'
+import type { App, Ref } from 'vue'
+import type { RendererPresetsType } from '../composables/useRenderer/const'
+import type { TresCamera, TresObject, TresScene } from '../types/'
 import { PerspectiveCamera, Scene } from 'three'
 import { PerspectiveCamera, Scene } from 'three'
 import * as THREE from 'three'
 import * as THREE from 'three'
+
 import {
 import {
   computed,
   computed,
   createRenderer,
   createRenderer,
@@ -16,15 +26,7 @@ import {
   watch,
   watch,
   watchEffect,
   watchEffect,
 } from 'vue'
 } from 'vue'
-import type {
-  ColorSpace,
-  ShadowMapType,
-  ToneMapping,
-  WebGLRendererParameters,
-} from 'three'
-import type { App, Ref } from 'vue'
 import pkg from '../../package.json'
 import pkg from '../../package.json'
-
 import {
 import {
   type TresContext,
   type TresContext,
   useLogger,
   useLogger,
@@ -32,12 +34,10 @@ import {
 } from '../composables'
 } from '../composables'
 import { extend } from '../core/catalogue'
 import { extend } from '../core/catalogue'
 import { nodeOps } from '../core/nodeOps'
 import { nodeOps } from '../core/nodeOps'
+
 import { registerTresDevtools } from '../devtools'
 import { registerTresDevtools } from '../devtools'
 import { disposeObject3D } from '../utils/'
 import { disposeObject3D } from '../utils/'
 
 
-import type { RendererPresetsType } from '../composables/useRenderer/const'
-import type { TresCamera, TresObject, TresScene } from '../types/'
-
 export interface TresCanvasProps
 export interface TresCanvasProps
   extends Omit<WebGLRendererParameters, 'canvas'> {
   extends Omit<WebGLRendererParameters, 'canvas'> {
   // required by for useRenderer
   // required by for useRenderer

+ 4 - 4
src/composables/useCamera/index.ts

@@ -1,11 +1,11 @@
-import { Camera, PerspectiveCamera } from 'three'
-import { computed, onUnmounted, ref, watchEffect } from 'vue'
 import type { OrthographicCamera } from 'three'
 import type { OrthographicCamera } from 'three'
-
-import { camera as isCamera } from '../../utils/is'
 import type { TresScene } from '../../types'
 import type { TresScene } from '../../types'
 import type { TresContext } from '../useTresContextProvider'
 import type { TresContext } from '../useTresContextProvider'
 
 
+import { Camera, PerspectiveCamera } from 'three'
+import { computed, onUnmounted, ref, watchEffect } from 'vue'
+import { camera as isCamera } from '../../utils/is'
+
 export const useCamera = ({ sizes }: Pick<TresContext, 'sizes'> & { scene: TresScene }) => {
 export const useCamera = ({ sizes }: Pick<TresContext, 'sizes'> & { scene: TresScene }) => {
   // the computed does not trigger, when for example the camera position changes
   // the computed does not trigger, when for example the camera position changes
   const cameras = ref<Camera[]>([])
   const cameras = ref<Camera[]>([])

+ 1 - 1
src/composables/useLoader/index.ts

@@ -1,6 +1,6 @@
 import type { Loader, LoadingManager, Object3D } from 'three'
 import type { Loader, LoadingManager, Object3D } from 'three'
-import { useLogger } from '..'
 import type { TresObject } from '../../types'
 import type { TresObject } from '../../types'
+import { useLogger } from '..'
 
 
 export interface TresLoader<T> extends Loader {
 export interface TresLoader<T> extends Loader {
   load: (
   load: (

+ 1 - 1
src/composables/useLoop/index.ts

@@ -1,5 +1,5 @@
-import { useTresContext } from '../useTresContextProvider'
 import type { LoopCallbackFn } from './../../core/loop'
 import type { LoopCallbackFn } from './../../core/loop'
+import { useTresContext } from '../useTresContextProvider'
 
 
 export function useLoop() {
 export function useLoop() {
   const {
   const {

+ 4 - 4
src/composables/useRaycaster/index.ts

@@ -1,12 +1,12 @@
-import { createEventHook, useElementBounding, usePointer } from '@vueuse/core'
-import { Vector2, Vector3 } from 'three'
-import { computed, onUnmounted, shallowRef } from 'vue'
 import type { EventHook } from '@vueuse/core'
 import type { EventHook } from '@vueuse/core'
 import type { DomEvent, TresCamera, TresEvent, TresInstance } from 'src/types'
 import type { DomEvent, TresCamera, TresEvent, TresInstance } from 'src/types'
 import type { Intersection, Object3D, Object3DEventMap } from 'three'
 import type { Intersection, Object3D, Object3DEventMap } from 'three'
-
 import type { ShallowRef } from 'vue'
 import type { ShallowRef } from 'vue'
 import type { TresContext } from '../useTresContextProvider'
 import type { TresContext } from '../useTresContextProvider'
+import { createEventHook, useElementBounding, usePointer } from '@vueuse/core'
+
+import { Vector2, Vector3 } from 'three'
+import { computed, onUnmounted, shallowRef } from 'vue'
 
 
 export const useRaycaster = (
 export const useRaycaster = (
   objectsWithEvents: ShallowRef<TresInstance[]>,
   objectsWithEvents: ShallowRef<TresInstance[]>,

+ 2 - 2
src/composables/useRenderLoop/index.ts

@@ -1,7 +1,7 @@
-import { createEventHook, useRafFn } from '@vueuse/core'
-import { Clock } from 'three'
 import type { EventHookOn, Fn } from '@vueuse/core'
 import type { EventHookOn, Fn } from '@vueuse/core'
 import type { Ref } from 'vue'
 import type { Ref } from 'vue'
+import { createEventHook, useRafFn } from '@vueuse/core'
+import { Clock } from 'three'
 
 
 export interface RenderLoop {
 export interface RenderLoop {
   delta: number
   delta: number

+ 7 - 7
src/composables/useRenderer/index.ts

@@ -1,3 +1,9 @@
+import type { ColorSpace, Scene, ShadowMapType, ToneMapping, WebGLRendererParameters } from 'three'
+import type { EmitEventFn, TresColor } from '../../types'
+
+import type { TresContext } from '../useTresContextProvider'
+
+import type { RendererPresetsType } from './const'
 import {
 import {
   type MaybeRefOrGetter,
   type MaybeRefOrGetter,
   toValue,
   toValue,
@@ -5,22 +11,16 @@ import {
   useDevicePixelRatio,
   useDevicePixelRatio,
 } from '@vueuse/core'
 } from '@vueuse/core'
 import { ACESFilmicToneMapping, Color, WebGLRenderer } from 'three'
 import { ACESFilmicToneMapping, Color, WebGLRenderer } from 'three'
-
 import { computed, type MaybeRef, onUnmounted, shallowRef, watch, watchEffect } from 'vue'
 import { computed, type MaybeRef, onUnmounted, shallowRef, watch, watchEffect } from 'vue'
 
 
-import type { ColorSpace, Scene, ShadowMapType, ToneMapping, WebGLRendererParameters } from 'three'
 // Solution taken from Thretle that actually support different versions https://github.com/threlte/threlte/blob/5fa541179460f0dadc7dc17ae5e6854d1689379e/packages/core/src/lib/lib/useRenderer.ts
 // Solution taken from Thretle that actually support different versions https://github.com/threlte/threlte/blob/5fa541179460f0dadc7dc17ae5e6854d1689379e/packages/core/src/lib/lib/useRenderer.ts
 import { revision } from '../../core/revision'
 import { revision } from '../../core/revision'
 import { get, merge, set, setPixelRatio } from '../../utils'
 import { get, merge, set, setPixelRatio } from '../../utils'
-import { normalizeColor } from '../../utils/normalize'
 
 
+import { normalizeColor } from '../../utils/normalize'
 import { useLogger } from '../useLogger'
 import { useLogger } from '../useLogger'
 import { rendererPresets } from './const'
 import { rendererPresets } from './const'
 
 
-import type { EmitEventFn, TresColor } from '../../types'
-import type { TresContext } from '../useTresContextProvider'
-import type { RendererPresetsType } from './const'
-
 type TransformToMaybeRefOrGetter<T> = {
 type TransformToMaybeRefOrGetter<T> = {
   [K in keyof T]: MaybeRefOrGetter<T[K]> | MaybeRefOrGetter<T[K]>;
   [K in keyof T]: MaybeRefOrGetter<T[K]> | MaybeRefOrGetter<T[K]>;
 }
 }

+ 1 - 1
src/composables/useSizes/index.ts

@@ -1,6 +1,6 @@
+import type { ComputedRef, MaybeRef, MaybeRefOrGetter, Ref } from 'vue'
 import { refDebounced, toValue, useElementSize, useWindowSize } from '@vueuse/core'
 import { refDebounced, toValue, useElementSize, useWindowSize } from '@vueuse/core'
 import { computed, readonly } from 'vue'
 import { computed, readonly } from 'vue'
-import type { ComputedRef, MaybeRef, MaybeRefOrGetter, Ref } from 'vue'
 
 
 export interface SizesType {
 export interface SizesType {
   height: Readonly<Ref<number>>
   height: Readonly<Ref<number>>

+ 1 - 1
src/composables/useTexture/component.vue

@@ -1,7 +1,7 @@
 <script setup lang="ts">
 <script setup lang="ts">
+import type { PBRUseTextureMap } from './index'
 import { reactive } from 'vue'
 import { reactive } from 'vue'
 import { useTexture } from './index'
 import { useTexture } from './index'
-import type { PBRUseTextureMap } from './index'
 
 
 const props = defineProps<PBRUseTextureMap>()
 const props = defineProps<PBRUseTextureMap>()
 
 

+ 1 - 1
src/composables/useTexture/index.ts

@@ -1,5 +1,5 @@
-import { TextureLoader } from 'three'
 import type { LoadingManager, Texture } from 'three'
 import type { LoadingManager, Texture } from 'three'
+import { TextureLoader } from 'three'
 import { isArray } from '../../utils'
 import { isArray } from '../../utils'
 
 
 export interface PBRMaterialOptions {
 export interface PBRMaterialOptions {

+ 6 - 6
src/composables/useTresContextProvider/index.ts

@@ -1,20 +1,20 @@
+import type { Camera, WebGLRenderer } from 'three'
+import type { ComputedRef, DeepReadonly, MaybeRef, MaybeRefOrGetter, Ref, ShallowRef } from 'vue'
+import type { RendererLoop } from '../../core/loop'
+import type { EmitEventFn, TresControl, TresObject, TresScene } from '../../types'
+import type { UseRendererOptions } from '../useRenderer'
 import { useFps, useMemory, useRafFn } from '@vueuse/core'
 import { useFps, useMemory, useRafFn } from '@vueuse/core'
 import { Raycaster } from 'three'
 import { Raycaster } from 'three'
 import { computed, inject, onUnmounted, provide, readonly, ref, shallowRef } from 'vue'
 import { computed, inject, onUnmounted, provide, readonly, ref, shallowRef } from 'vue'
-import type { Camera, WebGLRenderer } from 'three'
-import type { ComputedRef, DeepReadonly, MaybeRef, MaybeRefOrGetter, Ref, ShallowRef } from 'vue'
 import { extend } from '../../core/catalogue'
 import { extend } from '../../core/catalogue'
 import { createRenderLoop } from '../../core/loop'
 import { createRenderLoop } from '../../core/loop'
 import { calculateMemoryUsage } from '../../utils/perf'
 import { calculateMemoryUsage } from '../../utils/perf'
+
 import { useCamera } from '../useCamera'
 import { useCamera } from '../useCamera'
 import { useRenderer } from '../useRenderer'
 import { useRenderer } from '../useRenderer'
 import useSizes, { type SizesType } from '../useSizes'
 import useSizes, { type SizesType } from '../useSizes'
-
 import { type TresEventManager, useTresEventManager } from '../useTresEventManager'
 import { type TresEventManager, useTresEventManager } from '../useTresEventManager'
 import { useTresReady } from '../useTresReady'
 import { useTresReady } from '../useTresReady'
-import type { RendererLoop } from '../../core/loop'
-import type { EmitEventFn, TresControl, TresObject, TresScene } from '../../types'
-import type { UseRendererOptions } from '../useRenderer'
 
 
 export interface InternalState {
 export interface InternalState {
   priority: Ref<number>
   priority: Ref<number>

+ 2 - 2
src/composables/useTresEventManager/index.ts

@@ -1,10 +1,10 @@
-import { shallowRef } from 'vue'
 import type { EmitEventFn, EmitEventName, Intersection, TresEvent, TresInstance, TresObject } from 'src/types'
 import type { EmitEventFn, EmitEventName, Intersection, TresEvent, TresInstance, TresObject } from 'src/types'
 import type { Object3D, Object3DEventMap, Scene } from 'three'
 import type { Object3D, Object3DEventMap, Scene } from 'three'
+import type { TresContext } from '../useTresContextProvider'
+import { shallowRef } from 'vue'
 import { hyphenate } from '../../utils'
 import { hyphenate } from '../../utils'
 import * as is from '../../utils/is'
 import * as is from '../../utils/is'
 import { useRaycaster } from '../useRaycaster'
 import { useRaycaster } from '../useRaycaster'
-import type { TresContext } from '../useTresContextProvider'
 
 
 export interface TresEventManager {
 export interface TresEventManager {
   /**
   /**

+ 1 - 1
src/composables/useTresReady/createReadyEventHook/index.ts

@@ -1,5 +1,5 @@
-import { createEventHook } from '@vueuse/core'
 import type { EventHook, EventHookOn, IsAny } from '@vueuse/core'
 import type { EventHook, EventHookOn, IsAny } from '@vueuse/core'
+import { createEventHook } from '@vueuse/core'
 
 
 type Callback<T> =
 type Callback<T> =
   IsAny<T> extends true
   IsAny<T> extends true

+ 1 - 1
src/composables/useTresReady/index.ts

@@ -1,6 +1,6 @@
+import type { TresContext } from '../useTresContextProvider'
 import { useTresContext } from '../useTresContextProvider'
 import { useTresContext } from '../useTresContextProvider'
 import { createReadyEventHook } from './createReadyEventHook'
 import { createReadyEventHook } from './createReadyEventHook'
-import type { TresContext } from '../useTresContextProvider'
 
 
 const ctxToUseTresReady = new WeakMap<
 const ctxToUseTresReady = new WeakMap<
   TresContext,
   TresContext,

+ 1 - 1
src/core/catalogue.ts

@@ -1,6 +1,6 @@
-import { ref } from 'vue'
 import type { Ref } from 'vue'
 import type { Ref } from 'vue'
 import type { TresCatalogue } from '../types'
 import type { TresCatalogue } from '../types'
+import { ref } from 'vue'
 
 
 export const catalogue: Ref<TresCatalogue> = ref({})
 export const catalogue: Ref<TresCatalogue> = ref({})
 
 

+ 1 - 1
src/core/loop.test.ts

@@ -1,6 +1,6 @@
+import type { TresContext } from '../composables/useTresContextProvider'
 import { afterEach, beforeEach, it } from 'vitest'
 import { afterEach, beforeEach, it } from 'vitest'
 import { createRenderLoop } from './loop'
 import { createRenderLoop } from './loop'
-import type { TresContext } from '../composables/useTresContextProvider'
 
 
 let renderLoop
 let renderLoop
 
 

+ 3 - 3
src/core/loop.ts

@@ -1,10 +1,10 @@
-import { Clock, MathUtils } from 'three'
-import { ref, unref } from 'vue'
 import type { Fn } from '@vueuse/core'
 import type { Fn } from '@vueuse/core'
 import type { Camera, EventDispatcher, Raycaster, Scene, WebGLRenderer } from 'three'
 import type { Camera, EventDispatcher, Raycaster, Scene, WebGLRenderer } from 'three'
 import type { Ref } from 'vue'
 import type { Ref } from 'vue'
-import { createPriorityEventHook } from '../utils/createPriorityEventHook'
 import type { Callback } from '../utils/createPriorityEventHook'
 import type { Callback } from '../utils/createPriorityEventHook'
+import { Clock, MathUtils } from 'three'
+import { ref, unref } from 'vue'
+import { createPriorityEventHook } from '../utils/createPriorityEventHook'
 
 
 export type LoopStage = 'before' | 'render' | 'after'
 export type LoopStage = 'before' | 'render' | 'after'
 
 

+ 3 - 3
src/core/nodeOps.test.ts

@@ -1,12 +1,12 @@
+import type { TresContext } from 'src/composables'
+import type { Vector3 } from 'three'
+import type { TresObject } from '../types'
 import * as THREE from 'three'
 import * as THREE from 'three'
 import { Mesh, Scene } from 'three'
 import { Mesh, Scene } from 'three'
 import { beforeAll, describe, expect, it, vi } from 'vitest'
 import { beforeAll, describe, expect, it, vi } from 'vitest'
 import { shallowRef } from 'vue'
 import { shallowRef } from 'vue'
-import type { TresContext } from 'src/composables'
-import type { Vector3 } from 'three'
 import { extend } from './catalogue'
 import { extend } from './catalogue'
 import { nodeOps as getNodeOps } from './nodeOps'
 import { nodeOps as getNodeOps } from './nodeOps'
-import type { TresObject } from '../types'
 
 
 let nodeOps = getNodeOps(mockTresContext())
 let nodeOps = getNodeOps(mockTresContext())
 const pool = []
 const pool = []

+ 2 - 3
src/core/nodeOps.ts

@@ -1,3 +1,5 @@
+import type { TresContext } from '../composables'
+import type { DisposeType, LocalState, TresInstance, TresObject, TresObject3D, TresPrimitive, WithMathProps } from '../types'
 import { BufferAttribute, Object3D } from 'three'
 import { BufferAttribute, Object3D } from 'three'
 import { isRef, type RendererOptions } from 'vue'
 import { isRef, type RendererOptions } from 'vue'
 import { useLogger } from '../composables'
 import { useLogger } from '../composables'
@@ -5,8 +7,6 @@ import { attach, deepArrayEqual, doRemoveDeregister, doRemoveDetach, invalidateI
 import * as is from '../utils/is'
 import * as is from '../utils/is'
 import { createRetargetingProxy } from '../utils/primitive/createRetargetingProxy'
 import { createRetargetingProxy } from '../utils/primitive/createRetargetingProxy'
 import { catalogue } from './catalogue'
 import { catalogue } from './catalogue'
-import type { TresContext } from '../composables'
-import type { DisposeType, LocalState, TresInstance, TresObject, TresObject3D, TresPrimitive, WithMathProps } from '../types'
 
 
 const { logError } = useLogger()
 const { logError } = useLogger()
 
 
@@ -344,7 +344,6 @@ export const nodeOps: (context: TresContext) => RendererOptions<TresObject, Tres
     invalidateInstance(node as TresObject)
     invalidateInstance(node as TresObject)
   }
   }
 
 
-  // eslint-disable-next-line unicorn/consistent-function-scoping
   function parentNode(node: TresObject): TresObject | null {
   function parentNode(node: TresObject): TresObject | null {
     return node?.__tres?.parent || null
     return node?.__tres?.parent || null
   }
   }

+ 5 - 5
src/devtools/plugin.ts

@@ -1,17 +1,17 @@
+import type {
+  App as DevtoolsApp,
+} from '@vue/devtools-api'
+import type { TresContext } from '../composables'
+import type { TresObject } from './../types'
 import {
 import {
   setupDevtoolsPlugin,
   setupDevtoolsPlugin,
 } from '@vue/devtools-api'
 } from '@vue/devtools-api'
 import { Color, type Mesh } from 'three'
 import { Color, type Mesh } from 'three'
 import { reactive } from 'vue'
 import { reactive } from 'vue'
-import type {
-  App as DevtoolsApp,
-} from '@vue/devtools-api'
 import { createHighlightMesh, editSceneObject } from '../utils'
 import { createHighlightMesh, editSceneObject } from '../utils'
 import * as is from '../utils/is'
 import * as is from '../utils/is'
 import { bytesToKB, calculateMemoryUsage } from '../utils/perf'
 import { bytesToKB, calculateMemoryUsage } from '../utils/perf'
 import { toastMessage } from './utils'
 import { toastMessage } from './utils'
-import type { TresContext } from '../composables'
-import type { TresObject } from './../types'
 
 
 export interface Tags {
 export interface Tags {
   label: string
   label: string

+ 2 - 2
src/directives/vDistanceTo.ts

@@ -1,8 +1,8 @@
-import { ArrowHelper } from 'three'
 import type { Ref } from 'vue'
 import type { Ref } from 'vue'
+import type { TresObject } from '../types'
+import { ArrowHelper } from 'three'
 import { useLogger } from '../composables'
 import { useLogger } from '../composables'
 import { extractBindingPosition } from '../utils'
 import { extractBindingPosition } from '../utils'
-import type { TresObject } from '../types'
 
 
 const { logWarning } = useLogger()
 const { logWarning } = useLogger()
 
 

+ 4 - 4
src/directives/vLightHelper.ts

@@ -1,3 +1,7 @@
+import type {
+  Light,
+} from 'three'
+import type { TresObject } from '../types'
 import {
 import {
   DirectionalLightHelper,
   DirectionalLightHelper,
   HemisphereLightHelper,
   HemisphereLightHelper,
@@ -5,11 +9,7 @@ import {
   SpotLightHelper,
   SpotLightHelper,
 } from 'three'
 } from 'three'
 import { RectAreaLightHelper } from 'three-stdlib'
 import { RectAreaLightHelper } from 'three-stdlib'
-import type {
-  Light,
-} from 'three'
 import { useLogger } from '../composables'
 import { useLogger } from '../composables'
-import type { TresObject } from '../types'
 
 
 const { logWarning } = useLogger()
 const { logWarning } = useLogger()
 
 

+ 1 - 1
src/utils/createPriorityEventHook.ts

@@ -1,5 +1,5 @@
-import { tryOnScopeDispose } from '@vueuse/core'
 import type { EventHookOff, IsAny } from '@vueuse/core'
 import type { EventHookOff, IsAny } from '@vueuse/core'
+import { tryOnScopeDispose } from '@vueuse/core'
 
 
 // NOTE: Based on vueuse's createEventHook
 // NOTE: Based on vueuse's createEventHook
 // https://github.com/vueuse/vueuse/blob/1558cd2b5b019abc1feda6d702caa1053a182903/packages/shared/createEventHook/index.ts
 // https://github.com/vueuse/vueuse/blob/1558cd2b5b019abc1feda6d702caa1053a182903/packages/shared/createEventHook/index.ts

+ 2 - 2
src/utils/index.ts

@@ -1,10 +1,10 @@
-import { DoubleSide, MathUtils, MeshBasicMaterial, Scene, Vector3 } from 'three'
 import type { nodeOps } from 'src/core/nodeOps'
 import type { nodeOps } from 'src/core/nodeOps'
 import type { AttachType, LocalState, TresInstance, TresObject, TresPrimitive } from 'src/types'
 import type { AttachType, LocalState, TresInstance, TresObject, TresPrimitive } from 'src/types'
 import type { Material, Mesh, Object3D, Texture } from 'three'
 import type { Material, Mesh, Object3D, Texture } from 'three'
+import type { TresContext } from '../composables/useTresContextProvider'
+import { DoubleSide, MathUtils, MeshBasicMaterial, Scene, Vector3 } from 'three'
 import { HightlightMesh } from '../devtools/highlight'
 import { HightlightMesh } from '../devtools/highlight'
 import * as is from './is'
 import * as is from './is'
-import type { TresContext } from '../composables/useTresContextProvider'
 
 
 export function toSetMethodName(key: string) {
 export function toSetMethodName(key: string) {
   return `set${key[0].toUpperCase()}${key.slice(1)}`
   return `set${key[0].toUpperCase()}${key.slice(1)}`

+ 1 - 1
src/utils/normalize.ts

@@ -1,5 +1,5 @@
-import { Color, Vector3 } from 'three'
 import type { ColorRepresentation } from 'three'
 import type { ColorRepresentation } from 'three'
+import { Color, Vector3 } from 'three'
 
 
 export type SizeFlexibleParams =
 export type SizeFlexibleParams =
   | number[]
   | number[]

+ 1 - 1
src/utils/test-utils.ts

@@ -1,5 +1,5 @@
-import { createApp } from 'vue'
 import type { Fn } from '@vueuse/core'
 import type { Fn } from '@vueuse/core'
+import { createApp } from 'vue'
 
 
 export function withSetup(composable: Fn) {
 export function withSetup(composable: Fn) {
   let result
   let result

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor