@vyr/three-browser 0.0.33 → 0.0.36

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 (95) hide show
  1. package/package.json +1 -1
  2. package/src/common/provider.ts +3 -5
  3. package/src/common/validate.ts +2 -4
  4. package/src/fragment/GeoMapFragment.vue +2 -2
  5. package/src/fragment/InstancedMeshFragment.vue +4 -4
  6. package/src/fragment/MeshFragment.vue +4 -4
  7. package/src/fragment/ModelFragment.vue +2 -2
  8. package/src/fragment/NodeFragment.vue +2 -2
  9. package/src/fragment/ParticleFragment.vue +2 -2
  10. package/src/fragment/PointsFragment.vue +2 -2
  11. package/src/fragment/SpriteFragment.vue +2 -2
  12. package/src/fragment/{TextFragment.vue → Text3DFragment.vue} +8 -8
  13. package/src/fragment/animation/AnimationActionFragment.vue +3 -3
  14. package/src/fragment/geometry/BoxGeometryFragment.vue +2 -2
  15. package/src/fragment/geometry/BufferGeometryFragment.vue +2 -2
  16. package/src/fragment/geometry/CircleGeometryFragment.vue +2 -2
  17. package/src/fragment/geometry/CylinderGeometryFragment.vue +2 -2
  18. package/src/fragment/geometry/ExtrudeGeometryFragment.vue +2 -2
  19. package/src/fragment/geometry/PlaneGeometryFragment.vue +2 -2
  20. package/src/fragment/geometry/RingGeometryFragment.vue +2 -2
  21. package/src/fragment/geometry/SphereGeometryFragment.vue +2 -2
  22. package/src/fragment/geometry/SurfaceGeometryFragment.vue +2 -2
  23. package/src/fragment/geometry/TubeGeometryFragment.vue +2 -2
  24. package/src/fragment/light/AmbientLightFragment.vue +2 -2
  25. package/src/fragment/light/DirectionalLightFragment.vue +2 -2
  26. package/src/fragment/light/HemisphereLightFragment.vue +2 -2
  27. package/src/fragment/light/PointLightFragment.vue +2 -2
  28. package/src/fragment/light/RectAreaLightFragment.vue +2 -2
  29. package/src/fragment/light/SpotLightFragment.vue +2 -2
  30. package/src/fragment/material/MaterialFragment.vue +4 -4
  31. package/src/fragment/material/MeshBasicMaterialFragment.vue +4 -4
  32. package/src/fragment/material/MeshPhongMaterialFragment.vue +4 -4
  33. package/src/fragment/material/MeshStandardMaterialFragment.vue +4 -4
  34. package/src/fragment/material/PointsMaterialFragment.vue +4 -4
  35. package/src/fragment/material/ShaderMaterialFragment.vue +2 -2
  36. package/src/fragment/material/ShadowMaterialFragment.vue +4 -4
  37. package/src/fragment/material/SpriteMaterialFragment.vue +4 -4
  38. package/src/fragment/texture/TextureFragment.vue +10 -10
  39. package/src/locale/Language.ts +1 -5
  40. package/src/locale/LanguageProvider.ts +28 -33
  41. package/src/option/Animation.ts +3 -8
  42. package/src/option/Geometry.ts +4 -10
  43. package/src/option/Material.ts +6 -14
  44. package/src/option/Mesh.ts +2 -6
  45. package/src/option/Shadow.ts +3 -8
  46. package/src/option/Texture.ts +6 -14
  47. package/src/service/footer/action/geometry/index.ts +15 -20
  48. package/src/service/footer/action/material/index.ts +12 -17
  49. package/src/service/footer/action/texture/index.ts +6 -11
  50. package/src/service/global/index.ts +0 -1
  51. package/src/service/index.ts +20 -47
  52. package/src/service/inspector/GeoMapViewer.vue +3 -3
  53. package/src/service/inspector/HTMLConvertViewer.vue +3 -3
  54. package/src/service/inspector/InstanceMeshViewer.vue +3 -3
  55. package/src/service/inspector/MeshViewer.vue +3 -3
  56. package/src/service/inspector/ModelViewer.vue +3 -3
  57. package/src/service/inspector/NodeViewer.vue +3 -3
  58. package/src/service/inspector/ParticleViewer.vue +3 -3
  59. package/src/service/inspector/PerspectiveCameraViewer.vue +3 -3
  60. package/src/service/inspector/PointsViewer.vue +3 -3
  61. package/src/service/inspector/ServiceViewer.vue +10 -42
  62. package/src/service/inspector/SpriteViewer.vue +3 -3
  63. package/src/service/inspector/{TextViewer.vue → Text3DViewer.vue} +6 -6
  64. package/src/service/inspector/animation/AnimationActionViewer.vue +3 -3
  65. package/src/service/inspector/geometry/BoxGeometryViewer.vue +3 -3
  66. package/src/service/inspector/geometry/BufferGeometryViewer.vue +3 -3
  67. package/src/service/inspector/geometry/CircleGeometryViewer.vue +3 -3
  68. package/src/service/inspector/geometry/CylinderGeometryViewer.vue +3 -3
  69. package/src/service/inspector/geometry/ExtrudeGeometryViewer.vue +3 -3
  70. package/src/service/inspector/geometry/PlaneGeometryViewer.vue +3 -3
  71. package/src/service/inspector/geometry/RingGeometryViewer.vue +3 -3
  72. package/src/service/inspector/geometry/SphereGeometryViewer.vue +3 -3
  73. package/src/service/inspector/geometry/SurfaceGeometryViewer.vue +3 -3
  74. package/src/service/inspector/geometry/TubeGeometryViewer.vue +3 -3
  75. package/src/service/inspector/index.ts +46 -46
  76. package/src/service/inspector/light/AmbientLightViewer.vue +3 -3
  77. package/src/service/inspector/light/DirectionalLightViewer.vue +3 -3
  78. package/src/service/inspector/light/HemisphereLightViewer.vue +3 -3
  79. package/src/service/inspector/light/PointLightViewer.vue +3 -3
  80. package/src/service/inspector/light/RectAreaLightViewer.vue +3 -3
  81. package/src/service/inspector/light/SpotLightViewer.vue +3 -3
  82. package/src/service/inspector/material/MeshBasicMaterialViewer.vue +3 -3
  83. package/src/service/inspector/material/MeshPhongMaterialViewer.vue +3 -3
  84. package/src/service/inspector/material/MeshStandardMaterialViewer.vue +3 -3
  85. package/src/service/inspector/material/PointsMaterialViewer.vue +3 -3
  86. package/src/service/inspector/material/ShaderMaterialViewer.vue +3 -3
  87. package/src/service/inspector/material/ShadowMaterialViewer.vue +3 -3
  88. package/src/service/inspector/material/SpriteMaterialViewer.vue +3 -3
  89. package/src/service/inspector/texture/TextureViewer.vue +3 -3
  90. package/src/service/sidebar/asset/action/AddAnimationAction.ts +14 -25
  91. package/src/service/sidebar/asset/action/AddLightAction.ts +17 -26
  92. package/src/service/global/scripts/index.ts +0 -22
  93. package/src/service/sidebar/scene/action/AddAnimationAction.ts +0 -65
  94. package/src/service/sidebar/scene/action/AddLightAction.ts +0 -67
  95. package/src/service/sidebar/scene/action/index.ts +0 -7
@@ -10,7 +10,7 @@
10
10
  <script lang="ts" setup>
11
11
  import { Ref, ref, watch } from 'vue'
12
12
  import { Descriptor } from '@vyr/engine';
13
- import { ShaderMaterialDescriptor } from '@vyr/three';
13
+ import { ShaderMaterial } from '@vyr/three';
14
14
  import { VyrCard, } from '@vyr/design';
15
15
  import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
16
  import { language } from '../../../locale'
@@ -20,10 +20,10 @@ import ShaderMaterialFragment from '../../../fragment/material/ShaderMaterialFra
20
20
 
21
21
  const props = defineProps<{ raw: string, uuid: string }>()
22
22
 
23
- const descriptor = ref(null) as Ref<ShaderMaterialDescriptor | null>
23
+ const descriptor = ref(null) as Ref<ShaderMaterial | null>
24
24
  const watchEditItem = (cur: string) => {
25
25
  if (!cur) return descriptor.value = null
26
- descriptor.value = Descriptor.get<ShaderMaterialDescriptor>(cur)
26
+ descriptor.value = Descriptor.get<ShaderMaterial>(cur)
27
27
  }
28
28
  watch(() => props.uuid, watchEditItem, { immediate: true })
29
29
 
@@ -10,7 +10,7 @@
10
10
  <script lang="ts" setup>
11
11
  import { Ref, ref, watch } from 'vue'
12
12
  import { Descriptor } from '@vyr/engine';
13
- import { ShadowMaterialDescriptor } from '@vyr/three';
13
+ import { ShadowMaterial } from '@vyr/three';
14
14
  import { VyrCard, } from '@vyr/design';
15
15
  import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
16
  import { language } from '../../../locale'
@@ -20,10 +20,10 @@ import ShadowMaterialFragment from '../../../fragment/material/ShadowMaterialFra
20
20
 
21
21
  const props = defineProps<{ raw: string, uuid: string }>()
22
22
 
23
- const descriptor = ref(null) as Ref<ShadowMaterialDescriptor | null>
23
+ const descriptor = ref(null) as Ref<ShadowMaterial | null>
24
24
  const watchEditItem = (cur: string) => {
25
25
  if (!cur) return descriptor.value = null
26
- descriptor.value = Descriptor.get<ShadowMaterialDescriptor>(cur)
26
+ descriptor.value = Descriptor.get<ShadowMaterial>(cur)
27
27
  }
28
28
  watch(() => props.uuid, watchEditItem, { immediate: true })
29
29
 
@@ -10,7 +10,7 @@
10
10
  <script lang="ts" setup>
11
11
  import { Ref, ref, watch } from 'vue'
12
12
  import { Descriptor } from '@vyr/engine';
13
- import { SpriteMaterialDescriptor } from '@vyr/three';
13
+ import { SpriteMaterial } from '@vyr/three';
14
14
  import { VyrCard, } from '@vyr/design';
15
15
  import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
16
  import { language } from '../../../locale'
@@ -20,10 +20,10 @@ import SpriteMaterialFragment from '../../../fragment/material/SpriteMaterialFra
20
20
 
21
21
  const props = defineProps<{ raw: string, uuid: string }>()
22
22
 
23
- const descriptor = ref(null) as Ref<SpriteMaterialDescriptor | null>
23
+ const descriptor = ref(null) as Ref<SpriteMaterial | null>
24
24
  const watchEditItem = (cur: string) => {
25
25
  if (!cur) return descriptor.value = null
26
- descriptor.value = Descriptor.get<SpriteMaterialDescriptor>(cur)
26
+ descriptor.value = Descriptor.get<SpriteMaterial>(cur)
27
27
  }
28
28
  watch(() => props.uuid, watchEditItem, { immediate: true })
29
29
 
@@ -9,7 +9,7 @@
9
9
  <script lang="ts" setup>
10
10
  import { Ref, ref, watch } from 'vue'
11
11
  import { Descriptor } from '@vyr/engine';
12
- import { MeshBasicMaterialDescriptor } from '@vyr/three';
12
+ import { MeshBasicMaterial } from '@vyr/three';
13
13
  import { VyrCard } from '@vyr/design';
14
14
  import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
15
15
  import { language } from '../../../locale'
@@ -18,10 +18,10 @@ import TextureFragment from '../../../fragment/texture/TextureFragment.vue';
18
18
 
19
19
  const props = defineProps<{ raw: string, uuid: string }>()
20
20
 
21
- const descriptor = ref(null) as Ref<MeshBasicMaterialDescriptor | null>
21
+ const descriptor = ref(null) as Ref<MeshBasicMaterial | null>
22
22
  const watchEditItem = (cur: string) => {
23
23
  if (!cur) return descriptor.value = null
24
- descriptor.value = Descriptor.get<MeshBasicMaterialDescriptor>(cur)
24
+ descriptor.value = Descriptor.get<MeshBasicMaterial>(cur)
25
25
  }
26
26
  watch(() => props.uuid, watchEditItem, { immediate: true })
27
27
 
@@ -1,12 +1,12 @@
1
- import { AnimationUnitDescriptor, Descriptor } from "@vyr/engine";
1
+ import { AnimationUnit, Descriptor } from "@vyr/engine";
2
2
  import { Action, DataService, runtime } from "@vyr/runtime";
3
3
  import { sidebar } from '@vyr/builtin'
4
4
  import { AssetService } from "@vyr/service-asset";
5
- import { AnimationActionDescriptor, ModelDescriptor } from "@vyr/three";
5
+ import { AnimationAction, Model } from "@vyr/three";
6
6
  import { language } from '../../../../locale'
7
7
 
8
- class AddAnimationAction extends Action {
9
- static id = 'sidebar.asset.AddAnimation'
8
+ export class AddAnimationAction extends Action {
9
+ static id = 'sidebar.AddAnimation'
10
10
  static generate = (label: string, Class: typeof Descriptor) => {
11
11
  class ClassAction extends Action {
12
12
  static id = Class.type
@@ -15,11 +15,9 @@ class AddAnimationAction extends Action {
15
15
  this.show = false
16
16
  this.disabled = true
17
17
  const dataService = runtime.get<DataService>('data')
18
- const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(AssetService.key)
19
- if (navigator.status.mouseItem === null) return
20
18
  this.show = true
21
- if (Class.type === AnimationActionDescriptor.type) {
22
- if ((navigator.status.mouseItem instanceof ModelDescriptor) === false) return
19
+ if (Class.type === AnimationAction.type) {
20
+ if ((dataService.sidebar.status.mouseItem instanceof Model) === false) return
23
21
  }
24
22
  this.disabled = false
25
23
  }
@@ -28,32 +26,25 @@ class AddAnimationAction extends Action {
28
26
  }
29
27
  execute() {
30
28
  const dataService = runtime.get<DataService>('data')
31
- const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(AssetService.key)
32
- navigator.status.modifyMode = 'add'
33
- navigator.status.modifyContent = new Class({})
34
- navigator.status.modifyValue = navigator.status.mouseItem
29
+ dataService.sidebar.status.modifyMode = 'add'
30
+ dataService.sidebar.status.modifyContent = new Class({})
31
+ dataService.sidebar.status.modifyValue = dataService.sidebar.status.mouseItem
35
32
  }
36
33
  }
37
34
  return new ClassAction()
38
35
  }
39
- label = language.get('sidebar.asset.action.AddAnimation.label')
36
+ label = language.get('sidebar.action.AddAnimation.label')
40
37
  order = 2
41
38
  children = [
42
- AddAnimationAction.generate(language.get('descriptor.type.AnimationUnit'), AnimationUnitDescriptor),
43
- AddAnimationAction.generate(language.get('descriptor.type.AnimationAction'), AnimationActionDescriptor),
39
+ AddAnimationAction.generate(language.get('descriptor.type.AnimationUnit'), AnimationUnit),
40
+ AddAnimationAction.generate(language.get('descriptor.type.AnimationAction'), AnimationAction),
44
41
  ]
45
- active() {
46
- const dataService = runtime.get<DataService>('data')
47
42
 
48
- return dataService.sidebar.active === AssetService.key
49
- }
50
43
  update() {
51
44
  this.show = false
52
45
  this.disabled = true
53
46
  const dataService = runtime.get<DataService>('data')
54
- const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(AssetService.key)
55
- if (navigator.status.mouseItem === null) return
56
- if (navigator.status.mouseItem === navigator.root) return
47
+ if (dataService.sidebar.status.mouseItem === dataService.sidebar.root) return
57
48
 
58
49
  this.show = true
59
50
  this.disabled = false
@@ -62,6 +53,4 @@ class AddAnimationAction extends Action {
62
53
  return false
63
54
  }
64
55
  execute() { }
65
- }
66
-
67
- export { AddAnimationAction }
56
+ }
@@ -2,11 +2,11 @@ import { Descriptor } from "@vyr/engine";
2
2
  import { Action, DataService, runtime } from "@vyr/runtime";
3
3
  import { sidebar } from '@vyr/builtin'
4
4
  import { AssetService } from "@vyr/service-asset";
5
- import { AmbientLightDescriptor, DirectionalLightDescriptor, HemisphereLightDescriptor, PointLightDescriptor, RectAreaLightDescriptor, SpotLightDescriptor } from "@vyr/three";
5
+ import { AmbientLight, DirectionalLight, HemisphereLight, PointLight, RectAreaLight, SpotLight } from "@vyr/three";
6
6
  import { language } from '../../../../locale'
7
7
 
8
- class AddLightAction extends Action {
9
- static id = 'sidebar.asset.AddLight'
8
+ export class AddLightAction extends Action {
9
+ static id = 'sidebar.AddLight'
10
10
  static generate = (label: string, Class: typeof Descriptor) => {
11
11
  class ClassAction extends Action {
12
12
  static id = `sidebar.${Class.type}`
@@ -15,8 +15,7 @@ class AddLightAction extends Action {
15
15
  this.disabled = true
16
16
  this.show = true
17
17
  const dataService = runtime.get<DataService>('data')
18
- const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(AssetService.key)
19
- if (navigator.status.mouseItem === null) return
18
+ if (dataService.sidebar.status.mouseItem === null) return
20
19
  this.disabled = false
21
20
  }
22
21
  validator() {
@@ -24,36 +23,30 @@ class AddLightAction extends Action {
24
23
  }
25
24
  execute() {
26
25
  const dataService = runtime.get<DataService>('data')
27
- const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(AssetService.key)
28
- navigator.status.modifyMode = 'add'
29
- navigator.status.modifyContent = new Class()
30
- navigator.status.modifyValue = navigator.status.mouseItem
26
+ dataService.sidebar.status.modifyMode = 'add'
27
+ dataService.sidebar.status.modifyContent = new Class()
28
+ dataService.sidebar.status.modifyValue = dataService.sidebar.status.mouseItem
31
29
  }
32
30
  }
33
31
  return new ClassAction()
34
32
  }
35
- label = language.get('sidebar.asset.action.AddLight.label')
33
+ label = language.get('sidebar.action.AddLight.label')
36
34
  order = 2
37
35
  children = [
38
- AddLightAction.generate(language.get('descriptor.type.BoxGeometry'), AmbientLightDescriptor),
39
- AddLightAction.generate(language.get('descriptor.type.BoxGeometry'), DirectionalLightDescriptor),
40
- AddLightAction.generate(language.get('descriptor.type.BoxGeometry'), HemisphereLightDescriptor),
41
- AddLightAction.generate(language.get('descriptor.type.BoxGeometry'), PointLightDescriptor),
42
- AddLightAction.generate(language.get('descriptor.type.BoxGeometry'), RectAreaLightDescriptor),
43
- AddLightAction.generate(language.get('descriptor.type.BoxGeometry'), SpotLightDescriptor),
36
+ AddLightAction.generate(language.get('descriptor.type.AmbientLight'), AmbientLight),
37
+ AddLightAction.generate(language.get('descriptor.type.DirectionalLight'), DirectionalLight),
38
+ AddLightAction.generate(language.get('descriptor.type.HemisphereLight'), HemisphereLight),
39
+ AddLightAction.generate(language.get('descriptor.type.PointLight'), PointLight),
40
+ AddLightAction.generate(language.get('descriptor.type.RectAreaLight'), RectAreaLight),
41
+ AddLightAction.generate(language.get('descriptor.type.SpotLight'), SpotLight),
44
42
  ]
45
- active() {
46
- const dataService = runtime.get<DataService>('data')
47
43
 
48
- return dataService.sidebar.active === AssetService.key
49
- }
50
44
  update() {
51
45
  this.show = false
52
46
  this.disabled = true
53
47
  const dataService = runtime.get<DataService>('data')
54
- const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(AssetService.key)
55
- if (navigator.status.mouseItem === null) return
56
- if (navigator.status.mouseItem === navigator.root) return
48
+ if (dataService.sidebar.status.mouseItem === null) return
49
+ if (dataService.sidebar.status.mouseItem === dataService.sidebar.root) return
57
50
 
58
51
  this.show = true
59
52
  this.disabled = false
@@ -62,6 +55,4 @@ class AddLightAction extends Action {
62
55
  return false
63
56
  }
64
57
  execute() { }
65
- }
66
-
67
- export { AddLightAction }
58
+ }
@@ -1,22 +0,0 @@
1
- import { option } from "@vyr/builtin";
2
- import { language, executePreset } from "@vyr/three";
3
-
4
- const scripts = [
5
- {
6
- label: language.get(executePreset.GeoMap.drilldown.scriptable as any),
7
- value: executePreset.GeoMap.drilldown.scriptable,
8
- getDefaultInput: executePreset.GeoMap.drilldown.createExecuteInput,
9
- getPropertyOptions: () => {
10
- return {
11
- dataset: () => {
12
- const { datasets } = option.Preset.getSelectOptions()
13
- return datasets
14
- }
15
- }
16
- }
17
- },
18
- ]
19
-
20
- export {
21
- scripts
22
- }
@@ -1,65 +0,0 @@
1
- import { AnimationUnitDescriptor, Descriptor } from "@vyr/engine";
2
- import { Action, DataService, runtime } from "@vyr/runtime";
3
- import { sidebar } from '@vyr/builtin'
4
- import { AnimationActionDescriptor, ModelDescriptor } from "@vyr/three";
5
- import { SceneService } from "@vyr/service-scene"
6
- import { language } from '../../../../locale'
7
-
8
- class AddAnimationAction extends Action {
9
- static id = 'sidebar.scene.AddAnimation'
10
- static generate = (label: string, Class: typeof Descriptor) => {
11
- class ClassAction extends Action {
12
- static id = Class.type
13
- label = label
14
- update() {
15
- this.show = false
16
- this.disabled = true
17
- const dataService = runtime.get<DataService>('data')
18
- const navigator = dataService.sidebar.get<sidebar.scene.SceneNavigator>(SceneService.key)
19
- if (navigator.status.mouseItem === null) return
20
- this.show = true
21
- if (Class.type === AnimationActionDescriptor.type) {
22
- if ((navigator.status.mouseItem instanceof ModelDescriptor) === false) return
23
- }
24
- this.disabled = false
25
- }
26
- validator() {
27
- return false
28
- }
29
- execute() {
30
- const dataService = runtime.get<DataService>('data')
31
- const navigator = dataService.sidebar.get<sidebar.scene.SceneNavigator>(SceneService.key)
32
- navigator.status.modifyMode = 'add'
33
- navigator.status.modifyContent = new Class({})
34
- navigator.status.modifyValue = navigator.status.mouseItem
35
- }
36
- }
37
- return new ClassAction()
38
- }
39
- label = language.get('sidebar.scene.action.AddAnimation.label')
40
- order = 2
41
- children = [
42
- AddAnimationAction.generate(language.get('descriptor.type.AnimationUnit'), AnimationUnitDescriptor),
43
- AddAnimationAction.generate(language.get('descriptor.type.AnimationAction'), AnimationActionDescriptor),
44
- ]
45
- active() {
46
- const dataService = runtime.get<DataService>('data')
47
-
48
- return dataService.sidebar.active === SceneService.key
49
- }
50
- update() {
51
- this.show = false
52
- this.disabled = true
53
- const dataService = runtime.get<DataService>('data')
54
- const navigator = dataService.sidebar.get<sidebar.scene.SceneNavigator>(SceneService.key)
55
- if (navigator.status.mouseItem === null) return
56
- this.show = true
57
- this.disabled = false
58
- }
59
- validator() {
60
- return false
61
- }
62
- execute() { }
63
- }
64
-
65
- export { AddAnimationAction }
@@ -1,67 +0,0 @@
1
- import { Descriptor } from "@vyr/engine";
2
- import { Action, DataService, runtime } from "@vyr/runtime";
3
- import { sidebar } from '@vyr/builtin'
4
- import { AmbientLightDescriptor, DirectionalLightDescriptor, HemisphereLightDescriptor, PointLightDescriptor, RectAreaLightDescriptor, SpotLightDescriptor } from '@vyr/three'
5
- import { SceneService } from "@vyr/service-scene"
6
- import { language } from '../../../../locale'
7
-
8
- class AddLightAction extends Action {
9
- static id = 'sidebar.scene.AddLight'
10
- static generate = (label: string, Class: typeof Descriptor) => {
11
- class ClassAction extends Action {
12
- static id = `sidebar.${Class.type}`
13
- label = label
14
- update() {
15
- this.show = false
16
- this.disabled = true
17
- const dataService = runtime.get<DataService>('data')
18
- const navigator = dataService.sidebar.get<sidebar.scene.SceneNavigator>(SceneService.key)
19
- this.show = true
20
- if (navigator.status.mouseItem === null) return
21
- this.disabled = false
22
- }
23
- validator() {
24
- return false
25
- }
26
- execute() {
27
- const dataService = runtime.get<DataService>('data')
28
- const navigator = dataService.sidebar.get<sidebar.scene.SceneNavigator>(SceneService.key)
29
- navigator.status.modifyMode = 'add'
30
- navigator.status.modifyContent = new Class()
31
- navigator.status.modifyValue = navigator.status.mouseItem
32
- }
33
- }
34
- return new ClassAction()
35
- }
36
- label = language.get('sidebar.scene.action.AddLight.label')
37
- order = 2
38
- children = [
39
- AddLightAction.generate(language.get('descriptor.type.AmbientLight'), AmbientLightDescriptor),
40
- AddLightAction.generate(language.get('descriptor.type.DirectionalLight'), DirectionalLightDescriptor),
41
- AddLightAction.generate(language.get('descriptor.type.HemisphereLight'), HemisphereLightDescriptor),
42
- AddLightAction.generate(language.get('descriptor.type.PointLight'), PointLightDescriptor),
43
- AddLightAction.generate(language.get('descriptor.type.RectAreaLight'), RectAreaLightDescriptor),
44
- AddLightAction.generate(language.get('descriptor.type.SpotLight'), SpotLightDescriptor),
45
- ]
46
- active() {
47
- const dataService = runtime.get<DataService>('data')
48
-
49
- return dataService.sidebar.active === SceneService.key
50
- }
51
- update() {
52
- this.show = false
53
- this.disabled = true
54
- const dataService = runtime.get<DataService>('data')
55
- const navigator = dataService.sidebar.get<sidebar.scene.SceneNavigator>(SceneService.key)
56
- if (navigator.status.mouseItem === null) return
57
-
58
- this.show = true
59
- this.disabled = false
60
- }
61
- validator() {
62
- return false
63
- }
64
- execute() { }
65
- }
66
-
67
- export { AddLightAction }
@@ -1,7 +0,0 @@
1
- import { AddLightAction } from "./AddLightAction";
2
- import { AddAnimationAction } from "./AddAnimationAction";
3
-
4
- export default [
5
- AddLightAction,
6
- AddAnimationAction,
7
- ]