@dcl/ecs 7.13.0 → 7.13.1-19516109426.commit-e1e79aa

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 (163) hide show
  1. package/dist/components/extended/AvatarEquippedData.d.ts +10 -0
  2. package/dist/components/extended/AvatarEquippedData.js +15 -0
  3. package/dist/components/extended/AvatarShape.d.ts +10 -0
  4. package/dist/components/extended/AvatarShape.js +15 -0
  5. package/dist/components/extended/MeshCollider.d.ts +8 -0
  6. package/dist/components/extended/MeshCollider.js +6 -0
  7. package/dist/components/extended/MeshRenderer.d.ts +8 -0
  8. package/dist/components/extended/MeshRenderer.js +5 -0
  9. package/dist/components/generated/CameraLayer.gen.d.ts +1 -0
  10. package/dist/components/generated/CameraLayer.gen.js +25 -0
  11. package/dist/components/generated/CameraLayers.gen.d.ts +1 -0
  12. package/dist/components/generated/CameraLayers.gen.js +25 -0
  13. package/dist/components/generated/GlobalLight.gen.d.ts +1 -0
  14. package/dist/components/generated/GlobalLight.gen.js +25 -0
  15. package/dist/components/generated/GltfNode.gen.d.ts +1 -0
  16. package/dist/components/generated/GltfNode.gen.js +25 -0
  17. package/dist/components/generated/GltfNodeState.gen.d.ts +1 -0
  18. package/dist/components/generated/GltfNodeState.gen.js +25 -0
  19. package/dist/components/generated/TextureCamera.gen.d.ts +1 -0
  20. package/dist/components/generated/TextureCamera.gen.js +25 -0
  21. package/dist/components/generated/UiCanvas.gen.d.ts +1 -0
  22. package/dist/components/generated/UiCanvas.gen.js +25 -0
  23. package/dist/components/generated/UiScrollResult.gen.d.ts +1 -0
  24. package/dist/components/generated/UiScrollResult.gen.js +25 -0
  25. package/dist/components/generated/component-names.gen.js +8 -0
  26. package/dist/components/generated/global.gen.d.ts +16 -0
  27. package/dist/components/generated/global.gen.js +8 -0
  28. package/dist/components/generated/index.gen.d.ts +32 -0
  29. package/dist/components/generated/index.gen.js +40 -0
  30. package/dist/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  31. package/dist/components/generated/pb/decentraland/common/texture.gen.js +65 -0
  32. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  33. package/dist/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  34. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  35. package/dist/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +151 -1
  36. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  37. package/dist/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  38. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  39. package/dist/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +104 -0
  40. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  41. package/dist/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +50 -0
  42. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  43. package/dist/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +119 -1
  44. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  45. package/dist/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  46. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  47. package/dist/components/generated/pb/decentraland/sdk/components/global_light.gen.js +61 -0
  48. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  49. package/dist/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  50. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  51. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +41 -0
  52. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  53. package/dist/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +59 -0
  54. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  55. package/dist/components/generated/pb/decentraland/sdk/components/material.gen.js +57 -1
  56. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  57. package/dist/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +56 -0
  58. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  59. package/dist/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +56 -0
  60. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  61. package/dist/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  62. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  63. package/dist/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +191 -0
  64. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  65. package/dist/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +60 -0
  66. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  67. package/dist/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +42 -0
  68. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  69. package/dist/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  70. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  71. package/dist/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +90 -0
  72. package/dist/components/index.d.ts +11 -7
  73. package/dist/components/index.js +11 -5
  74. package/dist/components/types.d.ts +2 -0
  75. package/dist/engine/input.d.ts +6 -0
  76. package/dist/engine/input.js +7 -1
  77. package/dist/runtime/initialization/index.d.ts +1 -1
  78. package/dist/runtime/initialization/index.js +1 -1
  79. package/dist/systems/events.d.ts +100 -1
  80. package/dist/systems/events.js +143 -65
  81. package/dist/systems/tween.js +63 -88
  82. package/dist-cjs/components/extended/AvatarEquippedData.d.ts +10 -0
  83. package/dist-cjs/components/extended/AvatarEquippedData.js +19 -0
  84. package/dist-cjs/components/extended/AvatarShape.d.ts +10 -0
  85. package/dist-cjs/components/extended/AvatarShape.js +19 -0
  86. package/dist-cjs/components/extended/MeshCollider.d.ts +8 -0
  87. package/dist-cjs/components/extended/MeshCollider.js +6 -0
  88. package/dist-cjs/components/extended/MeshRenderer.d.ts +8 -0
  89. package/dist-cjs/components/extended/MeshRenderer.js +5 -0
  90. package/dist-cjs/components/generated/CameraLayer.gen.d.ts +1 -0
  91. package/dist-cjs/components/generated/CameraLayer.gen.js +28 -0
  92. package/dist-cjs/components/generated/CameraLayers.gen.d.ts +1 -0
  93. package/dist-cjs/components/generated/CameraLayers.gen.js +28 -0
  94. package/dist-cjs/components/generated/GlobalLight.gen.d.ts +1 -0
  95. package/dist-cjs/components/generated/GlobalLight.gen.js +28 -0
  96. package/dist-cjs/components/generated/GltfNode.gen.d.ts +1 -0
  97. package/dist-cjs/components/generated/GltfNode.gen.js +28 -0
  98. package/dist-cjs/components/generated/GltfNodeState.gen.d.ts +1 -0
  99. package/dist-cjs/components/generated/GltfNodeState.gen.js +28 -0
  100. package/dist-cjs/components/generated/TextureCamera.gen.d.ts +1 -0
  101. package/dist-cjs/components/generated/TextureCamera.gen.js +28 -0
  102. package/dist-cjs/components/generated/UiCanvas.gen.d.ts +1 -0
  103. package/dist-cjs/components/generated/UiCanvas.gen.js +28 -0
  104. package/dist-cjs/components/generated/UiScrollResult.gen.d.ts +1 -0
  105. package/dist-cjs/components/generated/UiScrollResult.gen.js +28 -0
  106. package/dist-cjs/components/generated/component-names.gen.js +8 -0
  107. package/dist-cjs/components/generated/global.gen.d.ts +16 -0
  108. package/dist-cjs/components/generated/global.gen.js +10 -1
  109. package/dist-cjs/components/generated/index.gen.d.ts +32 -0
  110. package/dist-cjs/components/generated/index.gen.js +50 -2
  111. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.d.ts +20 -0
  112. package/dist-cjs/components/generated/pb/decentraland/common/texture.gen.js +66 -1
  113. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  114. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_equipped_data.gen.js +10 -1
  115. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +43 -0
  116. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_modifier_area.gen.js +152 -2
  117. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  118. package/dist-cjs/components/generated/pb/decentraland/sdk/components/avatar_shape.gen.js +10 -0
  119. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.d.ts +30 -0
  120. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layer.gen.js +110 -0
  121. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.d.ts +14 -0
  122. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_layers.gen.js +56 -0
  123. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.d.ts +37 -1
  124. package/dist-cjs/components/generated/pb/decentraland/sdk/components/camera_mode_area.gen.js +120 -2
  125. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.d.ts +4 -1
  126. package/dist-cjs/components/generated/pb/decentraland/sdk/components/common/input_action.gen.js +3 -0
  127. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.d.ts +34 -0
  128. package/dist-cjs/components/generated/pb/decentraland/sdk/components/global_light.gen.js +67 -0
  129. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  130. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_container_loading_state.gen.js +46 -1
  131. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.d.ts +50 -0
  132. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node.gen.js +47 -0
  133. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.d.ts +27 -0
  134. package/dist-cjs/components/generated/pb/decentraland/sdk/components/gltf_node_state.gen.js +65 -0
  135. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.d.ts +22 -0
  136. package/dist-cjs/components/generated/pb/decentraland/sdk/components/material.gen.js +58 -2
  137. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.d.ts +20 -0
  138. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_collider.gen.js +57 -1
  139. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.d.ts +21 -3
  140. package/dist-cjs/components/generated/pb/decentraland/sdk/components/mesh_renderer.gen.js +57 -1
  141. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.d.ts +8 -2
  142. package/dist-cjs/components/generated/pb/decentraland/sdk/components/primary_pointer_info.gen.js +3 -0
  143. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.d.ts +74 -0
  144. package/dist-cjs/components/generated/pb/decentraland/sdk/components/texture_camera.gen.js +197 -0
  145. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.d.ts +19 -0
  146. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_canvas.gen.js +66 -0
  147. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.d.ts +15 -0
  148. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_scroll_result.gen.js +48 -0
  149. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  150. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_text.gen.js +20 -0
  151. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.d.ts +35 -0
  152. package/dist-cjs/components/generated/pb/decentraland/sdk/components/ui_transform.gen.js +91 -1
  153. package/dist-cjs/components/index.d.ts +11 -7
  154. package/dist-cjs/components/index.js +15 -7
  155. package/dist-cjs/components/types.d.ts +2 -0
  156. package/dist-cjs/engine/input.d.ts +6 -0
  157. package/dist-cjs/engine/input.js +7 -1
  158. package/dist-cjs/runtime/initialization/index.d.ts +1 -1
  159. package/dist-cjs/runtime/initialization/index.js +1 -1
  160. package/dist-cjs/systems/events.d.ts +100 -1
  161. package/dist-cjs/systems/events.js +143 -65
  162. package/dist-cjs/systems/tween.js +63 -88
  163. package/package.json +2 -2
@@ -21,16 +21,16 @@ export function createTweenSystem(engine) {
21
21
  const tweenState = TweenState.getOrNull(entity);
22
22
  const tween = Tween.getOrNull(entity);
23
23
  const tweenCache = cache.get(entity);
24
- if (!tweenState || !tween || !tweenCache)
24
+ if (!tweenState || !tween)
25
25
  return false;
26
26
  /* istanbul ignore next */
27
27
  if (
28
28
  // Renderer notified that the tween is completed
29
- // Only consider it completed if the tween hasn't changed this frame (to avoid false positives after YOYO/sequence processing)
30
- ((tweenState.state === 1 /* TweenStateStatus.TS_COMPLETED */ && !tweenCache.changed) ||
31
- (tweenChanged(entity) && !tweenCache.changed)) &&
29
+ (tweenChanged(entity) || tweenState.state === 1 /* TweenStateStatus.TS_COMPLETED */) &&
32
30
  // Avoid sending isCompleted multiple times
33
- !tweenCache.completed) {
31
+ !tweenCache?.completed &&
32
+ // Amount of frames needed to consider a tween completed
33
+ (tweenCache?.frames ?? 0) > 2) {
34
34
  return true;
35
35
  }
36
36
  return false;
@@ -42,111 +42,86 @@ export function createTweenSystem(engine) {
42
42
  if ((currentTween && !prevTween) || (!currentTween && prevTween)) {
43
43
  return true;
44
44
  }
45
- if (!currentTween || !prevTween)
46
- return false;
47
45
  const currentBuff = new ReadWriteByteBuffer();
48
46
  Tween.schema.serialize(currentTween, currentBuff);
49
- const compareResult = dataCompare(currentBuff.toBinary(), prevTween);
50
- return compareResult !== 0;
47
+ const equal = dataCompare(currentBuff.toBinary(), prevTween);
48
+ return equal;
51
49
  }
52
- // System to manage cache (needed for tweenSystem.tweenCompleted() to work)
50
+ const restartTweens = [];
51
+ // Logic for sequence tweens
53
52
  engine.addSystem(() => {
53
+ for (const restart of restartTweens) {
54
+ restart();
55
+ }
56
+ restartTweens.length = 0;
54
57
  for (const [entity, tween] of engine.getEntitiesWith(Tween)) {
55
58
  if (tweenChanged(entity)) {
56
59
  const buffer = new ReadWriteByteBuffer();
57
60
  Tween.schema.serialize(tween, buffer);
58
61
  cache.set(entity, {
59
62
  tween: buffer.toBinary(),
63
+ frames: 0,
60
64
  completed: false,
61
65
  changed: true
62
66
  });
63
67
  continue;
64
68
  }
65
69
  const tweenCache = cache.get(entity);
66
- if (tweenCache) {
67
- tweenCache.changed = false;
68
- if (isCompleted(entity)) {
69
- // set the tween completed to avoid calling this again for the same tween
70
- tweenCache.completed = true;
70
+ tweenCache.frames += 1;
71
+ tweenCache.changed = false;
72
+ if (isCompleted(entity)) {
73
+ // Reset tween frames.
74
+ tweenCache.frames = 0;
75
+ // set the tween completed to avoid calling this again for the same tween
76
+ tweenCache.completed = true;
77
+ const tweenSequence = TweenSequence.getOrNull(entity);
78
+ if (!tweenSequence)
79
+ continue;
80
+ const { sequence } = tweenSequence;
81
+ if (sequence && sequence.length) {
82
+ const [nextTweenSequence, ...otherTweens] = sequence;
83
+ Tween.createOrReplace(entity, nextTweenSequence);
84
+ const mutableTweenHelper = TweenSequence.getMutable(entity);
85
+ mutableTweenHelper.sequence = otherTweens;
86
+ if (tweenSequence.loop === 0 /* TweenLoop.TL_RESTART */) {
87
+ mutableTweenHelper.sequence.push(tween);
88
+ }
89
+ }
90
+ else if (tweenSequence.loop === 1 /* TweenLoop.TL_YOYO */) {
91
+ Tween.createOrReplace(entity, backwardsTween(tween));
92
+ }
93
+ else if (tweenSequence.loop === 0 /* TweenLoop.TL_RESTART */) {
94
+ Tween.deleteFrom(entity);
95
+ cache.delete(entity);
96
+ restartTweens.push(() => {
97
+ Tween.createOrReplace(entity, tween);
98
+ });
71
99
  }
72
100
  }
73
101
  }
74
102
  }, Number.NEGATIVE_INFINITY);
75
- function initializeTweenSequenceSystem() {
76
- const restartTweens = [];
77
- function backwardsTween(tween) {
78
- if (tween.mode?.$case === 'move' && tween.mode.move) {
79
- return { ...tween, mode: { ...tween.mode, move: { start: tween.mode.move.end, end: tween.mode.move.start } } };
80
- }
81
- if (tween.mode?.$case === 'rotate' && tween.mode.rotate) {
82
- return {
83
- ...tween,
84
- mode: { ...tween.mode, rotate: { start: tween.mode.rotate.end, end: tween.mode.rotate.start } }
85
- };
86
- }
87
- if (tween.mode?.$case === 'scale' && tween.mode.scale) {
88
- return { ...tween, mode: { ...tween.mode, scale: { start: tween.mode.scale.end, end: tween.mode.scale.start } } };
89
- }
90
- if (tween.mode?.$case === 'textureMove' && tween.mode.textureMove) {
91
- return {
92
- ...tween,
93
- mode: { ...tween.mode, textureMove: { start: tween.mode.textureMove.end, end: tween.mode.textureMove.start } }
94
- };
95
- }
96
- /* istanbul ignore next */
97
- throw new Error('Invalid tween');
103
+ function backwardsTween(tween) {
104
+ if (tween.mode?.$case === 'move' && tween.mode.move) {
105
+ return { ...tween, mode: { ...tween.mode, move: { start: tween.mode.move.end, end: tween.mode.move.start } } };
98
106
  }
99
- // Logic for sequence tweens
100
- engine.addSystem(() => {
101
- for (const restart of restartTweens) {
102
- restart();
103
- }
104
- restartTweens.length = 0;
105
- for (const [entity, tween] of engine.getEntitiesWith(Tween)) {
106
- const tweenCache = cache.get(entity);
107
- if (!tweenCache)
108
- continue;
109
- // Only process tween sequences if the tween is completed
110
- if (tweenCache.completed) {
111
- const tweenSequence = TweenSequence.getOrNull(entity);
112
- if (!tweenSequence)
113
- continue;
114
- const { sequence } = tweenSequence;
115
- if (sequence && sequence.length) {
116
- const [nextTweenSequence, ...otherTweens] = sequence;
117
- Tween.createOrReplace(entity, nextTweenSequence);
118
- const mutableTweenHelper = TweenSequence.getMutable(entity);
119
- mutableTweenHelper.sequence = otherTweens;
120
- if (tweenSequence.loop === 0 /* TweenLoop.TL_RESTART */) {
121
- mutableTweenHelper.sequence.push(tween);
122
- }
123
- // Reset completed flag for the next tween in sequence
124
- // Mark as changed so the cache system will detect the change and reset the cache properly
125
- tweenCache.completed = false;
126
- tweenCache.changed = true;
127
- }
128
- else if (tweenSequence.loop === 1 /* TweenLoop.TL_YOYO */) {
129
- Tween.createOrReplace(entity, backwardsTween(tween));
130
- // Reset completed flag for the backwards tween
131
- // Mark as changed so the cache system will detect the change and reset the cache properly
132
- tweenCache.completed = false;
133
- tweenCache.changed = true;
134
- }
135
- else if (tweenSequence.loop === 0 /* TweenLoop.TL_RESTART */) {
136
- Tween.deleteFrom(entity);
137
- cache.delete(entity);
138
- restartTweens.push(() => {
139
- Tween.createOrReplace(entity, tween);
140
- });
141
- }
142
- }
143
- }
144
- }, Number.NEGATIVE_INFINITY);
107
+ if (tween.mode?.$case === 'rotate' && tween.mode.rotate) {
108
+ return {
109
+ ...tween,
110
+ mode: { ...tween.mode, rotate: { start: tween.mode.rotate.end, end: tween.mode.rotate.start } }
111
+ };
112
+ }
113
+ if (tween.mode?.$case === 'scale' && tween.mode.scale) {
114
+ return { ...tween, mode: { ...tween.mode, scale: { start: tween.mode.scale.end, end: tween.mode.scale.start } } };
115
+ }
116
+ if (tween.mode?.$case === 'textureMove' && tween.mode.textureMove) {
117
+ return {
118
+ ...tween,
119
+ mode: { ...tween.mode, textureMove: { start: tween.mode.textureMove.end, end: tween.mode.textureMove.start } }
120
+ };
121
+ }
122
+ /* istanbul ignore next */
123
+ throw new Error('Invalid tween');
145
124
  }
146
- // Some Explorers may not inject the flag and TweenSequence logic must be enabled in that case
147
- const enableTweenSequenceLogic = globalThis.ENABLE_SDK_TWEEN_SEQUENCE;
148
- if (enableTweenSequenceLogic !== false)
149
- initializeTweenSequenceSystem();
150
125
  const tweenSystem = {
151
126
  // This event is fired only once per tween
152
127
  tweenCompleted: isCompleted
@@ -0,0 +1,10 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBAvatarEquippedData } from '../generated/pb/decentraland/sdk/components/avatar_equipped_data.gen';
3
+ /**
4
+ * @public
5
+ */
6
+ export type AvatarEquippedDataComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarEquippedDataType>;
7
+ export type AvatarEquippedDataType = Omit<PBAvatarEquippedData, 'forceRender'> & {
8
+ forceRender?: string[] | undefined;
9
+ };
10
+ export declare function defineAvatarEquippedDataComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarEquippedDataComponentDefinitionExtended;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAvatarEquippedDataComponent = void 0;
4
+ const AvatarEquippedData_gen_1 = require("../generated/AvatarEquippedData.gen");
5
+ function defineAvatarEquippedDataComponent(engine) {
6
+ const patchedSchema = { ...AvatarEquippedData_gen_1.AvatarEquippedDataSchema };
7
+ const origSerialize = patchedSchema.serialize;
8
+ patchedSchema.serialize = (value, builder) => {
9
+ if (value.forceRender === undefined) {
10
+ origSerialize({ forceRender: [], ...value }, builder);
11
+ }
12
+ else {
13
+ origSerialize(value, builder);
14
+ }
15
+ };
16
+ const theComponent = engine.defineComponentFromSchema('core::AvatarEquippedData', patchedSchema);
17
+ return theComponent;
18
+ }
19
+ exports.defineAvatarEquippedDataComponent = defineAvatarEquippedDataComponent;
@@ -0,0 +1,10 @@
1
+ import { IEngine, LastWriteWinElementSetComponentDefinition } from '../../engine';
2
+ import { PBAvatarShape } from '../generated/pb/decentraland/sdk/components/avatar_shape.gen';
3
+ /**
4
+ * @public
5
+ */
6
+ export type AvatarShapeComponentDefinitionExtended = LastWriteWinElementSetComponentDefinition<AvatarShapeType>;
7
+ export type AvatarShapeType = Omit<PBAvatarShape, 'forceRender'> & {
8
+ forceRender?: string[] | undefined;
9
+ };
10
+ export declare function defineAvatarShapeComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): AvatarShapeComponentDefinitionExtended;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineAvatarShapeComponent = void 0;
4
+ const AvatarShape_gen_1 = require("../generated/AvatarShape.gen");
5
+ function defineAvatarShapeComponent(engine) {
6
+ const patchedSchema = { ...AvatarShape_gen_1.AvatarShapeSchema };
7
+ const origSerialize = patchedSchema.serialize;
8
+ patchedSchema.serialize = (value, builder) => {
9
+ if (value.forceRender === undefined) {
10
+ origSerialize({ forceRender: [], ...value }, builder);
11
+ }
12
+ else {
13
+ origSerialize(value, builder);
14
+ }
15
+ };
16
+ const theComponent = engine.defineComponentFromSchema('core::AvatarShape', patchedSchema);
17
+ return theComponent;
18
+ }
19
+ exports.defineAvatarShapeComponent = defineAvatarShapeComponent;
@@ -34,5 +34,13 @@ export interface MeshColliderComponentDefinitionExtended extends LastWriteWinEle
34
34
  * @param colliderMask - the set of layer where the collider reacts, default: Physics and Pointer
35
35
  */
36
36
  setSphere(entity: Entity, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
+ /**
38
+ * @public
39
+ * Set a gltf internal mesh in the MeshCollider component
40
+ * @param entity - entity to create or replace the MeshRenderer component
41
+ * @param source - the path to the gltf
42
+ * @param meshName - the name of the mesh in the gltf
43
+ */
44
+ setGltfMesh(entity: Entity, source: string, meshName: string, colliderLayers?: ColliderLayer | ColliderLayer[]): void;
37
45
  }
38
46
  export declare function defineMeshColliderComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshColliderComponentDefinitionExtended;
@@ -37,6 +37,12 @@ function defineMeshColliderComponent(engine) {
37
37
  mesh: { $case: 'sphere', sphere: {} },
38
38
  collisionMask: getCollisionMask(colliderLayers)
39
39
  });
40
+ },
41
+ setGltfMesh(entity, source, meshName, colliderLayers) {
42
+ theComponent.createOrReplace(entity, {
43
+ mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } },
44
+ collisionMask: getCollisionMask(colliderLayers)
45
+ });
40
46
  }
41
47
  };
42
48
  }
@@ -32,5 +32,13 @@ export interface MeshRendererComponentDefinitionExtended extends LastWriteWinEle
32
32
  * @param entity - entity to create or replace the MeshRenderer component
33
33
  */
34
34
  setSphere(entity: Entity): void;
35
+ /**
36
+ * @public
37
+ * Set a gltf internal mesh in the MeshRenderer component
38
+ * @param entity - entity to create or replace the MeshRenderer component
39
+ * @param source - the path to the gltf
40
+ * @param meshName - the name of the mesh in the gltf
41
+ */
42
+ setGltfMesh(entity: Entity, source: string, meshName: string): void;
35
43
  }
36
44
  export declare function defineMeshRendererComponent(engine: Pick<IEngine, 'defineComponentFromSchema'>): MeshRendererComponentDefinitionExtended;
@@ -25,6 +25,11 @@ function defineMeshRendererComponent(engine) {
25
25
  theComponent.createOrReplace(entity, {
26
26
  mesh: { $case: 'sphere', sphere: {} }
27
27
  });
28
+ },
29
+ setGltfMesh(entity, source, meshName) {
30
+ theComponent.createOrReplace(entity, {
31
+ mesh: { $case: 'gltf', gltf: { gltfSrc: source, name: meshName } }
32
+ });
28
33
  }
29
34
  };
30
35
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraLayerSchema = void 0;
4
+ const camera_layer_gen_1 = require("./pb/decentraland/sdk/components/camera_layer.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.CameraLayerSchema = {
9
+ COMPONENT_ID: 1211,
10
+ serialize(value, builder) {
11
+ const writer = camera_layer_gen_1.PBCameraLayer.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return camera_layer_gen_1.PBCameraLayer.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return camera_layer_gen_1.PBCameraLayer.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBCameraLayer"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraLayersSchema = void 0;
4
+ const camera_layers_gen_1 = require("./pb/decentraland/sdk/components/camera_layers.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.CameraLayersSchema = {
9
+ COMPONENT_ID: 1208,
10
+ serialize(value, builder) {
11
+ const writer = camera_layers_gen_1.PBCameraLayers.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return camera_layers_gen_1.PBCameraLayers.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return camera_layers_gen_1.PBCameraLayers.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBCameraLayers"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlobalLightSchema = void 0;
4
+ const global_light_gen_1 = require("./pb/decentraland/sdk/components/global_light.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.GlobalLightSchema = {
9
+ COMPONENT_ID: 1206,
10
+ serialize(value, builder) {
11
+ const writer = global_light_gen_1.PBGlobalLight.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return global_light_gen_1.PBGlobalLight.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return global_light_gen_1.PBGlobalLight.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBGlobalLight"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GltfNodeSchema = void 0;
4
+ const gltf_node_gen_1 = require("./pb/decentraland/sdk/components/gltf_node.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.GltfNodeSchema = {
9
+ COMPONENT_ID: 1200,
10
+ serialize(value, builder) {
11
+ const writer = gltf_node_gen_1.PBGltfNode.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return gltf_node_gen_1.PBGltfNode.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return gltf_node_gen_1.PBGltfNode.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBGltfNode"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GltfNodeStateSchema = void 0;
4
+ const gltf_node_state_gen_1 = require("./pb/decentraland/sdk/components/gltf_node_state.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.GltfNodeStateSchema = {
9
+ COMPONENT_ID: 1201,
10
+ serialize(value, builder) {
11
+ const writer = gltf_node_state_gen_1.PBGltfNodeState.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return gltf_node_state_gen_1.PBGltfNodeState.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return gltf_node_state_gen_1.PBGltfNodeState.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBGltfNodeState"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextureCameraSchema = void 0;
4
+ const texture_camera_gen_1 = require("./pb/decentraland/sdk/components/texture_camera.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.TextureCameraSchema = {
9
+ COMPONENT_ID: 1207,
10
+ serialize(value, builder) {
11
+ const writer = texture_camera_gen_1.PBTextureCamera.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return texture_camera_gen_1.PBTextureCamera.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return texture_camera_gen_1.PBTextureCamera.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBTextureCamera"
27
+ }
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiCanvasSchema = void 0;
4
+ const ui_canvas_gen_1 = require("./pb/decentraland/sdk/components/ui_canvas.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.UiCanvasSchema = {
9
+ COMPONENT_ID: 1203,
10
+ serialize(value, builder) {
11
+ const writer = ui_canvas_gen_1.PBUiCanvas.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return ui_canvas_gen_1.PBUiCanvas.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return ui_canvas_gen_1.PBUiCanvas.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBUiCanvas"
27
+ }
28
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiScrollResultSchema = void 0;
4
+ const ui_scroll_result_gen_1 = require("./pb/decentraland/sdk/components/ui_scroll_result.gen");
5
+ /**
6
+ * @internal
7
+ */
8
+ exports.UiScrollResultSchema = {
9
+ COMPONENT_ID: 1202,
10
+ serialize(value, builder) {
11
+ const writer = ui_scroll_result_gen_1.PBUiScrollResult.encode(value);
12
+ const buffer = new Uint8Array(writer.finish(), 0, writer.len);
13
+ builder.writeBuffer(buffer, false);
14
+ },
15
+ deserialize(reader) {
16
+ return ui_scroll_result_gen_1.PBUiScrollResult.decode(reader.buffer(), reader.remainingBytes());
17
+ },
18
+ create() {
19
+ // TODO: this is a hack.
20
+ return ui_scroll_result_gen_1.PBUiScrollResult.decode(new Uint8Array());
21
+ },
22
+ jsonSchema: {
23
+ type: "object",
24
+ properties: {},
25
+ serializationType: "protocol-buffer",
26
+ protocolBuffer: "PBUiScrollResult"
27
+ }
28
+ };
@@ -17,12 +17,17 @@ exports.coreComponentMappings = {
17
17
  "core::AvatarModifierArea": 1070,
18
18
  "core::AvatarShape": 1080,
19
19
  "core::Billboard": 1090,
20
+ "core::CameraLayer": 1211,
21
+ "core::CameraLayers": 1208,
20
22
  "core::CameraMode": 1072,
21
23
  "core::CameraModeArea": 1071,
22
24
  "core::EngineInfo": 1048,
25
+ "core::GlobalLight": 1206,
23
26
  "core::GltfContainer": 1041,
24
27
  "core::GltfContainerLoadingState": 1049,
28
+ "core::GltfNode": 1200,
25
29
  "core::GltfNodeModifiers": 1099,
30
+ "core::GltfNodeState": 1201,
26
31
  "core::InputModifier": 1078,
27
32
  "core::LightSource": 1079,
28
33
  "core::MainCamera": 1075,
@@ -41,17 +46,20 @@ exports.coreComponentMappings = {
41
46
  "core::RealmInfo": 1106,
42
47
  "core::SkyboxTime": 1210,
43
48
  "core::TextShape": 1030,
49
+ "core::TextureCamera": 1207,
44
50
  "core::TriggerArea": 1060,
45
51
  "core::TriggerAreaResult": 1061,
46
52
  "core::Tween": 1102,
47
53
  "core::TweenSequence": 1104,
48
54
  "core::TweenState": 1103,
49
55
  "core::UiBackground": 1053,
56
+ "core::UiCanvas": 1203,
50
57
  "core::UiCanvasInformation": 1054,
51
58
  "core::UiDropdown": 1094,
52
59
  "core::UiDropdownResult": 1096,
53
60
  "core::UiInput": 1093,
54
61
  "core::UiInputResult": 1095,
62
+ "core::UiScrollResult": 1202,
55
63
  "core::UiText": 1052,
56
64
  "core::UiTransform": 1050,
57
65
  "core::VideoEvent": 1044,