primocode 10.16.0 → 10.17.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 (237) hide show
  1. package/LICENSES/edit-ia-pro.txt +32 -0
  2. package/LICENSES/fontes-OFL.txt +476 -0
  3. package/LICENSES/hyperframes-Apache-2.0.txt +205 -0
  4. package/LICENSES/permanent-marker-Apache-2.0.txt +204 -0
  5. package/LICENSES/selfie-multiclass-Apache-2.0.txt +227 -0
  6. package/LICENSES/three-MIT.txt +23 -0
  7. package/LICENSES/video-use-MIT.txt +24 -0
  8. package/LICENSES/woven-sfx-CC0.txt +16 -0
  9. package/LICENSES/yunet-MIT.txt +21 -0
  10. package/README.md +2 -2
  11. package/bin/primocode.js +28 -8
  12. package/editor/LICENSE.md +11 -0
  13. package/editor/README.md +321 -0
  14. package/editor/SKILL.md +307 -0
  15. package/editor/THIRD_PARTY_NOTICES.md +228 -0
  16. package/editor/assets/baixar.json +591 -0
  17. package/editor/assets/fonts/anton/OFL.txt +93 -0
  18. package/editor/assets/fonts/caveat/OFL.txt +93 -0
  19. package/editor/assets/fonts/figtree/OFL.txt +93 -0
  20. package/editor/assets/fonts/fonts.json +10 -0
  21. package/editor/assets/fonts/montserrat/OFL.txt +93 -0
  22. package/editor/assets/fonts/permanentmarker/LICENSE.txt +202 -0
  23. package/editor/assets/models/SELFIE_MULTICLASS_LICENSE.txt +227 -0
  24. package/editor/assets/models/YUNET_LICENSE.txt +21 -0
  25. package/editor/assets/sfx/licencas/bass_drop.txt +32 -0
  26. package/editor/assets/sfx/licencas/cash.txt +76 -0
  27. package/editor/assets/sfx/licencas/charge.txt +31 -0
  28. package/editor/assets/sfx/licencas/click.txt +46 -0
  29. package/editor/assets/sfx/licencas/coin.txt +50 -0
  30. package/editor/assets/sfx/licencas/count.txt +47 -0
  31. package/editor/assets/sfx/licencas/data.txt +31 -0
  32. package/editor/assets/sfx/licencas/error.txt +32 -0
  33. package/editor/assets/sfx/licencas/flash.txt +31 -0
  34. package/editor/assets/sfx/licencas/gears.txt +82 -0
  35. package/editor/assets/sfx/licencas/keyboard.txt +48 -0
  36. package/editor/assets/sfx/licencas/metal_hit.txt +62 -0
  37. package/editor/assets/sfx/licencas/metal_riser.txt +61 -0
  38. package/editor/assets/sfx/licencas/mouse_click.txt +50 -0
  39. package/editor/assets/sfx/licencas/notification.txt +54 -0
  40. package/editor/assets/sfx/licencas/pop.txt +38 -0
  41. package/editor/assets/sfx/licencas/rewind.txt +32 -0
  42. package/editor/assets/sfx/licencas/rise.txt +46 -0
  43. package/editor/assets/sfx/licencas/sinteticos.txt +21 -0
  44. package/editor/assets/sfx/licencas/snap.txt +50 -0
  45. package/editor/assets/sfx/licencas/success.txt +40 -0
  46. package/editor/assets/sfx/licencas/synth_hit.txt +32 -0
  47. package/editor/assets/sfx/licencas/tick.txt +14 -0
  48. package/editor/assets/sfx/licencas/whoosh.txt +47 -0
  49. package/editor/assets/sfx/licencas/wind.txt +31 -0
  50. package/editor/assets/sfx/sfx.json +832 -0
  51. package/editor/assets/sfx/sfx_sinteticos.json +317 -0
  52. package/editor/assets/sfx/sfx_woven.json +387 -0
  53. package/editor/assets/sfx/woven/LICENCA.md +16 -0
  54. package/editor/fichas/briefing-do-video.md +45 -0
  55. package/editor/fichas/conferencia-da-amostra.md +56 -0
  56. package/editor/fichas/matriz-de-ganchos.csv +3 -0
  57. package/editor/fichas/padrao.json +16 -0
  58. package/editor/fichas/planilha-de-cenas.csv +4 -0
  59. package/editor/fichas/planilha-de-versoes.csv +4 -0
  60. package/editor/fichas/plano-em-blocos.md +32 -0
  61. package/editor/fichas/registro-de-materiais.json +27 -0
  62. package/editor/helpers/assets_ocr/ocr_vision.swift +41 -0
  63. package/editor/helpers/bordas_precisas.py +272 -0
  64. package/editor/helpers/camera_viva.py +426 -0
  65. package/editor/helpers/captions.py +601 -0
  66. package/editor/helpers/common.py +308 -0
  67. package/editor/helpers/compose_final.py +3555 -0
  68. package/editor/helpers/conferir_corte.py +234 -0
  69. package/editor/helpers/conferir_dados.py +405 -0
  70. package/editor/helpers/contact_sheet.py +282 -0
  71. package/editor/helpers/corte_por_onda.py +433 -0
  72. package/editor/helpers/corte_seco.py +595 -0
  73. package/editor/helpers/denoise.py +971 -0
  74. package/editor/helpers/efeitos.py +408 -0
  75. package/editor/helpers/efeitos_gerar.py +159 -0
  76. package/editor/helpers/elevenlabs_api.py +442 -0
  77. package/editor/helpers/face_layout.py +570 -0
  78. package/editor/helpers/fetch_images.py +423 -0
  79. package/editor/helpers/ganho_por_trecho.py +214 -0
  80. package/editor/helpers/gen_image.py +312 -0
  81. package/editor/helpers/gen_music.py +316 -0
  82. package/editor/helpers/gen_sfx.py +148 -0
  83. package/editor/helpers/grade.py +307 -0
  84. package/editor/helpers/icloud.py +119 -0
  85. package/editor/helpers/make_sfx.py +940 -0
  86. package/editor/helpers/matte.py +1342 -0
  87. package/editor/helpers/medir_referencia.py +2232 -0
  88. package/editor/helpers/mixar_trilha.py +354 -0
  89. package/editor/helpers/montar_corte.py +295 -0
  90. package/editor/helpers/motion/__init__.py +13 -0
  91. package/editor/helpers/motion/engine.py +1915 -0
  92. package/editor/helpers/motion/registry.py +510 -0
  93. package/editor/helpers/motion/render.py +665 -0
  94. package/editor/helpers/motion/templates/barra_progresso.py +370 -0
  95. package/editor/helpers/motion/templates/carimbo.py +132 -0
  96. package/editor/helpers/motion/templates/checklist.py +271 -0
  97. package/editor/helpers/motion/templates/comentario_cta.py +380 -0
  98. package/editor/helpers/motion/templates/contador.py +222 -0
  99. package/editor/helpers/motion/templates/destaque.py +263 -0
  100. package/editor/helpers/motion/templates/etiqueta_preco.py +461 -0
  101. package/editor/helpers/motion/templates/grafico_barras.py +510 -0
  102. package/editor/helpers/motion/templates/grafico_linha.py +462 -0
  103. package/editor/helpers/motion/templates/notificacao.py +266 -0
  104. package/editor/helpers/motion/templates/palavra_impacto.py +410 -0
  105. package/editor/helpers/motion/templates/passos.py +321 -0
  106. package/editor/helpers/motion/templates/riscado.py +298 -0
  107. package/editor/helpers/motion/templates/selo_garantia.py +150 -0
  108. package/editor/helpers/motion_render.py +241 -0
  109. package/editor/helpers/motion_sugerir.py +961 -0
  110. package/editor/helpers/noise_check.py +134 -0
  111. package/editor/helpers/pack_transcripts.py +223 -0
  112. package/editor/helpers/palavras_na_onda.py +176 -0
  113. package/editor/helpers/plano_sfx.py +839 -0
  114. package/editor/helpers/portao.py +427 -0
  115. package/editor/helpers/preview_server.py +1177 -0
  116. package/editor/helpers/rastrear_rosto.py +298 -0
  117. package/editor/helpers/render_cut.py +1256 -0
  118. package/editor/helpers/respiros.py +89 -0
  119. package/editor/helpers/sincronizar_cameras.py +571 -0
  120. package/editor/helpers/speech_regions.py +423 -0
  121. package/editor/helpers/style_catalog.json +231 -0
  122. package/editor/helpers/style_samples.py +246 -0
  123. package/editor/helpers/tela_verde.py +2113 -0
  124. package/editor/helpers/text_render.py +2059 -0
  125. package/editor/helpers/texto_na_tela.py +366 -0
  126. package/editor/helpers/timeline_view.py +292 -0
  127. package/editor/helpers/tira_de_quadros.py +113 -0
  128. package/editor/helpers/transcribe.py +734 -0
  129. package/editor/helpers/transcribe_batch.py +129 -0
  130. package/editor/helpers/trilhas.py +1146 -0
  131. package/editor/helpers/trilhas_humores.json +66 -0
  132. package/editor/helpers/valores.py +187 -0
  133. package/editor/helpers/verify_cut.py +820 -0
  134. package/editor/helpers/voice_levels.py +233 -0
  135. package/editor/helpers/voz_check.py +386 -0
  136. package/editor/helpers/voz_limpa.py +81 -0
  137. package/editor/helpers/watch_preview.py +372 -0
  138. package/editor/modelo-projeto/LEIA.md +402 -0
  139. package/editor/modelo-projeto/assets/fontes/OFL-Caveat.txt +93 -0
  140. package/editor/modelo-projeto/assets/fontes/OFL-JetBrainsMono.txt +93 -0
  141. package/editor/modelo-projeto/assets/fontes/OFL-Montserrat.txt +93 -0
  142. package/editor/modelo-projeto/assets/fontes/larguras.json +1 -0
  143. package/editor/modelo-projeto/assets/three/BufferGeometryUtils.js +1438 -0
  144. package/editor/modelo-projeto/assets/three/GLTFLoader.js +4895 -0
  145. package/editor/modelo-projeto/assets/three/LICENSE +21 -0
  146. package/editor/modelo-projeto/assets/three/ORIGEM.txt +17 -0
  147. package/editor/modelo-projeto/assets/three/RoomEnvironment.js +185 -0
  148. package/editor/modelo-projeto/assets/three/three.core.min.js +6 -0
  149. package/editor/modelo-projeto/assets/three/three.module.min.js +6 -0
  150. package/editor/modelo-projeto/build.py +4828 -0
  151. package/editor/modelo-projeto/compositions/cenas/2d/k2d_antes_depois.html +199 -0
  152. package/editor/modelo-projeto/compositions/cenas/2d/k2d_arquivo.html +232 -0
  153. package/editor/modelo-projeto/compositions/cenas/2d/k2d_busca.html +315 -0
  154. package/editor/modelo-projeto/compositions/cenas/2d/k2d_comando.html +304 -0
  155. package/editor/modelo-projeto/compositions/cenas/2d/k2d_conversa.html +217 -0
  156. package/editor/modelo-projeto/compositions/cenas/2d/k2d_esquema.html +289 -0
  157. package/editor/modelo-projeto/compositions/cenas/2d/k2d_medidor.html +249 -0
  158. package/editor/modelo-projeto/compositions/cenas/2d/k2d_notas.html +233 -0
  159. package/editor/modelo-projeto/compositions/cenas/3d/k3d_caminho.html +197 -0
  160. package/editor/modelo-projeto/compositions/cenas/3d/k3d_explodida.html +152 -0
  161. package/editor/modelo-projeto/compositions/cenas/3d/k3d_tela.html +167 -0
  162. package/editor/modelo-projeto/compositions/cenas/3d/k3d_volume.html +124 -0
  163. package/editor/modelo-projeto/compositions/cenas/3d/motor-three.js +728 -0
  164. package/editor/modelo-projeto/compositions/cenas/LEIA.md +177 -0
  165. package/editor/modelo-projeto/ferramentas/medir_fontes.py +65 -0
  166. package/editor/modelo-projeto/ferramentas/pessoa_recortada.py +176 -0
  167. package/editor/modelo-projeto/ferramentas/rastrear_maos.py +189 -0
  168. package/editor/modelo-projeto/hyperframes.json +12 -0
  169. package/editor/modelo-projeto/package.json +11 -0
  170. package/editor/modelo-projeto/projeto.json +16 -0
  171. package/editor/preview/app.css +1009 -0
  172. package/editor/preview/app.js +2122 -0
  173. package/editor/preview/index.html +307 -0
  174. package/editor/pyproject.toml +23 -0
  175. package/editor/references/3d.md +236 -0
  176. package/editor/references/animacao-catalogo.md +672 -0
  177. package/editor/references/animacao.md +498 -0
  178. package/editor/references/comandos.md +92 -0
  179. package/editor/references/corte-seco-como-funciona.md +50 -0
  180. package/editor/references/corte-seco.md +88 -0
  181. package/editor/references/corte.md +290 -0
  182. package/editor/references/direcao-por-blocos.md +218 -0
  183. package/editor/references/enquadramento.md +654 -0
  184. package/editor/references/estilos-prontos.md +355 -0
  185. package/editor/references/estudio.md +100 -0
  186. package/editor/references/exemplo-eventos.json +67 -0
  187. package/editor/references/lettering.md +252 -0
  188. package/editor/references/modelos.md +494 -0
  189. package/editor/references/phase2.md +1007 -0
  190. package/editor/references/referencia-aplicar.md +203 -0
  191. package/editor/references/referencia-medir.md +375 -0
  192. package/editor/references/revisao.md +335 -0
  193. package/editor/references/som-e-trilha.md +146 -0
  194. package/editor/references/tabela-de-sons.md +130 -0
  195. package/editor/references/variacoes.md +234 -0
  196. package/editor/uv.lock +1141 -0
  197. package/lib/act.js +36 -8
  198. package/lib/catalogo.js +4 -0
  199. package/lib/chamada-torta.js +81 -0
  200. package/lib/editor-pro.js +786 -0
  201. package/lib/entrega.js +58 -0
  202. package/lib/estudio/conferencia-visual.js +76 -0
  203. package/lib/estudio/diretor.js +6 -1
  204. package/lib/estudio/exportar.js +3 -1
  205. package/lib/estudio/gosto.js +45 -4
  206. package/lib/estudio/index.js +8 -5
  207. package/lib/estudio/kit-ae/base.jsx +119 -13
  208. package/lib/estudio/kit-ae/cenas.jsx +47 -15
  209. package/lib/estudio/kit-ae/guarda.jsx +274 -0
  210. package/lib/estudio/kit-ae/primitivas.jsx +180 -24
  211. package/lib/estudio/maquina-diretor.js +61 -7
  212. package/lib/estudio/maquina-foto.js +177 -0
  213. package/lib/estudio/maquina-guarda.js +207 -0
  214. package/lib/estudio/maquina-layout.js +22 -1
  215. package/lib/estudio/maquina.js +60 -11
  216. package/lib/estudio/referencias.js +1 -1
  217. package/lib/estudio/visao/visao.swift +97 -0
  218. package/lib/estudio/visao.js +60 -0
  219. package/lib/local/cerebro.json +192 -6
  220. package/lib/local/motor.js +5 -2
  221. package/lib/mcp.js +105 -7
  222. package/lib/nuvem.js +11 -1
  223. package/lib/outra-pasta.js +1 -1
  224. package/lib/passagem.js +50 -0
  225. package/lib/perigo.js +29 -12
  226. package/lib/protecao.js +134 -0
  227. package/lib/sandbox.js +11 -4
  228. package/lib/titulo-conversa.js +46 -0
  229. package/lib/tools.js +3 -0
  230. package/lib/ui.js +1 -1
  231. package/package.json +3 -2
  232. package/skills/editar-meu-video/SKILL.md +6 -2
  233. package/skills/editar-video/SKILL.md +113 -0
  234. package/studio/pessoa.py +52 -0
  235. package/voz/primo_voz/app.py +43 -4
  236. package/voz/primo_voz/chat.html +17 -6
  237. package/voz/primo_voz/painel_dados.py +134 -0
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright © 2010-2025 three.js authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ three.js r181 (npm three@0.181.2), licença MIT: o texto está em LICENSE, nesta pasta.
2
+ Baixado de https://registry.npmjs.org/three/-/three-0.181.2.tgz
3
+ (integridade sha512-k/CjiZ80bYss6Qs7/ex1TBlPD11whT9oKfT8oTGiHa34W4JRd1NiH/Tr1DbHWQ2/vMUypxksLnF2CfmlmM5XFQ==).
4
+
5
+ Iguais ao pacote (sha256):
6
+ 979c1ae4b0579c9901eacf797602c0b46df129d87102c6443d14be4a1f790b70 three.module.min.js (build/)
7
+ 295a28f4a9786dd24a2a357a4ce90921eb041127e53a508335b9a0556c1e0875 three.core.min.js (build/)
8
+ bfe119ea4fd413f5f7ca3fcd63adb0c4a073ed39daa2fe7d3e6b769e21272601 LICENSE
9
+
10
+ Com uma mudança só (os imports de 'three' e de '../utils/' apontam para os arquivos desta pasta, para rodar
11
+ sem import map e sem internet; o resto é o arquivo original):
12
+ GLTFLoader.js (examples/jsm/loaders/)
13
+ BufferGeometryUtils.js (examples/jsm/utils/, usado pelo GLTFLoader)
14
+ RoomEnvironment.js (examples/jsm/environments/, a luz ambiente das cenas)
15
+
16
+ Quem usa: compositions/cenas/3d/motor-three.js (o motor das cenas 3D do kit). Nada aqui é baixado na hora do
17
+ render: a cena carrega estes arquivos da pasta do projeto.
@@ -0,0 +1,185 @@
1
+ // Arquivo do three.js r181 (npm three@0.181.2, examples/jsm/environments/RoomEnvironment.js), licença MIT (LICENSE nesta pasta).
2
+ // Única mudança: os imports de 'three' e de '../utils/' apontam para os arquivos desta pasta, para funcionar
3
+ // sem import map e sem internet.
4
+ import {
5
+ BackSide,
6
+ BoxGeometry,
7
+ InstancedMesh,
8
+ Mesh,
9
+ MeshLambertMaterial,
10
+ MeshStandardMaterial,
11
+ PointLight,
12
+ Scene,
13
+ Object3D,
14
+ } from './three.module.min.js';
15
+
16
+ /**
17
+ * This class represents a scene with a basic room setup that can be used as
18
+ * input for {@link PMREMGenerator#fromScene}. The resulting PMREM represents the room's
19
+ * lighting and can be used for Image Based Lighting by assigning it to {@link Scene#environment}
20
+ * or directly as an environment map to PBR materials.
21
+ *
22
+ * The implementation is based on the [EnvironmentScene](https://github.com/google/model-viewer/blob/master/packages/model-viewer/src/three-components/EnvironmentScene.ts)
23
+ * component from the `model-viewer` project.
24
+ *
25
+ * ```js
26
+ * const environment = new RoomEnvironment();
27
+ * const pmremGenerator = new THREE.PMREMGenerator( renderer );
28
+ *
29
+ * const envMap = pmremGenerator.fromScene( environment ).texture;
30
+ * scene.environment = envMap;
31
+ * ```
32
+ *
33
+ * @augments Scene
34
+ * @three_import import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';
35
+ */
36
+ class RoomEnvironment extends Scene {
37
+
38
+ constructor() {
39
+
40
+ super();
41
+
42
+ const geometry = new BoxGeometry();
43
+ geometry.deleteAttribute( 'uv' );
44
+
45
+ const roomMaterial = new MeshStandardMaterial( { side: BackSide } );
46
+ const boxMaterial = new MeshStandardMaterial();
47
+
48
+ const mainLight = new PointLight( 0xffffff, 900, 28, 2 );
49
+ mainLight.position.set( 0.418, 16.199, 0.300 );
50
+ this.add( mainLight );
51
+
52
+ const room = new Mesh( geometry, roomMaterial );
53
+ room.position.set( - 0.757, 13.219, 0.717 );
54
+ room.scale.set( 31.713, 28.305, 28.591 );
55
+ this.add( room );
56
+
57
+ const boxes = new InstancedMesh( geometry, boxMaterial, 6 );
58
+ const transform = new Object3D();
59
+
60
+ // box1
61
+ transform.position.set( - 10.906, 2.009, 1.846 );
62
+ transform.rotation.set( 0, - 0.195, 0 );
63
+ transform.scale.set( 2.328, 7.905, 4.651 );
64
+ transform.updateMatrix();
65
+ boxes.setMatrixAt( 0, transform.matrix );
66
+
67
+ // box2
68
+ transform.position.set( - 5.607, - 0.754, - 0.758 );
69
+ transform.rotation.set( 0, 0.994, 0 );
70
+ transform.scale.set( 1.970, 1.534, 3.955 );
71
+ transform.updateMatrix();
72
+ boxes.setMatrixAt( 1, transform.matrix );
73
+
74
+ // box3
75
+ transform.position.set( 6.167, 0.857, 7.803 );
76
+ transform.rotation.set( 0, 0.561, 0 );
77
+ transform.scale.set( 3.927, 6.285, 3.687 );
78
+ transform.updateMatrix();
79
+ boxes.setMatrixAt( 2, transform.matrix );
80
+
81
+ // box4
82
+ transform.position.set( - 2.017, 0.018, 6.124 );
83
+ transform.rotation.set( 0, 0.333, 0 );
84
+ transform.scale.set( 2.002, 4.566, 2.064 );
85
+ transform.updateMatrix();
86
+ boxes.setMatrixAt( 3, transform.matrix );
87
+
88
+ // box5
89
+ transform.position.set( 2.291, - 0.756, - 2.621 );
90
+ transform.rotation.set( 0, - 0.286, 0 );
91
+ transform.scale.set( 1.546, 1.552, 1.496 );
92
+ transform.updateMatrix();
93
+ boxes.setMatrixAt( 4, transform.matrix );
94
+
95
+ // box6
96
+ transform.position.set( - 2.193, - 0.369, - 5.547 );
97
+ transform.rotation.set( 0, 0.516, 0 );
98
+ transform.scale.set( 3.875, 3.487, 2.986 );
99
+ transform.updateMatrix();
100
+ boxes.setMatrixAt( 5, transform.matrix );
101
+
102
+ this.add( boxes );
103
+
104
+
105
+ // -x right
106
+ const light1 = new Mesh( geometry, createAreaLightMaterial( 50 ) );
107
+ light1.position.set( - 16.116, 14.37, 8.208 );
108
+ light1.scale.set( 0.1, 2.428, 2.739 );
109
+ this.add( light1 );
110
+
111
+ // -x left
112
+ const light2 = new Mesh( geometry, createAreaLightMaterial( 50 ) );
113
+ light2.position.set( - 16.109, 18.021, - 8.207 );
114
+ light2.scale.set( 0.1, 2.425, 2.751 );
115
+ this.add( light2 );
116
+
117
+ // +x
118
+ const light3 = new Mesh( geometry, createAreaLightMaterial( 17 ) );
119
+ light3.position.set( 14.904, 12.198, - 1.832 );
120
+ light3.scale.set( 0.15, 4.265, 6.331 );
121
+ this.add( light3 );
122
+
123
+ // +z
124
+ const light4 = new Mesh( geometry, createAreaLightMaterial( 43 ) );
125
+ light4.position.set( - 0.462, 8.89, 14.520 );
126
+ light4.scale.set( 4.38, 5.441, 0.088 );
127
+ this.add( light4 );
128
+
129
+ // -z
130
+ const light5 = new Mesh( geometry, createAreaLightMaterial( 20 ) );
131
+ light5.position.set( 3.235, 11.486, - 12.541 );
132
+ light5.scale.set( 2.5, 2.0, 0.1 );
133
+ this.add( light5 );
134
+
135
+ // +y
136
+ const light6 = new Mesh( geometry, createAreaLightMaterial( 100 ) );
137
+ light6.position.set( 0.0, 20.0, 0.0 );
138
+ light6.scale.set( 1.0, 0.1, 1.0 );
139
+ this.add( light6 );
140
+
141
+ }
142
+
143
+ /**
144
+ * Frees internal resources. This method should be called
145
+ * when the environment is no longer required.
146
+ */
147
+ dispose() {
148
+
149
+ const resources = new Set();
150
+
151
+ this.traverse( ( object ) => {
152
+
153
+ if ( object.isMesh ) {
154
+
155
+ resources.add( object.geometry );
156
+ resources.add( object.material );
157
+
158
+ }
159
+
160
+ } );
161
+
162
+ for ( const resource of resources ) {
163
+
164
+ resource.dispose();
165
+
166
+ }
167
+
168
+ }
169
+
170
+ }
171
+
172
+ function createAreaLightMaterial( intensity ) {
173
+
174
+ // create an emissive-only material. see #31348
175
+ const material = new MeshLambertMaterial( {
176
+ color: 0x000000,
177
+ emissive: 0xffffff,
178
+ emissiveIntensity: intensity
179
+ } );
180
+
181
+ return material;
182
+
183
+ }
184
+
185
+ export { RoomEnvironment };