@dcl/sdk 7.0.0-3548419522.commit-ddcf4b7 → 7.0.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 (75) hide show
  1. package/ecs.d.ts +1 -0
  2. package/ecs.js +2 -0
  3. package/index.d.ts +1 -0
  4. package/index.js +11 -0
  5. package/internal/Observable.d.ts +36 -0
  6. package/internal/Observable.js +190 -0
  7. package/internal/transports/networkTransport.d.ts +2 -0
  8. package/internal/transports/networkTransport.js +16 -0
  9. package/internal/transports/rendererTransport.d.ts +7 -0
  10. package/internal/transports/rendererTransport.js +39 -0
  11. package/math.d.ts +3 -0
  12. package/math.js +4 -0
  13. package/messageBus.d.ts +10 -0
  14. package/messageBus.js +43 -0
  15. package/observables.d.ts +225 -0
  16. package/observables.js +75 -0
  17. package/package.json +12 -18
  18. package/react-ecs.d.ts +3 -0
  19. package/react-ecs.js +4 -0
  20. package/src/ecs.ts +1 -0
  21. package/src/index.ts +18 -0
  22. package/src/internal/Observable.ts +425 -0
  23. package/src/internal/transports/networkTransport.ts +24 -0
  24. package/src/internal/transports/rendererTransport.ts +60 -0
  25. package/src/math.ts +3 -0
  26. package/src/messageBus.ts +62 -0
  27. package/src/observables.ts +579 -0
  28. package/src/react-ecs.ts +3 -0
  29. package/tsconfig.json +11 -0
  30. package/types/tsconfig.ecs7.json +3 -8
  31. package/dist/ecs7/index.d.ts +0 -4679
  32. package/dist/ecs7/index.js +0 -15202
  33. package/dist/ecs7/index.min.js +0 -1
  34. package/dist/ecs7/index.min.js.map +0 -1
  35. package/dist/ecs7/proto-definitions/README.md +0 -32
  36. package/dist/ecs7/proto-definitions/Transform.md +0 -25
  37. package/dist/ecs7/proto-definitions/animator.proto +0 -19
  38. package/dist/ecs7/proto-definitions/audio_source.proto +0 -13
  39. package/dist/ecs7/proto-definitions/audio_stream.proto +0 -11
  40. package/dist/ecs7/proto-definitions/avatar_attach.proto +0 -19
  41. package/dist/ecs7/proto-definitions/avatar_modifier_area.proto +0 -19
  42. package/dist/ecs7/proto-definitions/avatar_shape.proto +0 -32
  43. package/dist/ecs7/proto-definitions/billboard.proto +0 -17
  44. package/dist/ecs7/proto-definitions/camera_mode.proto +0 -10
  45. package/dist/ecs7/proto-definitions/camera_mode_area.proto +0 -14
  46. package/dist/ecs7/proto-definitions/common/camera_type.proto +0 -8
  47. package/dist/ecs7/proto-definitions/common/id.md +0 -2
  48. package/dist/ecs7/proto-definitions/common/id.proto +0 -8
  49. package/dist/ecs7/proto-definitions/common/input_action.proto +0 -20
  50. package/dist/ecs7/proto-definitions/common/texts.proto +0 -20
  51. package/dist/ecs7/proto-definitions/gltf_container.proto +0 -13
  52. package/dist/ecs7/proto-definitions/material.proto +0 -56
  53. package/dist/ecs7/proto-definitions/mesh_collider.proto +0 -35
  54. package/dist/ecs7/proto-definitions/mesh_renderer.proto +0 -30
  55. package/dist/ecs7/proto-definitions/nft_shape.proto +0 -40
  56. package/dist/ecs7/proto-definitions/pointer_events_result.proto +0 -25
  57. package/dist/ecs7/proto-definitions/pointer_hover_feedback.proto +0 -31
  58. package/dist/ecs7/proto-definitions/pointer_lock.proto +0 -9
  59. package/dist/ecs7/proto-definitions/raycast.proto +0 -20
  60. package/dist/ecs7/proto-definitions/raycast_result.proto +0 -25
  61. package/dist/ecs7/proto-definitions/text_shape.proto +0 -33
  62. package/dist/ecs7/proto-definitions/ui_background.proto +0 -11
  63. package/dist/ecs7/proto-definitions/ui_text.proto +0 -17
  64. package/dist/ecs7/proto-definitions/ui_transform.proto +0 -141
  65. package/dist/ecs7/proto-definitions/visibility_component.proto +0 -9
  66. package/dist/playground/snippets/billboard.ts +0 -108
  67. package/dist/playground/snippets/cube-spawner.ts +0 -39
  68. package/dist/playground/snippets/info.json +0 -1
  69. package/dist/playground/snippets/material.ts +0 -48
  70. package/dist/playground/snippets/mesh.ts +0 -68
  71. package/dist/playground/snippets/pointer-events.ts +0 -50
  72. package/dist/playground/snippets/raycast-hit-many.ts +0 -63
  73. package/dist/playground/snippets/raycast-hit.ts +0 -62
  74. package/dist/playground/snippets/ui.tsx +0 -134
  75. package/types/ecs7/index.d.ts +0 -4679
@@ -1,134 +0,0 @@
1
- import ReactEcs, {
2
- renderUi,
3
- UiEntity,
4
- YGAlign,
5
- YGDisplay,
6
- YGJustify
7
- } from '@dcl/react-ecs'
8
-
9
- let counter = 0
10
-
11
- export const uiComponent = () => (
12
- <UiEntity
13
- uiTransform={{
14
- width: 700,
15
- height: 400,
16
- margin: { top: '35px', left: '500px' }
17
- }}
18
- uiBackground={{ backgroundColor: Color4.create(0.5, 0.8, 0.1, 0.6) }}
19
- >
20
- <UiEntity
21
- uiTransform={{
22
- width: '100%',
23
- height: '20%',
24
- justifyContent: YGJustify.YGJ_CENTER,
25
- alignItems: YGAlign.YGA_CENTER,
26
- display: YGDisplay.YGD_FLEX
27
- }}
28
- >
29
- <UiEntity
30
- uiText={{ value: 'SDK 7', fontSize: 80 }}
31
- uiBackground={{ backgroundColor: Color4.fromHexString('#fbf0f0') }}
32
- />
33
- </UiEntity>
34
- <UiEntity
35
- uiTransform={{
36
- width: '100%',
37
- height: '20%',
38
- justifyContent: YGJustify.YGJ_CENTER,
39
- alignItems: YGAlign.YGA_CENTER,
40
- display: YGDisplay.YGD_FLEX
41
- }}
42
- >
43
- <UiEntity
44
- uiText={{ value: `Counter: ${counter}`, fontSize: 60 }}
45
- uiBackground={{ backgroundColor: Color4.fromHexString('#fbf0f0') }}
46
- />
47
- </UiEntity>
48
- <UiEntity
49
- uiTransform={{
50
- width: '100%',
51
- height: '100px',
52
- justifyContent: YGJustify.YGJ_CENTER,
53
- alignItems: YGAlign.YGA_CENTER,
54
- display: YGDisplay.YGD_FLEX
55
- }}
56
- >
57
- <UiEntity
58
- uiText={{ value: `Player: ${getPlayerPosition()}`, fontSize: 40 }}
59
- uiBackground={{ backgroundColor: Color4.fromHexString('#fbf0f0') }}
60
- />
61
- </UiEntity>
62
- </UiEntity>
63
- )
64
-
65
- function getPlayerPosition() {
66
- const playerPosition = Transform.getOrNull(engine.PlayerEntity)
67
- if (!playerPosition) return ''
68
- const { x, y, z } = playerPosition.position
69
- return `{x: ${x.toFixed(2)}, y: ${y.toFixed(2)}, z: ${z.toFixed(2)} }`
70
- }
71
-
72
- renderUi(uiComponent)
73
-
74
- // Cube factory
75
- function createCube(x: number, y: number, z: number, spawner = true): Entity {
76
- const meshEntity = engine.addEntity()
77
- Transform.create(meshEntity, { position: { x, y, z } })
78
- MeshRenderer.create(meshEntity, { mesh: { $case: 'box', box: { uvs: [] } } })
79
- MeshCollider.create(meshEntity, { mesh: { $case: 'box', box: {} } })
80
- if (spawner) {
81
- PointerHoverFeedback.create(meshEntity, {
82
- pointerEvents: [
83
- {
84
- eventType: PointerEventType.PET_DOWN,
85
- eventInfo: {
86
- button: InputAction.IA_PRIMARY,
87
- hoverText: 'Press E to spawn',
88
- maxDistance: 100,
89
- showFeedback: true
90
- }
91
- }
92
- ]
93
- })
94
- }
95
- return meshEntity
96
- }
97
-
98
- // Systems
99
- function circularSystem(dt: number) {
100
- const entitiesWithMeshRenderer = engine.getEntitiesWith(
101
- MeshRenderer,
102
- Transform
103
- )
104
- for (const [entity, _meshRenderer, _transform] of entitiesWithMeshRenderer) {
105
- const mutableTransform = Transform.getMutable(entity)
106
-
107
- mutableTransform.rotation = Quaternion.multiply(
108
- mutableTransform.rotation,
109
- Quaternion.fromAngleAxis(dt * 10, Vector3.Up())
110
- )
111
- }
112
- }
113
-
114
- function spawnerSystem() {
115
- const clickedCubes = engine.getEntitiesWith(PointerHoverFeedback)
116
- for (const [entity] of clickedCubes) {
117
- if (
118
- Input.isTriggered(
119
- InputAction.IA_PRIMARY,
120
- PointerEventType.PET_DOWN,
121
- entity
122
- )
123
- ) {
124
- counter++
125
- }
126
- }
127
- }
128
-
129
- // Init
130
- createCube(8, 1, 8)
131
- engine.addSystem(circularSystem)
132
- engine.addSystem(spawnerSystem)
133
-
134
-