@netless/window-manager 0.4.30 → 1.0.0-canary.0

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 (44) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/App/AppProxy.d.ts +0 -1
  3. package/dist/AppManager.d.ts +5 -1
  4. package/dist/BoxEmitter.d.ts +34 -0
  5. package/dist/BoxManager.d.ts +8 -6
  6. package/dist/Cursor/index.d.ts +3 -1
  7. package/dist/Helper.d.ts +0 -2
  8. package/dist/InternalEmitter.d.ts +2 -19
  9. package/dist/Utils/AppCreateQueue.d.ts +2 -3
  10. package/dist/View/CameraSynchronizer.d.ts +17 -0
  11. package/dist/View/MainView.d.ts +4 -5
  12. package/dist/index.cjs.js +21 -22
  13. package/dist/index.d.ts +2 -3
  14. package/dist/index.es.js +2283 -1898
  15. package/dist/index.umd.js +21 -22
  16. package/dist/style.css +1 -1
  17. package/dist/typings.d.ts +2 -1
  18. package/docs/api.md +1 -1
  19. package/docs/app-context.md +127 -36
  20. package/docs/develop-app.md +1 -1
  21. package/package.json +5 -4
  22. package/pnpm-lock.yaml +150 -133
  23. package/src/App/AppContext.ts +1 -1
  24. package/src/App/AppProxy.ts +2 -10
  25. package/src/AppManager.ts +67 -59
  26. package/src/BoxEmitter.ts +19 -0
  27. package/src/BoxManager.ts +99 -108
  28. package/src/Cursor/Cursor.ts +3 -3
  29. package/src/Cursor/index.ts +13 -7
  30. package/src/Helper.ts +2 -15
  31. package/src/InternalEmitter.ts +6 -8
  32. package/src/Utils/AppCreateQueue.ts +2 -3
  33. package/src/View/CameraSynchronizer.ts +67 -0
  34. package/src/View/MainView.ts +45 -53
  35. package/src/index.ts +33 -57
  36. package/src/typings.ts +3 -0
  37. package/vite.config.js +0 -1
  38. package/dist/ContainerResizeObserver.d.ts +0 -11
  39. package/dist/ScenePath/index.d.ts +0 -12
  40. package/dist/index.cjs.js.map +0 -1
  41. package/dist/index.es.js.map +0 -1
  42. package/dist/index.umd.js.map +0 -1
  43. package/src/ContainerResizeObserver.ts +0 -73
  44. package/src/ScenePath/index.ts +0 -47
package/pnpm-lock.yaml CHANGED
@@ -4,7 +4,7 @@ specifiers:
4
4
  '@juggle/resize-observer': ^3.3.1
5
5
  '@netless/app-docs-viewer': ^0.2.9
6
6
  '@netless/app-media-player': 0.1.0-beta.5
7
- '@netless/telebox-insider': 0.2.26
7
+ '@netless/telebox-insider': 1.0.0-alpha.8
8
8
  '@rollup/plugin-commonjs': ^20.0.0
9
9
  '@rollup/plugin-node-resolve': ^13.0.4
10
10
  '@rollup/plugin-url': ^6.1.0
@@ -16,6 +16,7 @@ specifiers:
16
16
  '@types/uuid': ^8.3.1
17
17
  '@typescript-eslint/eslint-plugin': ^4.30.0
18
18
  '@typescript-eslint/parser': ^4.30.0
19
+ '@vitest/ui': ^0.14.1
19
20
  cypress: ^8.7.0
20
21
  dotenv: ^10.0.0
21
22
  emittery: ^0.9.2
@@ -30,22 +31,22 @@ specifiers:
30
31
  prettier-plugin-svelte: ^2.4.0
31
32
  rollup-plugin-analyzer: ^4.0.0
32
33
  rollup-plugin-styles: ^3.14.1
33
- side-effect-manager: ^0.1.5
34
+ side-effect-manager: ^1.1.0
34
35
  svelte: ^3.42.4
35
36
  typescript: ^4.5.5
36
37
  uuid: ^7.0.3
37
38
  video.js: '>=7'
38
39
  vite: ^2.5.3
39
- vitest: ^0.12.4
40
+ vitest: ^0.14.1
40
41
  white-web-sdk: 2.16.10
41
42
 
42
43
  dependencies:
43
44
  '@juggle/resize-observer': registry.npmmirror.com/@juggle/resize-observer/3.3.1
44
- '@netless/telebox-insider': registry.npmmirror.com/@netless/telebox-insider/0.2.26
45
+ '@netless/telebox-insider': 1.0.0-alpha.8
45
46
  emittery: registry.npmmirror.com/emittery/0.9.2
46
47
  lodash: registry.npmmirror.com/lodash/4.17.21
47
48
  p-retry: registry.npmmirror.com/p-retry/4.6.1
48
- side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
49
+ side-effect-manager: 1.1.0
49
50
  uuid: registry.npmmirror.com/uuid/7.0.3
50
51
  video.js: registry.npmmirror.com/video.js/7.18.1
51
52
 
@@ -63,6 +64,7 @@ devDependencies:
63
64
  '@types/uuid': registry.npmmirror.com/@types/uuid/8.3.4
64
65
  '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/4.33.0_bre6cjtjfaculj7kh43nxjxlbi
65
66
  '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/4.33.0_hrkuebk64jiu2ut2d2sm4oylnu
67
+ '@vitest/ui': 0.14.1
66
68
  cypress: registry.npmmirror.com/cypress/8.7.0
67
69
  dotenv: registry.npmmirror.com/dotenv/10.0.0
68
70
  eslint: registry.npmmirror.com/eslint/7.32.0
@@ -77,14 +79,13 @@ devDependencies:
77
79
  svelte: registry.npmmirror.com/svelte/3.46.4
78
80
  typescript: registry.npmmirror.com/typescript/4.6.3
79
81
  vite: registry.npmmirror.com/vite/2.8.6_less@4.1.2
80
- vitest: 0.12.4_jsdom@19.0.0+less@4.1.2
82
+ vitest: 0.14.1_nmqrau6oupbkt73pq2ukep6chi
81
83
  white-web-sdk: registry.npmmirror.com/white-web-sdk/2.16.10
82
84
 
83
85
  packages:
84
86
 
85
87
  /@juggle/resize-observer/3.3.1:
86
88
  resolution: {integrity: sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==}
87
- dev: true
88
89
 
89
90
  /@netless/app-docs-viewer/0.2.9:
90
91
  resolution: {integrity: sha512-yuhfQ02nr61polMq8s3OiIIvA85yonJwCckr/rPYCB8hm8YV9Di9cYb85fB8Wy3A3do/1UVfYHTWa6Vcge6fLw==}
@@ -94,6 +95,36 @@ packages:
94
95
  vanilla-lazyload: 17.6.1
95
96
  dev: true
96
97
 
98
+ /@netless/telebox-insider/1.0.0-alpha.8:
99
+ resolution: {integrity: sha512-GFQpS8fVwc2kSjFFg88QQObQ5P25a2eVblC/wWn6J/IF8PihO8kDs/kI9lN+KtbRJltI2Ca9g9QlQAHi7SArHw==}
100
+ dependencies:
101
+ '@juggle/resize-observer': 3.3.1
102
+ '@types/shallowequal': 1.1.1
103
+ emittery: 0.11.0
104
+ shallowequal: 1.1.0
105
+ side-effect-manager: 1.1.0
106
+ stylefire: 7.0.3
107
+ value-enhancer: 1.2.1
108
+ dev: false
109
+
110
+ /@polka/url/1.0.0-next.21:
111
+ resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
112
+ dev: true
113
+
114
+ /@popmotion/easing/1.0.2:
115
+ resolution: {integrity: sha512-IkdW0TNmRnWTeWI7aGQIVDbKXPWHVEYdGgd5ZR4SH/Ty/61p63jCjrPxX1XrR7IGkl08bjhJROStD7j+RKgoIw==}
116
+ dev: false
117
+
118
+ /@popmotion/popcorn/0.4.4:
119
+ resolution: {integrity: sha512-jYO/8319fKoNLMlY4ZJPiPu8Ea8occYwRZhxpaNn/kZsK4QG2E7XFlXZMJBsTWDw7I1i0uaqyC4zn1nwEezLzg==}
120
+ dependencies:
121
+ '@popmotion/easing': 1.0.2
122
+ framesync: 4.1.0
123
+ hey-listen: 1.0.8
124
+ style-value-types: 3.2.0
125
+ tslib: 1.14.1
126
+ dev: false
127
+
97
128
  /@tootallnate/once/2.0.0:
98
129
  resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
99
130
  engines: {node: '>= 10'}
@@ -113,14 +144,24 @@ packages:
113
144
  resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
114
145
  dev: true
115
146
 
116
- /@types/yauzl/2.9.2:
117
- resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==}
147
+ /@types/shallowequal/1.1.1:
148
+ resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==}
149
+ dev: false
150
+
151
+ /@types/yauzl/2.10.0:
152
+ resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
118
153
  requiresBuild: true
119
154
  dependencies:
120
155
  '@types/node': registry.npmmirror.com/@types/node/17.0.23
121
156
  dev: true
122
157
  optional: true
123
158
 
159
+ /@vitest/ui/0.14.1:
160
+ resolution: {integrity: sha512-rWhltzClVxTT9ktnS9DBQUe3RdRweP+XF1LspK5i3e+P66gn3rc2LChol3EYPYHJghL2Xsm91lvQO1pgE4vgHA==}
161
+ dependencies:
162
+ sirv: 2.0.2
163
+ dev: true
164
+
124
165
  /abab/2.0.5:
125
166
  resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==}
126
167
  dev: true
@@ -188,7 +229,7 @@ packages:
188
229
  dev: true
189
230
 
190
231
  /check-error/1.0.2:
191
- resolution: {integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=}
232
+ resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
192
233
  dev: true
193
234
 
194
235
  /colors/1.4.0:
@@ -236,6 +277,18 @@ packages:
236
277
  mimic-fn: 4.0.0
237
278
  dev: true
238
279
 
280
+ /debug/3.2.7:
281
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
282
+ peerDependencies:
283
+ supports-color: '*'
284
+ peerDependenciesMeta:
285
+ supports-color:
286
+ optional: true
287
+ dependencies:
288
+ ms: 2.1.3
289
+ dev: true
290
+ optional: true
291
+
239
292
  /debug/4.3.4:
240
293
  resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
241
294
  engines: {node: '>=6.0'}
@@ -275,6 +328,11 @@ packages:
275
328
  webidl-conversions: 7.0.0
276
329
  dev: true
277
330
 
331
+ /emittery/0.11.0:
332
+ resolution: {integrity: sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g==}
333
+ engines: {node: '>=12'}
334
+ dev: false
335
+
278
336
  /errno/0.1.8:
279
337
  resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
280
338
  hasBin: true
@@ -534,6 +592,12 @@ packages:
534
592
  mime-types: 2.1.35
535
593
  dev: true
536
594
 
595
+ /framesync/4.1.0:
596
+ resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==}
597
+ dependencies:
598
+ hey-listen: 1.0.8
599
+ dev: false
600
+
537
601
  /fsevents/2.3.2:
538
602
  resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
539
603
  engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -547,11 +611,11 @@ packages:
547
611
  dev: true
548
612
 
549
613
  /get-func-name/2.0.0:
550
- resolution: {integrity: sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=}
614
+ resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
551
615
  dev: true
552
616
 
553
- /graceful-fs/4.2.9:
554
- resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==}
617
+ /graceful-fs/4.2.10:
618
+ resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
555
619
  dev: true
556
620
  optional: true
557
621
 
@@ -562,6 +626,10 @@ packages:
562
626
  function-bind: 1.1.1
563
627
  dev: true
564
628
 
629
+ /hey-listen/1.0.8:
630
+ resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
631
+ dev: false
632
+
565
633
  /html-encoding-sniffer/3.0.0:
566
634
  resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
567
635
  engines: {node: '>=12'}
@@ -598,7 +666,7 @@ packages:
598
666
  dev: true
599
667
 
600
668
  /image-size/0.5.5:
601
- resolution: {integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=}
669
+ resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
602
670
  engines: {node: '>=0.10.0'}
603
671
  hasBin: true
604
672
  requiresBuild: true
@@ -711,10 +779,19 @@ packages:
711
779
  engines: {node: '>=12'}
712
780
  dev: true
713
781
 
782
+ /mrmime/1.0.1:
783
+ resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
784
+ engines: {node: '>=10'}
785
+ dev: true
786
+
714
787
  /ms/2.1.2:
715
788
  resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
716
789
  dev: true
717
790
 
791
+ /ms/2.1.3:
792
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
793
+ dev: true
794
+
718
795
  /nanoid/3.3.4:
719
796
  resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
720
797
  engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -727,7 +804,7 @@ packages:
727
804
  hasBin: true
728
805
  requiresBuild: true
729
806
  dependencies:
730
- debug: registry.npmmirror.com/debug/3.2.7
807
+ debug: 3.2.7
731
808
  iconv-lite: registry.npmmirror.com/iconv-lite/0.4.24
732
809
  sax: registry.npmmirror.com/sax/1.2.4
733
810
  transitivePeerDependencies:
@@ -818,6 +895,23 @@ packages:
818
895
  xmlchars: 2.2.0
819
896
  dev: true
820
897
 
898
+ /shallowequal/1.1.0:
899
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
900
+ dev: false
901
+
902
+ /side-effect-manager/1.1.0:
903
+ resolution: {integrity: sha512-Gqy1tsBBYcKclLPIGDxMQiZJLM8CGdGg/DM3a5/8ic2x2A19rVUhVk/+Mt5RwNbpaNKmBPO/wxxzAnY2myQVTg==}
904
+ dev: false
905
+
906
+ /sirv/2.0.2:
907
+ resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
908
+ engines: {node: '>= 10'}
909
+ dependencies:
910
+ '@polka/url': 1.0.0-next.21
911
+ mrmime: 1.0.1
912
+ totalist: 3.0.0
913
+ dev: true
914
+
821
915
  /source-map-js/1.0.2:
822
916
  resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
823
917
  engines: {node: '>=0.10.0'}
@@ -828,6 +922,23 @@ packages:
828
922
  engines: {node: '>=0.10.0'}
829
923
  dev: true
830
924
 
925
+ /style-value-types/3.2.0:
926
+ resolution: {integrity: sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==}
927
+ dependencies:
928
+ hey-listen: 1.0.8
929
+ tslib: 1.14.1
930
+ dev: false
931
+
932
+ /stylefire/7.0.3:
933
+ resolution: {integrity: sha512-Q0l7NSeFz/OkX+o6/7Zg3VZxSAZeQzQpYomWmIpOehFM/rJNMSLVX5fgg6Q48ut2ETNKwdhm97mPNU643EBCoQ==}
934
+ dependencies:
935
+ '@popmotion/popcorn': 0.4.4
936
+ framesync: 4.1.0
937
+ hey-listen: 1.0.8
938
+ style-value-types: 3.2.0
939
+ tslib: 1.14.1
940
+ dev: false
941
+
831
942
  /supports-preserve-symlinks-flag/1.0.0:
832
943
  resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
833
944
  engines: {node: '>= 0.4'}
@@ -847,6 +958,11 @@ packages:
847
958
  engines: {node: '>=14.0.0'}
848
959
  dev: true
849
960
 
961
+ /totalist/3.0.0:
962
+ resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==}
963
+ engines: {node: '>=6'}
964
+ dev: true
965
+
850
966
  /tough-cookie/4.0.0:
851
967
  resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
852
968
  engines: {node: '>=6'}
@@ -863,6 +979,10 @@ packages:
863
979
  punycode: 2.1.1
864
980
  dev: true
865
981
 
982
+ /tslib/1.14.1:
983
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
984
+ dev: false
985
+
866
986
  /type-check/0.3.2:
867
987
  resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
868
988
  engines: {node: '>= 0.8.0'}
@@ -880,6 +1000,10 @@ packages:
880
1000
  engines: {node: '>= 4.0.0'}
881
1001
  dev: true
882
1002
 
1003
+ /value-enhancer/1.2.1:
1004
+ resolution: {integrity: sha512-11IrGi9xmVbr3twzuaMRrdUGzhdaE4eXvT6qYZlB5VrhK5uQzSPlYOEBlsIGH+dMvkakNkWGNIbxdZi87/MWuQ==}
1005
+ dev: false
1006
+
883
1007
  /vanilla-lazyload/17.6.1:
884
1008
  resolution: {integrity: sha512-Jn/WpWEIe+d6UUb8hw1qDO49W8lceFLW/ucWt8pdRcQvoQaucLtMnc9QHsm0Iz/xe4SCElEE2fyMZB8xC3e/6Q==}
885
1009
  dev: true
@@ -909,8 +1033,8 @@ packages:
909
1033
  fsevents: 2.3.2
910
1034
  dev: true
911
1035
 
912
- /vitest/0.12.4_jsdom@19.0.0+less@4.1.2:
913
- resolution: {integrity: sha512-EDxdhlAt6vcu6y4VouAI60z78iCAVFnfBL4VlSQVQnGmOk5altOtIKvp3xfZ+cfo4iVHgqq1QNyf5qOFiL4leg==}
1036
+ /vitest/0.14.1_nmqrau6oupbkt73pq2ukep6chi:
1037
+ resolution: {integrity: sha512-2UUm6jYgkwh7Y3VKSRR8OuaNCm+iA5LPDnal7jyITN39maZK9L+JVxqjtQ39PSFo5Fl3/BgaJvER6GGHX9JLxg==}
914
1038
  engines: {node: '>=v14.16.0'}
915
1039
  hasBin: true
916
1040
  peerDependencies:
@@ -930,7 +1054,9 @@ packages:
930
1054
  dependencies:
931
1055
  '@types/chai': 4.3.1
932
1056
  '@types/chai-subset': 1.3.3
1057
+ '@vitest/ui': 0.14.1
933
1058
  chai: 4.3.6
1059
+ debug: 4.3.4
934
1060
  jsdom: 19.0.0
935
1061
  local-pkg: 0.4.1
936
1062
  tinypool: 0.1.3
@@ -940,6 +1066,7 @@ packages:
940
1066
  - less
941
1067
  - sass
942
1068
  - stylus
1069
+ - supports-color
943
1070
  dev: true
944
1071
 
945
1072
  /w3c-hr-time/1.0.2:
@@ -1152,19 +1279,6 @@ packages:
1152
1279
  version: 0.0.4
1153
1280
  dev: true
1154
1281
 
1155
- registry.npmmirror.com/@netless/telebox-insider/0.2.26:
1156
- resolution: {integrity: sha512-HOBi9HWK0Zf0nvzfjM0V/0QmZ69ec7L/lCKMwRcfiQHxAAJ/zo9fEm468WocYFsliixWW5L7HwMN0eHb0mw7hA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@netless/telebox-insider/-/telebox-insider-0.2.26.tgz}
1157
- name: '@netless/telebox-insider'
1158
- version: 0.2.26
1159
- dependencies:
1160
- '@types/shallowequal': registry.npmmirror.com/@types/shallowequal/1.1.1
1161
- eventemitter3: registry.npmmirror.com/eventemitter3/4.0.7
1162
- shallowequal: registry.npmmirror.com/shallowequal/1.1.0
1163
- side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
1164
- stylefire: registry.npmmirror.com/stylefire/7.0.3
1165
- value-enhancer: registry.npmmirror.com/value-enhancer/0.0.8
1166
- dev: false
1167
-
1168
1282
  registry.npmmirror.com/@netless/xml-js/1.6.15:
1169
1283
  resolution: {integrity: sha512-e0emMs7YtDB/ATUns1SJ61R9n9nfVvwwFodoc539Qt0ScksaCLCaFWgpEbLloj9sr60ry6Xd8QFHKULFIZB6zA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@netless/xml-js/-/xml-js-1.6.15.tgz}
1170
1284
  name: '@netless/xml-js'
@@ -1199,24 +1313,6 @@ packages:
1199
1313
  fastq: registry.npmmirror.com/fastq/1.13.0
1200
1314
  dev: true
1201
1315
 
1202
- registry.npmmirror.com/@popmotion/easing/1.0.2:
1203
- resolution: {integrity: sha512-IkdW0TNmRnWTeWI7aGQIVDbKXPWHVEYdGgd5ZR4SH/Ty/61p63jCjrPxX1XrR7IGkl08bjhJROStD7j+RKgoIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popmotion/easing/-/easing-1.0.2.tgz}
1204
- name: '@popmotion/easing'
1205
- version: 1.0.2
1206
- dev: false
1207
-
1208
- registry.npmmirror.com/@popmotion/popcorn/0.4.4:
1209
- resolution: {integrity: sha512-jYO/8319fKoNLMlY4ZJPiPu8Ea8occYwRZhxpaNn/kZsK4QG2E7XFlXZMJBsTWDw7I1i0uaqyC4zn1nwEezLzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popmotion/popcorn/-/popcorn-0.4.4.tgz}
1210
- name: '@popmotion/popcorn'
1211
- version: 0.4.4
1212
- dependencies:
1213
- '@popmotion/easing': registry.npmmirror.com/@popmotion/easing/1.0.2
1214
- framesync: registry.npmmirror.com/framesync/4.1.0
1215
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
1216
- style-value-types: registry.npmmirror.com/style-value-types/3.2.0
1217
- tslib: registry.npmmirror.com/tslib/1.14.1
1218
- dev: false
1219
-
1220
1316
  registry.npmmirror.com/@protobufjs/aspromise/1.1.2:
1221
1317
  resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz}
1222
1318
  name: '@protobufjs/aspromise'
@@ -1472,12 +1568,6 @@ packages:
1472
1568
  version: 0.12.1
1473
1569
  dev: false
1474
1570
 
1475
- registry.npmmirror.com/@types/shallowequal/1.1.1:
1476
- resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/shallowequal/-/shallowequal-1.1.1.tgz}
1477
- name: '@types/shallowequal'
1478
- version: 1.1.1
1479
- dev: false
1480
-
1481
1571
  registry.npmmirror.com/@types/sinonjs__fake-timers/6.0.4:
1482
1572
  resolution: {integrity: sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz}
1483
1573
  name: '@types/sinonjs__fake-timers'
@@ -2477,20 +2567,6 @@ packages:
2477
2567
  version: 1.11.0
2478
2568
  dev: true
2479
2569
 
2480
- registry.npmmirror.com/debug/3.2.7:
2481
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz}
2482
- name: debug
2483
- version: 3.2.7
2484
- peerDependencies:
2485
- supports-color: '*'
2486
- peerDependenciesMeta:
2487
- supports-color:
2488
- optional: true
2489
- dependencies:
2490
- ms: registry.npmmirror.com/ms/2.1.3
2491
- dev: true
2492
- optional: true
2493
-
2494
2570
  registry.npmmirror.com/debug/3.2.7_supports-color@8.1.1:
2495
2571
  resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz}
2496
2572
  id: registry.npmmirror.com/debug/3.2.7
@@ -2502,7 +2578,7 @@ packages:
2502
2578
  supports-color:
2503
2579
  optional: true
2504
2580
  dependencies:
2505
- ms: registry.npmmirror.com/ms/2.1.3
2581
+ ms: 2.1.3
2506
2582
  supports-color: registry.npmmirror.com/supports-color/8.1.1
2507
2583
  dev: true
2508
2584
 
@@ -3041,6 +3117,7 @@ packages:
3041
3117
  resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz}
3042
3118
  name: eventemitter3
3043
3119
  version: 4.0.7
3120
+ dev: true
3044
3121
 
3045
3122
  registry.npmmirror.com/execa/4.1.0:
3046
3123
  resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz}
@@ -3086,7 +3163,7 @@ packages:
3086
3163
  get-stream: registry.npmmirror.com/get-stream/5.2.0
3087
3164
  yauzl: registry.npmmirror.com/yauzl/2.10.0
3088
3165
  optionalDependencies:
3089
- '@types/yauzl': 2.9.2
3166
+ '@types/yauzl': 2.10.0
3090
3167
  transitivePeerDependencies:
3091
3168
  - supports-color
3092
3169
  dev: true
@@ -3218,14 +3295,6 @@ packages:
3218
3295
  version: 4.2.0
3219
3296
  dev: true
3220
3297
 
3221
- registry.npmmirror.com/framesync/4.1.0:
3222
- resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/framesync/-/framesync-4.1.0.tgz}
3223
- name: framesync
3224
- version: 4.1.0
3225
- dependencies:
3226
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
3227
- dev: false
3228
-
3229
3298
  registry.npmmirror.com/fs-extra/9.1.0:
3230
3299
  resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz}
3231
3300
  name: fs-extra
@@ -3421,12 +3490,6 @@ packages:
3421
3490
  version: 1.1.0
3422
3491
  dev: true
3423
3492
 
3424
- registry.npmmirror.com/hey-listen/1.0.8:
3425
- resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hey-listen/-/hey-listen-1.0.8.tgz}
3426
- name: hey-listen
3427
- version: 1.0.8
3428
- dev: false
3429
-
3430
3493
  registry.npmmirror.com/hsl-regex/1.0.0:
3431
3494
  resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hsl-regex/-/hsl-regex-1.0.0.tgz}
3432
3495
  name: hsl-regex
@@ -3915,7 +3978,7 @@ packages:
3915
3978
  dependencies:
3916
3979
  universalify: registry.npmmirror.com/universalify/2.0.0
3917
3980
  optionalDependencies:
3918
- graceful-fs: 4.2.9
3981
+ graceful-fs: 4.2.10
3919
3982
  dev: true
3920
3983
 
3921
3984
  registry.npmmirror.com/jsprim/2.0.2:
@@ -3962,7 +4025,7 @@ packages:
3962
4025
  tslib: registry.npmmirror.com/tslib/2.3.1
3963
4026
  optionalDependencies:
3964
4027
  errno: 0.1.8
3965
- graceful-fs: 4.2.9
4028
+ graceful-fs: 4.2.10
3966
4029
  image-size: 0.5.5
3967
4030
  make-dir: 2.1.0
3968
4031
  mime: 1.6.0
@@ -4309,12 +4372,6 @@ packages:
4309
4372
  version: 2.1.2
4310
4373
  dev: true
4311
4374
 
4312
- registry.npmmirror.com/ms/2.1.3:
4313
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz}
4314
- name: ms
4315
- version: 2.1.3
4316
- dev: true
4317
-
4318
4375
  registry.npmmirror.com/mux.js/6.0.1:
4319
4376
  resolution: {integrity: sha512-22CHb59rH8pWGcPGW5Og7JngJ9s+z4XuSlYvnxhLuc58cA1WqGDQPzuG8I+sPm1/p0CdgpzVTaKW408k5DNn8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mux.js/-/mux.js-6.0.1.tgz}
4320
4377
  name: mux.js
@@ -5494,12 +5551,6 @@ packages:
5494
5551
  lru-cache: registry.npmmirror.com/lru-cache/6.0.0
5495
5552
  dev: true
5496
5553
 
5497
- registry.npmmirror.com/shallowequal/1.1.0:
5498
- resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz}
5499
- name: shallowequal
5500
- version: 1.1.0
5501
- dev: false
5502
-
5503
5554
  registry.npmmirror.com/shebang-command/2.0.0:
5504
5555
  resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz}
5505
5556
  name: shebang-command
@@ -5526,12 +5577,6 @@ packages:
5526
5577
  object-inspect: registry.npmmirror.com/object-inspect/1.12.0
5527
5578
  dev: true
5528
5579
 
5529
- registry.npmmirror.com/side-effect-manager/0.1.5:
5530
- resolution: {integrity: sha512-aAEXMS+9qW7rY2cwq4S6UjW3IBO/ZLWRI0sH1oGJ1eDE7YBFR1TW950qffnpx/0hByusAOVbu2zjThk9Vcjs+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-effect-manager/-/side-effect-manager-0.1.5.tgz}
5531
- name: side-effect-manager
5532
- version: 0.1.5
5533
- dev: false
5534
-
5535
5580
  registry.npmmirror.com/signal-exit/3.0.7:
5536
5581
  resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz}
5537
5582
  name: signal-exit
@@ -5711,27 +5756,6 @@ packages:
5711
5756
  engines: {node: '>=8'}
5712
5757
  dev: true
5713
5758
 
5714
- registry.npmmirror.com/style-value-types/3.2.0:
5715
- resolution: {integrity: sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/style-value-types/-/style-value-types-3.2.0.tgz}
5716
- name: style-value-types
5717
- version: 3.2.0
5718
- dependencies:
5719
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
5720
- tslib: registry.npmmirror.com/tslib/1.14.1
5721
- dev: false
5722
-
5723
- registry.npmmirror.com/stylefire/7.0.3:
5724
- resolution: {integrity: sha512-Q0l7NSeFz/OkX+o6/7Zg3VZxSAZeQzQpYomWmIpOehFM/rJNMSLVX5fgg6Q48ut2ETNKwdhm97mPNU643EBCoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylefire/-/stylefire-7.0.3.tgz}
5725
- name: stylefire
5726
- version: 7.0.3
5727
- dependencies:
5728
- '@popmotion/popcorn': registry.npmmirror.com/@popmotion/popcorn/0.4.4
5729
- framesync: registry.npmmirror.com/framesync/4.1.0
5730
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
5731
- style-value-types: registry.npmmirror.com/style-value-types/3.2.0
5732
- tslib: registry.npmmirror.com/tslib/1.14.1
5733
- dev: false
5734
-
5735
5759
  registry.npmmirror.com/stylehacks/4.0.3:
5736
5760
  resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylehacks/-/stylehacks-4.0.3.tgz}
5737
5761
  name: stylehacks
@@ -5900,6 +5924,7 @@ packages:
5900
5924
  resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz}
5901
5925
  name: tslib
5902
5926
  version: 1.14.1
5927
+ dev: true
5903
5928
 
5904
5929
  registry.npmmirror.com/tslib/2.3.1:
5905
5930
  resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.3.1.tgz}
@@ -6083,14 +6108,6 @@ packages:
6083
6108
  version: 2.3.0
6084
6109
  dev: true
6085
6110
 
6086
- registry.npmmirror.com/value-enhancer/0.0.8:
6087
- resolution: {integrity: sha512-ba8Rcyp9ItqlLWoyZVqHGaEdY1tqP1mcbRhlOrCnIrDxdl8rKNH1Rq45syo4IMYNSkwC2oV9xBWcV9dmL14aQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/value-enhancer/-/value-enhancer-0.0.8.tgz}
6088
- name: value-enhancer
6089
- version: 0.0.8
6090
- dependencies:
6091
- side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
6092
- dev: false
6093
-
6094
6111
  registry.npmmirror.com/vendors/1.0.4:
6095
6112
  resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vendors/-/vendors-1.0.4.tgz}
6096
6113
  name: vendors
@@ -14,7 +14,7 @@ import type {
14
14
  Room,
15
15
  SceneDefinition,
16
16
  View,
17
- EventListener as WhiteEventListener,
17
+ EventListener as WhiteEventListener
18
18
  } from "white-web-sdk";
19
19
  import type { ReadonlyTeleBox } from "@netless/telebox-insider";
20
20
  import type Emittery from "emittery";
@@ -29,6 +29,7 @@ import type { NetlessApp } from "../typings";
29
29
  import type { ReadonlyTeleBox } from "@netless/telebox-insider";
30
30
  import type { PageRemoveService, PageState } from "../Page";
31
31
  import { calculateNextIndex } from "../Page";
32
+ import { boxEmitter } from "../BoxEmitter";
32
33
 
33
34
  export type AppEmitter = Emittery<AppEmitterEvent>;
34
35
 
@@ -190,7 +191,6 @@ export class AppProxy implements PageRemoveService {
190
191
  const result = await app.setup(context);
191
192
  this.appResult = result;
192
193
  appRegister.notifyApp(this.kind, "created", { appId, result });
193
- this.afterSetupApp(boxInitState);
194
194
  this.fixMobileSize();
195
195
  }, SETUP_APP_DELAY);
196
196
  });
@@ -224,14 +224,6 @@ export class AppProxy implements PageRemoveService {
224
224
  }
225
225
  }
226
226
 
227
- private afterSetupApp(boxInitState: AppInitState | undefined): void {
228
- if (boxInitState) {
229
- if (!boxInitState?.x || !boxInitState.y) {
230
- this.boxManager?.setBoxInitState(this.id);
231
- }
232
- }
233
- }
234
-
235
227
  public async onSeek(time: number) {
236
228
  this.appEmitter.emit("seek", time).catch(err => {
237
229
  console.log(`[WindowManager]: emit seek error: ${err.message}`);
@@ -342,7 +334,7 @@ export class AppProxy implements PageRemoveService {
342
334
  }
343
335
  case "focus": {
344
336
  this.boxManager?.focusBox({ appId: this.id });
345
- emitter.emit("focus", { appId: this.id });
337
+ boxEmitter.emit("focus", { appId: this.id });
346
338
  break;
347
339
  }
348
340
  default: {