@vctrl/hooks 0.9.4 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +210 -0
  2. package/README.md +202 -383
  3. package/package.json +66 -55
  4. package/project.json +55 -0
  5. package/src/index.ts +38 -0
  6. package/src/use-export-model/use-export-model.ts +113 -0
  7. package/src/use-load-model/event-system.ts +46 -0
  8. package/src/use-load-model/index.ts +15 -0
  9. package/src/use-load-model/model-context.tsx +174 -0
  10. package/src/use-load-model/state.ts +75 -0
  11. package/src/use-load-model/types.ts +284 -0
  12. package/src/use-load-model/use-load-model.ts +682 -0
  13. package/src/use-load-model/utils/calculate-referenced-bytes.ts +123 -0
  14. package/src/use-load-model/utils/index.ts +7 -0
  15. package/src/use-load-model/utils/read-directory.ts +35 -0
  16. package/src/use-load-model/utils/reconstruct-files.ts +85 -0
  17. package/src/use-load-model/utils/resolve-scene-payload.ts +151 -0
  18. package/{use-optimize-model/index.d.ts → src/use-optimize-model/index.ts} +2 -1
  19. package/src/use-optimize-model/state.ts +40 -0
  20. package/src/use-optimize-model/types.ts +37 -0
  21. package/src/use-optimize-model/use-calc-optimization-info.ts +97 -0
  22. package/src/use-optimize-model/use-optimize-model.ts +467 -0
  23. package/src/use-optimize-model/utils/index.ts +29 -0
  24. package/src/use-optimize-model/utils/texture-optimization.ts +292 -0
  25. package/src/use-optimize-model/utils/validation.ts +62 -0
  26. package/src/utils/server-communication.ts +351 -0
  27. package/tsconfig.json +21 -0
  28. package/tsconfig.lib.json +16 -0
  29. package/vite.config.ts +77 -0
  30. package/GLTFExporter-Q5UJ5eb1.js +0 -1265
  31. package/GLTFExporter-ltc8rmzz.cjs +0 -18
  32. package/index.cjs.js +0 -1
  33. package/index.d.ts +0 -3
  34. package/index.es.js +0 -12
  35. package/model-context-Du5WQddA.cjs +0 -9
  36. package/model-context-fEKN9ymq.js +0 -3443
  37. package/use-export-model/types.d.ts +0 -19
  38. package/use-export-model/use-export-model.d.ts +0 -14
  39. package/use-export-model/utils/data-uri-to-blob.d.ts +0 -9
  40. package/use-export-model/utils/export-handlers.d.ts +0 -23
  41. package/use-export-model/utils/file-helpers.d.ts +0 -17
  42. package/use-export-model/utils/index.d.ts +0 -3
  43. package/use-export-model-BfzYIkcD.cjs +0 -1
  44. package/use-export-model-ccF7tK6m.js +0 -76
  45. package/use-export-model.cjs.js +0 -1
  46. package/use-export-model.es.js +0 -4
  47. package/use-load-model/event-system.d.ts +0 -7
  48. package/use-load-model/file-type-hooks/index.d.ts +0 -2
  49. package/use-load-model/file-type-hooks/use-load-binary.d.ts +0 -11
  50. package/use-load-model/file-type-hooks/use-load-gltf.d.ts +0 -5
  51. package/use-load-model/index.d.ts +0 -3
  52. package/use-load-model/loaders/create-gltf-loader.d.ts +0 -3
  53. package/use-load-model/loaders/create-usdz-loader.d.ts +0 -3
  54. package/use-load-model/loaders/index.d.ts +0 -2
  55. package/use-load-model/model-context.d.ts +0 -78
  56. package/use-load-model/state.d.ts +0 -19
  57. package/use-load-model/types.d.ts +0 -51
  58. package/use-load-model/use-load-model.d.ts +0 -74
  59. package/use-load-model/utils/array-buffer-to-base64.d.ts +0 -2
  60. package/use-load-model/utils/index.d.ts +0 -2
  61. package/use-load-model/utils/read-directory.d.ts +0 -8
  62. package/use-load-model.cjs.js +0 -1
  63. package/use-load-model.es.js +0 -8
  64. package/use-optimize-model/state.d.ts +0 -13
  65. package/use-optimize-model/types.d.ts +0 -37
  66. package/use-optimize-model/use-optimize-model.d.ts +0 -29
  67. package/use-optimize-model-BXWR9d6e.js +0 -127
  68. package/use-optimize-model-EEn8K4nu.cjs +0 -1
  69. package/use-optimize-model.cjs.js +0 -1
  70. package/use-optimize-model.es.js +0 -4
  71. /package/{use-export-model/index.d.ts → src/use-export-model/index.ts} +0 -0
package/tsconfig.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "jsx": "react-jsx",
5
+ "lib": ["ESNext", "DOM", "DOM.Iterable", "DOM.AsyncIterable"],
6
+ "allowJs": false,
7
+ "esModuleInterop": false,
8
+ "allowSyntheticDefaultImports": true,
9
+ "strict": true,
10
+ "isolatedModules": true,
11
+ "noEmit": true,
12
+ "types": ["vite/client"]
13
+ },
14
+ "files": [],
15
+ "include": [],
16
+ "references": [
17
+ {
18
+ "path": "./tsconfig.lib.json"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "noEmit": true,
5
+ "isolatedModules": true,
6
+ "declaration": true,
7
+ "types": [
8
+ "node",
9
+ "@nx/react/typings/cssmodule.d.ts",
10
+ "@nx/react/typings/image.d.ts",
11
+ "vite/client"
12
+ ]
13
+ },
14
+ "exclude": ["**/*.spec.ts", "**/*.test.ts"],
15
+ "include": ["src/**/*.ts"]
16
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,77 @@
1
+ /// <reference types='vitest' />
2
+ import * as path from 'path'
3
+
4
+ import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'
5
+ import react from '@vitejs/plugin-react'
6
+ import { defineConfig } from 'vite'
7
+ import dts from 'vite-plugin-dts'
8
+
9
+ export default defineConfig({
10
+ root: __dirname,
11
+ cacheDir: '../../node_modules/.vite/packages/@vctrl/hooks',
12
+
13
+ plugins: [
14
+ react(),
15
+ nxViteTsPaths(),
16
+ dts({
17
+ entryRoot: 'src',
18
+ tsconfigPath: path.join(__dirname, 'tsconfig.lib.json')
19
+ })
20
+ ],
21
+
22
+ // Uncomment this if you are using workers.
23
+ // worker: {
24
+ // plugins: [ nxViteTsPaths() ],
25
+ // },
26
+
27
+ // Configuration for building your library.
28
+ // See: https://vitejs.dev/guide/build.html#library-mode
29
+ build: {
30
+ emptyOutDir: true,
31
+ reportCompressedSize: true,
32
+ // commonjsOptions: {
33
+ // transformMixedEsModules: true
34
+ // },
35
+ lib: {
36
+ entry: {
37
+ index: path.resolve(__dirname, 'src/index.ts'),
38
+ 'use-load-model': path.resolve(
39
+ __dirname,
40
+ 'src/use-load-model/index.ts'
41
+ ),
42
+ 'use-optimize-model': path.resolve(
43
+ __dirname,
44
+ 'src/use-optimize-model/index.ts'
45
+ ),
46
+ 'use-export-model': path.resolve(
47
+ __dirname,
48
+ 'src/use-export-model/index.ts'
49
+ )
50
+ },
51
+ name: '@vctrl/hooks',
52
+ formats: ['es', 'cjs'],
53
+ fileName: (format, entry) => `${entry}.${format}.js`
54
+ },
55
+
56
+ rollupOptions: {
57
+ // External packages that should not be bundled into your library.
58
+ external: [
59
+ 'react',
60
+ 'react-dom',
61
+ 'three',
62
+ 'react/jsx-runtime',
63
+ 'file-saver',
64
+ 'jszip'
65
+ // '@gltf-transform/core',
66
+ // '@gltf-transform/functions',
67
+ // '@gltf-transform/extensions'
68
+ ],
69
+ output: {
70
+ globals: {
71
+ react: 'React',
72
+ 'react-dom': 'ReactDOM'
73
+ }
74
+ }
75
+ }
76
+ }
77
+ })