@vyr/three-browser 0.0.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 (102) hide show
  1. package/package.json +25 -0
  2. package/src/common/index.ts +2 -0
  3. package/src/common/provider.ts +14 -0
  4. package/src/common/validate.ts +10 -0
  5. package/src/fragment/GeoMapFragment.vue +129 -0
  6. package/src/fragment/InstancedMeshFragment.vue +29 -0
  7. package/src/fragment/MeshFragment.vue +98 -0
  8. package/src/fragment/ModelFragment.vue +28 -0
  9. package/src/fragment/NodeFragment.vue +93 -0
  10. package/src/fragment/ParticleFragment.vue +147 -0
  11. package/src/fragment/PointsFragment.vue +34 -0
  12. package/src/fragment/SpriteFragment.vue +38 -0
  13. package/src/fragment/TextFragment.vue +98 -0
  14. package/src/fragment/animation/AnimationActionFragment.vue +110 -0
  15. package/src/fragment/geometry/BoxGeometryFragment.vue +44 -0
  16. package/src/fragment/geometry/BufferGeometryFragment.vue +26 -0
  17. package/src/fragment/geometry/CircleGeometryFragment.vue +35 -0
  18. package/src/fragment/geometry/CylinderGeometryFragment.vue +60 -0
  19. package/src/fragment/geometry/ExtrudeGeometryFragment.vue +111 -0
  20. package/src/fragment/geometry/PlaneGeometryFragment.vue +35 -0
  21. package/src/fragment/geometry/RingGeometryFragment.vue +45 -0
  22. package/src/fragment/geometry/SphereGeometryFragment.vue +51 -0
  23. package/src/fragment/geometry/SurfaceGeometryFragment.vue +18 -0
  24. package/src/fragment/geometry/TubeGeometryFragment.vue +65 -0
  25. package/src/fragment/light/AmbientLightFragment.vue +27 -0
  26. package/src/fragment/light/DirectionalLightFragment.vue +86 -0
  27. package/src/fragment/light/HemisphereLightFragment.vue +34 -0
  28. package/src/fragment/light/PointLightFragment.vue +68 -0
  29. package/src/fragment/light/RectAreaLightFragment.vue +48 -0
  30. package/src/fragment/light/SpotLightFragment.vue +96 -0
  31. package/src/fragment/material/MaterialFragment.vue +53 -0
  32. package/src/fragment/material/MeshBasicMaterialFragment.vue +126 -0
  33. package/src/fragment/material/MeshPhongMaterialFragment.vue +263 -0
  34. package/src/fragment/material/MeshStandardMaterialFragment.vue +256 -0
  35. package/src/fragment/material/PointsMaterialFragment.vue +81 -0
  36. package/src/fragment/material/ShaderMaterialFragment.vue +61 -0
  37. package/src/fragment/material/ShadowMaterialFragment.vue +49 -0
  38. package/src/fragment/material/SpriteMaterialFragment.vue +79 -0
  39. package/src/fragment/texture/TextureFragment.vue +131 -0
  40. package/src/index.ts +4 -0
  41. package/src/locale/Language.ts +10 -0
  42. package/src/locale/LanguageProvider.ts +655 -0
  43. package/src/locale/index.ts +2 -0
  44. package/src/option/Animation.ts +17 -0
  45. package/src/option/Geometry.ts +22 -0
  46. package/src/option/Material.ts +42 -0
  47. package/src/option/Mesh.ts +10 -0
  48. package/src/option/Shadow.ts +18 -0
  49. package/src/option/Texture.ts +55 -0
  50. package/src/option/index.ts +6 -0
  51. package/src/service/footer/action/geometry/index.ts +73 -0
  52. package/src/service/footer/action/index.ts +9 -0
  53. package/src/service/footer/action/material/index.ts +70 -0
  54. package/src/service/footer/action/texture/index.ts +63 -0
  55. package/src/service/global/index.ts +1 -0
  56. package/src/service/global/scripts/index.ts +12 -0
  57. package/src/service/index.ts +79 -0
  58. package/src/service/inspector/GeoMapViewer.vue +32 -0
  59. package/src/service/inspector/HTMLConvertViewer.vue +31 -0
  60. package/src/service/inspector/InstanceMeshViewer.vue +33 -0
  61. package/src/service/inspector/MeshViewer.vue +33 -0
  62. package/src/service/inspector/ModelViewer.vue +34 -0
  63. package/src/service/inspector/NodeViewer.vue +30 -0
  64. package/src/service/inspector/ParticleViewer.vue +37 -0
  65. package/src/service/inspector/PerspectiveCameraViewer.vue +62 -0
  66. package/src/service/inspector/PointsViewer.vue +33 -0
  67. package/src/service/inspector/ServiceViewer.vue +92 -0
  68. package/src/service/inspector/SpriteViewer.vue +34 -0
  69. package/src/service/inspector/TextViewer.vue +34 -0
  70. package/src/service/inspector/animation/AnimationActionViewer.vue +31 -0
  71. package/src/service/inspector/geometry/BoxGeometryViewer.vue +32 -0
  72. package/src/service/inspector/geometry/BufferGeometryViewer.vue +33 -0
  73. package/src/service/inspector/geometry/CircleGeometryViewer.vue +32 -0
  74. package/src/service/inspector/geometry/CylinderGeometryViewer.vue +32 -0
  75. package/src/service/inspector/geometry/ExtrudeGeometryViewer.vue +32 -0
  76. package/src/service/inspector/geometry/PlaneGeometryViewer.vue +32 -0
  77. package/src/service/inspector/geometry/RingGeometryViewer.vue +32 -0
  78. package/src/service/inspector/geometry/SphereGeometryViewer.vue +32 -0
  79. package/src/service/inspector/geometry/SurfaceGeometryViewer.vue +32 -0
  80. package/src/service/inspector/geometry/TubeGeometryViewer.vue +32 -0
  81. package/src/service/inspector/index.ts +50 -0
  82. package/src/service/inspector/light/AmbientLightViewer.vue +33 -0
  83. package/src/service/inspector/light/DirectionalLightViewer.vue +33 -0
  84. package/src/service/inspector/light/HemisphereLightViewer.vue +33 -0
  85. package/src/service/inspector/light/PointLightViewer.vue +33 -0
  86. package/src/service/inspector/light/RectAreaLightViewer.vue +33 -0
  87. package/src/service/inspector/light/SpotLightViewer.vue +33 -0
  88. package/src/service/inspector/material/MeshBasicMaterialViewer.vue +34 -0
  89. package/src/service/inspector/material/MeshPhongMaterialViewer.vue +34 -0
  90. package/src/service/inspector/material/MeshStandardMaterialViewer.vue +34 -0
  91. package/src/service/inspector/material/PointsMaterialViewer.vue +33 -0
  92. package/src/service/inspector/material/ShaderMaterialViewer.vue +34 -0
  93. package/src/service/inspector/material/ShadowMaterialViewer.vue +34 -0
  94. package/src/service/inspector/material/SpriteMaterialViewer.vue +34 -0
  95. package/src/service/inspector/texture/TextureViewer.vue +32 -0
  96. package/src/service/sidebar/asset/action/AddAnimationAction.ts +66 -0
  97. package/src/service/sidebar/asset/action/AddLightAction.ts +66 -0
  98. package/src/service/sidebar/asset/action/index.ts +7 -0
  99. package/src/service/sidebar/scene/action/AddAnimationAction.ts +64 -0
  100. package/src/service/sidebar/scene/action/AddLightAction.ts +66 -0
  101. package/src/service/sidebar/scene/action/index.ts +7 -0
  102. package/src/shims-vue.d.ts +10 -0
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.TubeGeometry')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <tube-geometry-fragment></tube-geometry-fragment>
5
+ </vyr-card>
6
+ </template>
7
+
8
+
9
+ <script lang="ts" setup>
10
+ import { Ref, ref, watch } from 'vue'
11
+ import { Descriptor } from '@vyr/engine';
12
+ import { TubeGeometryDescriptor } from '@vyr/three';
13
+ import { VyrCard, } from '@vyr/design';
14
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
15
+ import { language } from '../../../locale'
16
+ import { providerDescriptor } from '../../../common';
17
+ import TubeGeometryFragment from '../../../fragment/geometry/TubeGeometryFragment.vue';
18
+
19
+ const props = defineProps<{ raw: string, uuid: string }>()
20
+
21
+ const descriptor = ref(null) as Ref<TubeGeometryDescriptor | null>
22
+ const watchEditItem = (cur: string) => {
23
+ if (!cur) return descriptor.value = null
24
+ descriptor.value = Descriptor.get<TubeGeometryDescriptor>(cur)
25
+ }
26
+ watch(() => props.uuid, watchEditItem, { immediate: true })
27
+
28
+ providerDescriptor(descriptor)
29
+ builtinProviderDescriptor(descriptor)
30
+ </script>
31
+
32
+ <style lang="less" scoped></style>
@@ -0,0 +1,50 @@
1
+ import { NodeDescriptor } from '@vyr/engine';
2
+ import { AmbientLightDescriptor, AnimationActionDescriptor, BoxGeometryDescriptor, BufferGeometryDescriptor, CircleGeometryDescriptor, CylinderGeometryDescriptor, DirectionalLightDescriptor, ExtrudeGeometryDescriptor, GeoMapDescriptor, HemisphereLightDescriptor, HTMLConvertDescriptor, InstancedMeshDescriptor, MeshBasicMaterialDescriptor, MeshDescriptor, MeshPhongMaterialDescriptor, MeshStandardMaterialDescriptor, ModelDescriptor, ParticleDescriptor, PerspectiveCameraDescriptor, PlaneGeometryDescriptor, PointLightDescriptor, PointsDescriptor, PointsMaterialDescriptor, RectAreaLightDescriptor, RingGeometryDescriptor, SceneServiceDescriptor, ShaderMaterialDescriptor, ShadowMaterialDescriptor, SphereGeometryDescriptor, SpotLightDescriptor, SpriteDescriptor, SpriteMaterialDescriptor, SurfaceGeometryDescriptor, TextDescriptor, TextureDescriptor, TubeGeometryDescriptor } from '@vyr/three';
3
+
4
+ export default [
5
+ { type: MeshBasicMaterialDescriptor.type, import: () => import('./material/MeshBasicMaterialViewer.vue') },
6
+ { type: MeshPhongMaterialDescriptor.type, import: () => import('./material/MeshPhongMaterialViewer.vue') },
7
+ { type: MeshStandardMaterialDescriptor.type, import: () => import('./material/MeshStandardMaterialViewer.vue') },
8
+ { type: PointsMaterialDescriptor.type, import: () => import('./material/PointsMaterialViewer.vue') },
9
+ { type: SpriteMaterialDescriptor.type, import: () => import('./material/SpriteMaterialViewer.vue') },
10
+ { type: ShadowMaterialDescriptor.type, import: () => import('./material/ShadowMaterialViewer.vue') },
11
+ { type: ShaderMaterialDescriptor.type, import: () => import('./material/ShaderMaterialViewer.vue') },
12
+
13
+ { type: BoxGeometryDescriptor.type, import: () => import('./geometry/BoxGeometryViewer.vue') },
14
+ { type: CircleGeometryDescriptor.type, import: () => import('./geometry/CircleGeometryViewer.vue') },
15
+ { type: CylinderGeometryDescriptor.type, import: () => import('./geometry/CylinderGeometryViewer.vue') },
16
+ { type: PlaneGeometryDescriptor.type, import: () => import('./geometry/PlaneGeometryViewer.vue') },
17
+ { type: RingGeometryDescriptor.type, import: () => import('./geometry/RingGeometryViewer.vue') },
18
+ { type: SphereGeometryDescriptor.type, import: () => import('./geometry/SphereGeometryViewer.vue') },
19
+ { type: ExtrudeGeometryDescriptor.type, import: () => import('./geometry/ExtrudeGeometryViewer.vue') },
20
+ { type: SurfaceGeometryDescriptor.type, import: () => import('./geometry/SurfaceGeometryViewer.vue') },
21
+ { type: TubeGeometryDescriptor.type, import: () => import('./geometry/TubeGeometryViewer.vue') },
22
+ { type: BufferGeometryDescriptor.type, import: () => import('./geometry/BufferGeometryViewer.vue') },
23
+
24
+ { type: TextureDescriptor.type, import: () => import('./texture/TextureViewer.vue') },
25
+
26
+ { type: AnimationActionDescriptor.type, import: () => import('./animation/AnimationActionViewer.vue') },
27
+
28
+ { type: PerspectiveCameraDescriptor.type, import: () => import('./PerspectiveCameraViewer.vue') },
29
+
30
+ { type: SceneServiceDescriptor.type, import: () => import('./ServiceViewer.vue') },
31
+ // { type: ComposerServiceDescriptor.type, import: () => import('./ServiceViewer.vue') },
32
+ { type: NodeDescriptor.type, import: () => import('./NodeViewer.vue') },
33
+ { type: MeshDescriptor.type, import: () => import('./MeshViewer.vue') },
34
+ { type: TextDescriptor.type, import: () => import('./TextViewer.vue') },
35
+ { type: PointsDescriptor.type, import: () => import('./PointsViewer.vue') },
36
+ { type: ParticleDescriptor.type, import: () => import('./ParticleViewer.vue') },
37
+ { type: SpriteDescriptor.type, import: () => import('./SpriteViewer.vue') },
38
+ { type: ModelDescriptor.type, import: () => import('./ModelViewer.vue') },
39
+ { type: GeoMapDescriptor.type, import: () => import('./GeoMapViewer.vue') },
40
+ { type: HTMLConvertDescriptor.type, import: () => import('./HTMLConvertViewer.vue') },
41
+ { type: InstancedMeshDescriptor.type, import: () => import('./InstanceMeshViewer.vue') },
42
+
43
+ { type: AmbientLightDescriptor.type, import: () => import('./light/AmbientLightViewer.vue') },
44
+ { type: DirectionalLightDescriptor.type, import: () => import('./light/DirectionalLightViewer.vue') },
45
+ { type: HemisphereLightDescriptor.type, import: () => import('./light/HemisphereLightViewer.vue') },
46
+ { type: PointLightDescriptor.type, import: () => import('./light/PointLightViewer.vue') },
47
+ { type: RectAreaLightDescriptor.type, import: () => import('./light/RectAreaLightViewer.vue') },
48
+ { type: SpotLightDescriptor.type, import: () => import('./light/SpotLightViewer.vue') },
49
+
50
+ ]
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.AmbientLight')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <node-fragment></node-fragment>
5
+ <ambient-light-fragment></ambient-light-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { AmbientLightDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import NodeFragment from '../../../fragment/NodeFragment.vue';
19
+ import AmbientLightFragment from '../../../fragment/light/AmbientLightFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+ const descriptor = ref(null) as Ref<AmbientLightDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<AmbientLightDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.DirectionalLight')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <node-fragment></node-fragment>
5
+ <directional-light-fragment></directional-light-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { DirectionalLightDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import NodeFragment from '../../../fragment/NodeFragment.vue';
19
+ import DirectionalLightFragment from '../../../fragment/light/DirectionalLightFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+ const descriptor = ref(null) as Ref<DirectionalLightDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<DirectionalLightDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.HemisphereLight')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <node-fragment></node-fragment>
5
+ <hemisphere-light-fragment></hemisphere-light-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { HemisphereLightDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import NodeFragment from '../../../fragment/NodeFragment.vue';
19
+ import HemisphereLightFragment from '../../../fragment/light/HemisphereLightFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+ const descriptor = ref(null) as Ref<HemisphereLightDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<HemisphereLightDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.PointLight')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <node-fragment></node-fragment>
5
+ <point-light-fragment></point-light-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { PointLightDescriptor } from '@vyr/three';
14
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
15
+ import { VyrCard, } from '@vyr/design';
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import NodeFragment from '../../../fragment/NodeFragment.vue';
19
+ import PointLightFragment from '../../../fragment/light/PointLightFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+ const descriptor = ref(null) as Ref<PointLightDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<PointLightDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.RectAreaLight')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <node-fragment></node-fragment>
5
+ <rect-area-light-fragment></rect-area-light-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { RectAreaLightDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import NodeFragment from '../../../fragment/NodeFragment.vue';
19
+ import RectAreaLightFragment from '../../../fragment/light/RectAreaLightFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+ const descriptor = ref(null) as Ref<RectAreaLightDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<RectAreaLightDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.SpotLight')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <node-fragment></node-fragment>
5
+ <spot-light-fragment></spot-light-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { SpotLightDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import NodeFragment from '../../../fragment/NodeFragment.vue';
19
+ import SpotLightFragment from '../../../fragment/light/SpotLightFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+ const descriptor = ref(null) as Ref<SpotLightDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<SpotLightDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.MeshBasicMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <mesh-basic-material-fragment></mesh-basic-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { MeshBasicMaterialDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
19
+ import MeshBasicMaterialFragment from '../../../fragment/material/MeshBasicMaterialFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+
23
+ const descriptor = ref(null) as Ref<MeshBasicMaterialDescriptor | null>
24
+ const watchEditItem = (cur: string) => {
25
+ if (!cur) return descriptor.value = null
26
+ descriptor.value = Descriptor.get<MeshBasicMaterialDescriptor>(cur)
27
+ }
28
+ watch(() => props.uuid, watchEditItem, { immediate: true })
29
+
30
+ providerDescriptor(descriptor)
31
+ builtinProviderDescriptor(descriptor)
32
+ </script>
33
+
34
+ <style lang="less" scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.MeshPhongMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <mesh-phong-material-fragment></mesh-phong-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { MeshPhongMaterialDescriptor } from '@vyr/three';
14
+ import { VyrCard } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
19
+ import MeshPhongMaterialFragment from '../../../fragment/material/MeshPhongMaterialFragment.vue'
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+
23
+ const descriptor = ref(null) as Ref<MeshPhongMaterialDescriptor | null>
24
+ const watchEditItem = (cur: string) => {
25
+ if (!cur) return descriptor.value = null
26
+ descriptor.value = Descriptor.get<MeshPhongMaterialDescriptor>(cur)
27
+ }
28
+ watch(() => props.uuid, watchEditItem, { immediate: true })
29
+
30
+ providerDescriptor(descriptor)
31
+ builtinProviderDescriptor(descriptor)
32
+ </script>
33
+
34
+ <style lang="less" scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.MeshStandardMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <mesh-standard-material-fragment></mesh-standard-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { MeshStandardMaterialDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
19
+ import MeshStandardMaterialFragment from '../../../fragment/material/MeshStandardMaterialFragment.vue'
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+
23
+ const descriptor = ref(null) as Ref<MeshStandardMaterialDescriptor | null>
24
+ const watchEditItem = (cur: string) => {
25
+ if (!cur) return descriptor.value = null
26
+ descriptor.value = Descriptor.get<MeshStandardMaterialDescriptor>(cur)
27
+ }
28
+ watch(() => props.uuid, watchEditItem, { immediate: true })
29
+
30
+ providerDescriptor(descriptor)
31
+ builtinProviderDescriptor(descriptor)
32
+ </script>
33
+
34
+ <style lang="less" scoped></style>
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.PointsMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <points-material-fragment></points-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+ <script lang="ts" setup>
10
+ import { Ref, ref, watch } from 'vue'
11
+ import { Descriptor } from '@vyr/engine';
12
+ import { PointsMaterialDescriptor } from '@vyr/three';
13
+ import { VyrCard, } from '@vyr/design';
14
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
15
+ import { language } from '../../../locale'
16
+ import { providerDescriptor } from '../../../common';
17
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
18
+ import PointsMaterialFragment from '../../../fragment/material/PointsMaterialFragment.vue';
19
+
20
+ const props = defineProps<{ raw: string, uuid: string }>()
21
+
22
+ const descriptor = ref(null) as Ref<PointsMaterialDescriptor | null>
23
+ const watchEditItem = (cur: string) => {
24
+ if (!cur) return descriptor.value = null
25
+ descriptor.value = Descriptor.get<PointsMaterialDescriptor>(cur)
26
+ }
27
+ watch(() => props.uuid, watchEditItem, { immediate: true })
28
+
29
+ providerDescriptor(descriptor)
30
+ builtinProviderDescriptor(descriptor)
31
+ </script>
32
+
33
+ <style lang="less" scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.ShaderMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <shader-material-fragment></shader-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { ShaderMaterialDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
19
+ import ShaderMaterialFragment from '../../../fragment/material/ShaderMaterialFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+
23
+ const descriptor = ref(null) as Ref<ShaderMaterialDescriptor | null>
24
+ const watchEditItem = (cur: string) => {
25
+ if (!cur) return descriptor.value = null
26
+ descriptor.value = Descriptor.get<ShaderMaterialDescriptor>(cur)
27
+ }
28
+ watch(() => props.uuid, watchEditItem, { immediate: true })
29
+
30
+ providerDescriptor(descriptor)
31
+ builtinProviderDescriptor(descriptor)
32
+ </script>
33
+
34
+ <style lang="less" scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.ShadowMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <shadow-material-fragment></shadow-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { ShadowMaterialDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
19
+ import ShadowMaterialFragment from '../../../fragment/material/ShadowMaterialFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+
23
+ const descriptor = ref(null) as Ref<ShadowMaterialDescriptor | null>
24
+ const watchEditItem = (cur: string) => {
25
+ if (!cur) return descriptor.value = null
26
+ descriptor.value = Descriptor.get<ShadowMaterialDescriptor>(cur)
27
+ }
28
+ watch(() => props.uuid, watchEditItem, { immediate: true })
29
+
30
+ providerDescriptor(descriptor)
31
+ builtinProviderDescriptor(descriptor)
32
+ </script>
33
+
34
+ <style lang="less" scoped></style>
@@ -0,0 +1,34 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.SpriteMaterial')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <material-fragment></material-fragment>
5
+ <sprite-material-fragment></sprite-material-fragment>
6
+ </vyr-card>
7
+ </template>
8
+
9
+
10
+ <script lang="ts" setup>
11
+ import { Ref, ref, watch } from 'vue'
12
+ import { Descriptor } from '@vyr/engine';
13
+ import { SpriteMaterialDescriptor } from '@vyr/three';
14
+ import { VyrCard, } from '@vyr/design';
15
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
16
+ import { language } from '../../../locale'
17
+ import { providerDescriptor } from '../../../common';
18
+ import MaterialFragment from '../../../fragment/material/MaterialFragment.vue';
19
+ import SpriteMaterialFragment from '../../../fragment/material/SpriteMaterialFragment.vue';
20
+
21
+ const props = defineProps<{ raw: string, uuid: string }>()
22
+
23
+ const descriptor = ref(null) as Ref<SpriteMaterialDescriptor | null>
24
+ const watchEditItem = (cur: string) => {
25
+ if (!cur) return descriptor.value = null
26
+ descriptor.value = Descriptor.get<SpriteMaterialDescriptor>(cur)
27
+ }
28
+ watch(() => props.uuid, watchEditItem, { immediate: true })
29
+
30
+ providerDescriptor(descriptor)
31
+ builtinProviderDescriptor(descriptor)
32
+ </script>
33
+
34
+ <style lang="less" scoped></style>
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <vyr-card v-if="descriptor" :title="language.get('descriptor.type.Texture')" :scroll="true">
3
+ <base-fragment :raw="raw"></base-fragment>
4
+ <texture-fragment></texture-fragment>
5
+ </vyr-card>
6
+ </template>
7
+
8
+
9
+ <script lang="ts" setup>
10
+ import { Ref, ref, watch } from 'vue'
11
+ import { Descriptor } from '@vyr/engine';
12
+ import { MeshBasicMaterialDescriptor } from '@vyr/three';
13
+ import { VyrCard } from '@vyr/design';
14
+ import { BaseFragment, providerDescriptor as builtinProviderDescriptor } from '@vyr/builtin'
15
+ import { language } from '../../../locale'
16
+ import { providerDescriptor } from '../../../common';
17
+ import TextureFragment from '../../../fragment/texture/TextureFragment.vue';
18
+
19
+ const props = defineProps<{ raw: string, uuid: string }>()
20
+
21
+ const descriptor = ref(null) as Ref<MeshBasicMaterialDescriptor | null>
22
+ const watchEditItem = (cur: string) => {
23
+ if (!cur) return descriptor.value = null
24
+ descriptor.value = Descriptor.get<MeshBasicMaterialDescriptor>(cur)
25
+ }
26
+ watch(() => props.uuid, watchEditItem, { immediate: true })
27
+
28
+ providerDescriptor(descriptor)
29
+ builtinProviderDescriptor(descriptor)
30
+ </script>
31
+
32
+ <style lang="less" scoped></style>
@@ -0,0 +1,66 @@
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 { language } from '../../../../locale'
6
+
7
+ class AddAnimationAction extends Action {
8
+ static id = 'sidebar.asset.AddAnimation'
9
+ static generate = (label: string, Class: typeof Descriptor) => {
10
+ class ClassAction extends Action {
11
+ static id = Class.type
12
+ label = label
13
+ update() {
14
+ this.show = false
15
+ this.disabled = true
16
+ const dataService = runtime.get<DataService>('data')
17
+ const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(sidebar.asset.AssetNavigator.key)
18
+ if (navigator.status.mouseItem === null) return
19
+ this.show = true
20
+ if (Class.type === AnimationActionDescriptor.type) {
21
+ if ((navigator.status.mouseItem instanceof ModelDescriptor) === false) return
22
+ }
23
+ this.disabled = false
24
+ }
25
+ validator() {
26
+ return false
27
+ }
28
+ execute() {
29
+ const dataService = runtime.get<DataService>('data')
30
+ const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(sidebar.asset.AssetNavigator.key)
31
+ navigator.status.modifyMode = 'add'
32
+ navigator.status.modifyContent = new Class({})
33
+ navigator.status.modifyValue = navigator.status.mouseItem
34
+ }
35
+ }
36
+ return new ClassAction()
37
+ }
38
+ label = language.get('sidebar.asset.action.addAnimation.label')
39
+ order = 2
40
+ children = [
41
+ AddAnimationAction.generate(language.get('descriptor.type.AnimationUnit'), AnimationUnitDescriptor),
42
+ AddAnimationAction.generate(language.get('descriptor.type.AnimationAction'), AnimationActionDescriptor),
43
+ ]
44
+ active() {
45
+ const dataService = runtime.get<DataService>('data')
46
+
47
+ return dataService.sidebar.active === sidebar.asset.AssetNavigator.key
48
+ }
49
+ update() {
50
+ this.show = false
51
+ this.disabled = true
52
+ const dataService = runtime.get<DataService>('data')
53
+ const navigator = dataService.sidebar.get<sidebar.asset.AssetNavigator>(sidebar.asset.AssetNavigator.key)
54
+ if (navigator.status.mouseItem === null) return
55
+ if (navigator.status.mouseItem === navigator.root) return
56
+
57
+ this.show = true
58
+ this.disabled = false
59
+ }
60
+ validator() {
61
+ return false
62
+ }
63
+ execute() { }
64
+ }
65
+
66
+ export { AddAnimationAction }