@almadar/std 16.210.0 → 16.212.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 (203) hide show
  1. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +5 -2
  2. package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +6 -0
  3. package/behaviors/lolo/infra/atoms/std-calendar-sync.lolo +8 -5
  4. package/behaviors/lolo/infra/atoms/std-cascade-on-delete.lolo +8 -1
  5. package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +5 -3
  6. package/behaviors/lolo/infra/atoms/std-cross-reference.lolo +2 -0
  7. package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +3 -0
  8. package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +2 -0
  9. package/behaviors/lolo/infra/atoms/std-migration-job.lolo +12 -0
  10. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +1 -0
  11. package/behaviors/lolo/infra/atoms/std-notification-center.lolo +2 -0
  12. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +5 -0
  13. package/behaviors/lolo/infra/atoms/std-reminder-scheduler.lolo +2 -0
  14. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -0
  15. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +1 -0
  16. package/behaviors/lolo/ml/atoms/std-ml-infer.lolo +1 -0
  17. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +1 -0
  18. package/behaviors/lolo/ui/core/atoms/std-board.lolo +6 -0
  19. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +10 -1
  20. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +6 -1
  21. package/behaviors/lolo/ui/core/atoms/std-confirmation.lolo +2 -0
  22. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +2 -2
  23. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +2 -0
  24. package/behaviors/lolo/ui/core/atoms/std-gallery.lolo +8 -1
  25. package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +1 -1
  26. package/behaviors/lolo/ui/core/atoms/std-list.lolo +8 -1
  27. package/behaviors/lolo/ui/core/atoms/std-modal.lolo +3 -1
  28. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +8 -1
  29. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +1 -1
  30. package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +4 -3
  31. package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +1 -0
  32. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +17 -4
  33. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +33 -30
  34. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +1 -1
  35. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +36 -0
  36. package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +1 -1
  37. package/behaviors/lolo/ui/core/atoms/ui-button.lolo +1 -1
  38. package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +22 -2
  39. package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +1 -1
  40. package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +1 -1
  41. package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +1 -1
  42. package/behaviors/lolo/ui/core/atoms/ui-select.lolo +6 -2
  43. package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +1 -1
  44. package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +1 -1
  45. package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +3 -1
  46. package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +1 -1
  47. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +2 -2
  48. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +2 -2
  49. package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +2 -2
  50. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +2 -2
  51. package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +1 -1
  52. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +1 -1
  53. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +1 -1
  54. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +1 -1
  55. package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +1 -1
  56. package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +1 -1
  57. package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +1 -1
  58. package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +1 -1
  59. package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +1 -1
  60. package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +1 -1
  61. package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +1 -1
  62. package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +1 -1
  63. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +2 -2
  64. package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +2 -2
  65. package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +1 -1
  66. package/behaviors/lolo/ui/game/atoms/std-tutorial-overlay.lolo +6 -0
  67. package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +1 -1
  68. package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +1 -1
  69. package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +1 -1
  70. package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +1 -1
  71. package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +2 -2
  72. package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +1 -1
  73. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +1 -1
  74. package/behaviors/lolo/ui/game/atoms/ui-draw-skinned-mesh.lolo +131 -0
  75. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +1 -1
  76. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -1
  77. package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +2 -2
  78. package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +5 -5
  79. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +1 -1
  80. package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +2 -2
  81. package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +1 -1
  82. package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +2 -2
  83. package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +2 -2
  84. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +5 -5
  85. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +10 -10
  86. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +10 -10
  87. package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +36 -36
  88. package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +36 -36
  89. package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +34 -34
  90. package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +10 -10
  91. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +12 -12
  92. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +12 -12
  93. package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +20 -20
  94. package/behaviors/registry/infra/atoms/std-approval-gate.orb +76 -27
  95. package/behaviors/registry/infra/atoms/std-cache-aside.orb +76 -32
  96. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +51 -0
  97. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +48 -0
  98. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +43 -14
  99. package/behaviors/registry/infra/atoms/std-cross-reference.orb +41 -15
  100. package/behaviors/registry/infra/atoms/std-data-erasure.orb +52 -0
  101. package/behaviors/registry/infra/atoms/std-lifecycle.orb +36 -0
  102. package/behaviors/registry/infra/atoms/std-migration-job.orb +108 -0
  103. package/behaviors/registry/infra/atoms/std-mod-queue.orb +20 -0
  104. package/behaviors/registry/infra/atoms/std-notification-center.orb +88 -24
  105. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +82 -6
  106. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +36 -0
  107. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +20 -0
  108. package/behaviors/registry/ml/atoms/std-ml-classify.orb +18 -0
  109. package/behaviors/registry/ml/atoms/std-ml-infer.orb +18 -0
  110. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +20 -0
  111. package/behaviors/registry/ui/core/atoms/std-board.orb +58 -0
  112. package/behaviors/registry/ui/core/atoms/std-browse.orb +35 -1
  113. package/behaviors/registry/ui/core/atoms/std-calendar.orb +9 -1
  114. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +44 -18
  115. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +44 -18
  116. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +19 -8
  117. package/behaviors/registry/ui/core/atoms/std-event-log.orb +26 -0
  118. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +20 -9
  119. package/behaviors/registry/ui/core/atoms/std-gallery.orb +35 -1
  120. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -0
  121. package/behaviors/registry/ui/core/atoms/std-list.orb +35 -1
  122. package/behaviors/registry/ui/core/atoms/std-modal.orb +52 -24
  123. package/behaviors/registry/ui/core/atoms/std-selection.orb +35 -1
  124. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -0
  125. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +0 -3
  126. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +20 -0
  127. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +58 -9
  128. package/behaviors/registry/ui/core/atoms/std-thread.orb +134 -40
  129. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -0
  130. package/behaviors/registry/ui/core/atoms/std-wizard.orb +77 -0
  131. package/behaviors/registry/ui/core/atoms/ui-badge.orb +4 -1
  132. package/behaviors/registry/ui/core/atoms/ui-button.orb +4 -1
  133. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +78 -2
  134. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +4 -1
  135. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -0
  136. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -0
  137. package/behaviors/registry/ui/core/atoms/ui-select.orb +28 -0
  138. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -0
  139. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -0
  140. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +14 -0
  141. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -0
  142. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +2 -0
  143. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +2 -28
  144. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +2 -0
  145. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +2 -0
  146. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -0
  147. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -20
  148. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -14
  149. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -24
  150. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -0
  151. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -0
  152. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -0
  153. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -0
  154. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -0
  155. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -0
  156. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -0
  157. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -0
  158. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +8 -2
  159. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +2 -0
  160. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -0
  161. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +44 -0
  162. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +4 -1
  163. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +4 -1
  164. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +4 -1
  165. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +4 -1
  166. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +8 -2
  167. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +4 -1
  168. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +4 -1
  169. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +697 -0
  170. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +4 -1
  171. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +4 -1
  172. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +8 -2
  173. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +20 -5
  174. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +4 -1
  175. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +8 -2
  176. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +4 -1
  177. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +4 -1
  178. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +8 -2
  179. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +9 -2
  180. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +10 -30
  181. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +10 -30
  182. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +36 -108
  183. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +36 -108
  184. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +34 -102
  185. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +10 -30
  186. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +12 -36
  187. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +12 -36
  188. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +20 -60
  189. package/dist/behaviors/exports-reader.js +3136 -2291
  190. package/dist/behaviors/functions/index.d.ts +148 -40
  191. package/dist/behaviors/functions/index.js +3134 -2290
  192. package/dist/behaviors/index.d.ts +1 -1
  193. package/dist/behaviors/index.js +3137 -2292
  194. package/dist/behaviors/query.js +3136 -2291
  195. package/dist/behaviors-embeddings.hash.json +3 -3
  196. package/dist/behaviors-embeddings.json +25 -21
  197. package/dist/behaviors-registry.json +2296 -1209
  198. package/dist/index.d.ts +1 -1
  199. package/dist/index.js +3137 -2292
  200. package/dist/knob-embeddings.hash.json +3 -3
  201. package/dist/knob-embeddings.json +1 -1
  202. package/dist/registry/factory-signatures.json +1 -1
  203. package/package.json +2 -2
@@ -0,0 +1,697 @@
1
+ {
2
+ "description": "DrawSkinnedMesh — UI factory (1:1 with the @almadar/ui draw-skinned-mesh pattern).",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M2588YN3SJQ43YMGR99EG2WJ": {
6
+ "bakedName": "DrawSkinnedMeshItem",
7
+ "curName": "DrawSkinnedMeshItem",
8
+ "id": "ent_01M2588YN3SJQ43YMGR99EG2WJ",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M2588YN32G1WRQJ0GKMNAZZZ": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M2588YN32G1WRQJ0GKMNAZZZ",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M2588YN3VK31Q6BRRDYMD5VQ",
20
+ "renames": []
21
+ },
22
+ "orb_01M2588YN3PSME7CJ2R3W0KFEW": {
23
+ "bakedName": "DrawSkinnedMeshOrbital",
24
+ "curName": "DrawSkinnedMeshOrbital",
25
+ "id": "orb_01M2588YN3PSME7CJ2R3W0KFEW",
26
+ "kind": "orbital",
27
+ "owner": "workspace",
28
+ "renames": []
29
+ },
30
+ "pag_01M2588YN3N02BWRR8EP9RCTDH": {
31
+ "bakedName": "DrawSkinnedMeshPage",
32
+ "curName": "DrawSkinnedMeshPage",
33
+ "id": "pag_01M2588YN3N02BWRR8EP9RCTDH",
34
+ "kind": "page",
35
+ "owner": "workspace",
36
+ "renames": []
37
+ },
38
+ "trt_01M2588YN3VK31Q6BRRDYMD5VQ": {
39
+ "bakedName": "DrawSkinnedMeshRender",
40
+ "curName": "DrawSkinnedMeshRender",
41
+ "id": "trt_01M2588YN3VK31Q6BRRDYMD5VQ",
42
+ "kind": "trait",
43
+ "owner": "workspace",
44
+ "renames": []
45
+ }
46
+ },
47
+ "schemaVersion": 1
48
+ },
49
+ "name": "ui-draw-skinned-mesh",
50
+ "orbitals": [
51
+ {
52
+ "entity": {
53
+ "fields": [
54
+ {
55
+ "name": "id",
56
+ "required": true,
57
+ "type": "string"
58
+ }
59
+ ],
60
+ "id": "ent_01M2588YN3SJQ43YMGR99EG2WJ",
61
+ "name": "DrawSkinnedMeshItem",
62
+ "persistence": "runtime"
63
+ },
64
+ "id": "orb_01M2588YN3PSME7CJ2R3W0KFEW",
65
+ "name": "DrawSkinnedMeshOrbital",
66
+ "pages": [
67
+ {
68
+ "id": "pag_01M2588YN3N02BWRR8EP9RCTDH",
69
+ "name": "DrawSkinnedMeshPage",
70
+ "path": "/draw-skinned-mesh",
71
+ "traits": [
72
+ {
73
+ "ref": "DrawSkinnedMeshRender",
74
+ "refId": "trt_01M2588YN3VK31Q6BRRDYMD5VQ"
75
+ }
76
+ ]
77
+ }
78
+ ],
79
+ "traits": [
80
+ {
81
+ "category": "interaction",
82
+ "config": {
83
+ "asset": {
84
+ "description": "The texture the mesh UVs cut into.",
85
+ "label": "Asset",
86
+ "properties": {
87
+ "animations": {
88
+ "items": {
89
+ "type": "string"
90
+ },
91
+ "name": "animations",
92
+ "required": false,
93
+ "type": "array"
94
+ },
95
+ "aspect": {
96
+ "name": "aspect",
97
+ "required": false,
98
+ "type": "string",
99
+ "values": [
100
+ "1:1",
101
+ "16:9",
102
+ "5:7",
103
+ "8:1",
104
+ "4:1",
105
+ "5:3",
106
+ "1:2"
107
+ ]
108
+ },
109
+ "atlas": {
110
+ "name": "atlas",
111
+ "required": false,
112
+ "type": "string"
113
+ },
114
+ "category": {
115
+ "name": "category",
116
+ "required": true,
117
+ "type": "string"
118
+ },
119
+ "dimension": {
120
+ "name": "dimension",
121
+ "required": false,
122
+ "type": "string",
123
+ "values": [
124
+ "2d",
125
+ "3d"
126
+ ]
127
+ },
128
+ "name": {
129
+ "name": "name",
130
+ "required": false,
131
+ "type": "string"
132
+ },
133
+ "role": {
134
+ "name": "role",
135
+ "required": true,
136
+ "type": "string"
137
+ },
138
+ "sprite": {
139
+ "name": "sprite",
140
+ "required": false,
141
+ "type": "string"
142
+ },
143
+ "style": {
144
+ "name": "style",
145
+ "required": false,
146
+ "type": "string",
147
+ "values": [
148
+ "pixel",
149
+ "vector",
150
+ "hd",
151
+ "1-bit",
152
+ "isometric"
153
+ ]
154
+ },
155
+ "thumbnailUrl": {
156
+ "name": "thumbnailUrl",
157
+ "required": false,
158
+ "type": "string"
159
+ },
160
+ "url": {
161
+ "name": "url",
162
+ "required": true,
163
+ "type": "string"
164
+ },
165
+ "variant": {
166
+ "name": "variant",
167
+ "required": false,
168
+ "type": "string"
169
+ }
170
+ },
171
+ "tier": "presentation",
172
+ "type": "DrawSkinnedMeshAsset"
173
+ },
174
+ "bones": {
175
+ "default": [
176
+ {
177
+ "name": "Name",
178
+ "parent": "Parent",
179
+ "pivot": [
180
+ 1.0,
181
+ 2.0
182
+ ],
183
+ "tip": [
184
+ 1.0,
185
+ 2.0
186
+ ]
187
+ },
188
+ {
189
+ "name": "Name 2",
190
+ "parent": "Parent 2",
191
+ "pivot": [
192
+ 1.0,
193
+ 2.0
194
+ ],
195
+ "tip": [
196
+ 1.0,
197
+ 2.0
198
+ ]
199
+ }
200
+ ],
201
+ "description": "The skeleton (bind pose; FK chain via `parent` names). Falls back to the rigbundle's `bones` when empty.",
202
+ "items": {
203
+ "properties": {
204
+ "name": {
205
+ "name": "name",
206
+ "required": true,
207
+ "type": "string"
208
+ },
209
+ "parent": {
210
+ "name": "parent",
211
+ "required": true,
212
+ "type": "string"
213
+ },
214
+ "pivot": {
215
+ "items": {
216
+ "type": "number"
217
+ },
218
+ "name": "pivot",
219
+ "required": true,
220
+ "type": "array"
221
+ },
222
+ "tip": {
223
+ "items": {
224
+ "type": "number"
225
+ },
226
+ "name": "tip",
227
+ "required": true,
228
+ "type": "array"
229
+ }
230
+ },
231
+ "type": "object"
232
+ },
233
+ "label": "Bones",
234
+ "tier": "presentation",
235
+ "type": "[DrawSkinnedMeshBonesItem]"
236
+ },
237
+ "clip": {
238
+ "description": "Pose animation clip; with `frame`, pose = `frames[frame % frames.length]`.",
239
+ "label": "Clip",
240
+ "properties": {
241
+ "frames": {
242
+ "items": {
243
+ "items": {
244
+ "type": "number"
245
+ },
246
+ "type": "object"
247
+ },
248
+ "name": "frames",
249
+ "required": true,
250
+ "type": "array"
251
+ }
252
+ },
253
+ "tier": "presentation",
254
+ "type": "DrawSkinnedMeshClip"
255
+ },
256
+ "clipName": {
257
+ "description": "Named clip inside the rigbundle at `meshUrl` (`clips[clipName].frames`); used when `clip` is absent. Empty/unknown = no clip.",
258
+ "label": "Clip Name",
259
+ "tier": "presentation",
260
+ "type": "string"
261
+ },
262
+ "frame": {
263
+ "description": "Clip frame counter (host-driven paint clock frame).",
264
+ "label": "Frame",
265
+ "tier": "presentation",
266
+ "type": "number"
267
+ },
268
+ "ghost": {
269
+ "description": "Onion skin: render the mesh at this clip frame underneath, at this opacity.",
270
+ "label": "Ghost",
271
+ "properties": {
272
+ "frame": {
273
+ "name": "frame",
274
+ "required": true,
275
+ "type": "number"
276
+ },
277
+ "opacity": {
278
+ "name": "opacity",
279
+ "required": true,
280
+ "type": "number"
281
+ }
282
+ },
283
+ "tier": "presentation",
284
+ "type": "DrawSkinnedMeshGhost"
285
+ },
286
+ "mesh": {
287
+ "description": "Inline bind mesh; wins over `meshUrl`.",
288
+ "label": "Mesh",
289
+ "properties": {
290
+ "triangles": {
291
+ "items": {
292
+ "items": {
293
+ "type": "number"
294
+ },
295
+ "type": "array"
296
+ },
297
+ "name": "triangles",
298
+ "required": true,
299
+ "type": "array"
300
+ },
301
+ "vertices": {
302
+ "items": {
303
+ "properties": {
304
+ "u": {
305
+ "name": "u",
306
+ "required": true,
307
+ "type": "number"
308
+ },
309
+ "v": {
310
+ "name": "v",
311
+ "required": true,
312
+ "type": "number"
313
+ },
314
+ "weights": {
315
+ "items": {
316
+ "properties": {
317
+ "bone": {
318
+ "name": "bone",
319
+ "required": true,
320
+ "type": "number"
321
+ },
322
+ "w": {
323
+ "name": "w",
324
+ "required": true,
325
+ "type": "number"
326
+ }
327
+ },
328
+ "type": "object"
329
+ },
330
+ "name": "weights",
331
+ "required": true,
332
+ "type": "array"
333
+ },
334
+ "x": {
335
+ "name": "x",
336
+ "required": true,
337
+ "type": "number"
338
+ },
339
+ "y": {
340
+ "name": "y",
341
+ "required": true,
342
+ "type": "number"
343
+ }
344
+ },
345
+ "type": "object"
346
+ },
347
+ "name": "vertices",
348
+ "required": true,
349
+ "type": "array"
350
+ }
351
+ },
352
+ "tier": "presentation",
353
+ "type": "DrawSkinnedMeshMesh"
354
+ },
355
+ "meshUrl": {
356
+ "description": "URL of a JSON `SkinMesh` (fetched + cached); used when `mesh` is absent.",
357
+ "label": "Mesh Url",
358
+ "tier": "presentation",
359
+ "type": "string"
360
+ },
361
+ "opacity": {
362
+ "description": "0..1 opacity.",
363
+ "label": "Opacity",
364
+ "tier": "presentation",
365
+ "type": "number"
366
+ },
367
+ "pose": {
368
+ "default": {
369
+ "item": 1.0
370
+ },
371
+ "description": "Static pose (bone name → degrees relative to bind). Overridden by `clip` + `frame`.",
372
+ "items": {
373
+ "type": "number"
374
+ },
375
+ "label": "Pose",
376
+ "tier": "presentation",
377
+ "type": "Map<string,number>"
378
+ },
379
+ "position": {
380
+ "default": {
381
+ "x": 1.0,
382
+ "y": 1.0,
383
+ "z": 1.0
384
+ },
385
+ "description": "Logical scene position; mesh local coords are world units relative to its projected top-left.",
386
+ "label": "Position",
387
+ "properties": {
388
+ "x": {
389
+ "name": "x",
390
+ "required": true,
391
+ "type": "number"
392
+ },
393
+ "y": {
394
+ "name": "y",
395
+ "required": true,
396
+ "type": "number"
397
+ },
398
+ "z": {
399
+ "name": "z",
400
+ "required": false,
401
+ "type": "number"
402
+ }
403
+ },
404
+ "tier": "presentation",
405
+ "type": "DrawSkinnedMeshPosition"
406
+ },
407
+ "weightsOverlay": {
408
+ "description": "Paint per-triangle dominant-bone colors instead of the texture (rig inspection).",
409
+ "label": "Weights Overlay",
410
+ "tier": "presentation",
411
+ "type": "boolean"
412
+ }
413
+ },
414
+ "effectRow": [
415
+ {
416
+ "kind": "render-ui",
417
+ "resource": "main"
418
+ }
419
+ ],
420
+ "entityContract": {
421
+ "provides": [],
422
+ "requires": []
423
+ },
424
+ "entityRebindable": true,
425
+ "entityRefIds": {
426
+ "DrawSkinnedMeshItem": "ent_01M2588YN3SJQ43YMGR99EG2WJ"
427
+ },
428
+ "id": "trt_01M2588YN3VK31Q6BRRDYMD5VQ",
429
+ "linkedEntity": "DrawSkinnedMeshItem",
430
+ "linkedEntityId": "ent_01M2588YN3SJQ43YMGR99EG2WJ",
431
+ "name": "DrawSkinnedMeshRender",
432
+ "scope": "instance",
433
+ "stateMachine": {
434
+ "events": [
435
+ {
436
+ "id": "evt_01M2588YN32G1WRQJ0GKMNAZZZ",
437
+ "key": "INIT",
438
+ "name": "Initialize"
439
+ }
440
+ ],
441
+ "states": [
442
+ {
443
+ "isInitial": true,
444
+ "name": "idle"
445
+ }
446
+ ],
447
+ "transitions": [
448
+ {
449
+ "effects": [
450
+ [
451
+ "render-ui",
452
+ "main",
453
+ {
454
+ "asset": "@config.asset",
455
+ "bones": "@config.bones",
456
+ "clip": "@config.clip",
457
+ "clipName": "@config.clipName",
458
+ "frame": "@config.frame",
459
+ "ghost": "@config.ghost",
460
+ "mesh": "@config.mesh",
461
+ "meshUrl": "@config.meshUrl",
462
+ "opacity": "@config.opacity",
463
+ "pose": "@config.pose",
464
+ "position": "@config.position",
465
+ "type": "draw-skinned-mesh",
466
+ "weightsOverlay": "@config.weightsOverlay"
467
+ }
468
+ ]
469
+ ],
470
+ "event": "INIT",
471
+ "eventId": "evt_01M2588YN32G1WRQJ0GKMNAZZZ",
472
+ "from": "idle",
473
+ "to": "idle"
474
+ }
475
+ ]
476
+ }
477
+ }
478
+ ],
479
+ "types": {
480
+ "DrawSkinnedMeshAsset": [
481
+ {
482
+ "name": "url",
483
+ "required": true,
484
+ "type": "asset"
485
+ },
486
+ {
487
+ "name": "role",
488
+ "required": true,
489
+ "type": "string"
490
+ },
491
+ {
492
+ "name": "category",
493
+ "required": true,
494
+ "type": "string"
495
+ },
496
+ {
497
+ "name": "animations",
498
+ "type": "[string]"
499
+ },
500
+ {
501
+ "name": "style",
502
+ "type": "string"
503
+ },
504
+ {
505
+ "name": "variant",
506
+ "type": "string"
507
+ },
508
+ {
509
+ "name": "dimension",
510
+ "type": "string"
511
+ },
512
+ {
513
+ "name": "aspect",
514
+ "type": "string"
515
+ },
516
+ {
517
+ "name": "atlas",
518
+ "type": "asset"
519
+ },
520
+ {
521
+ "name": "sprite",
522
+ "type": "string"
523
+ },
524
+ {
525
+ "name": "name",
526
+ "type": "string"
527
+ },
528
+ {
529
+ "name": "thumbnailUrl",
530
+ "type": "string"
531
+ }
532
+ ],
533
+ "DrawSkinnedMeshBonesItem": [
534
+ {
535
+ "name": "name",
536
+ "required": true,
537
+ "type": "string"
538
+ },
539
+ {
540
+ "name": "parent",
541
+ "required": true,
542
+ "type": "string"
543
+ },
544
+ {
545
+ "name": "pivot",
546
+ "required": true,
547
+ "type": "[number]"
548
+ },
549
+ {
550
+ "name": "tip",
551
+ "required": true,
552
+ "type": "[number]"
553
+ }
554
+ ],
555
+ "DrawSkinnedMeshClip": [
556
+ {
557
+ "name": "frames",
558
+ "required": true,
559
+ "type": "[Map<string,number>]"
560
+ }
561
+ ],
562
+ "DrawSkinnedMeshGhost": [
563
+ {
564
+ "name": "frame",
565
+ "required": true,
566
+ "type": "number"
567
+ },
568
+ {
569
+ "name": "opacity",
570
+ "required": true,
571
+ "type": "number"
572
+ }
573
+ ],
574
+ "DrawSkinnedMeshMesh": [
575
+ {
576
+ "name": "vertices",
577
+ "properties": [
578
+ {
579
+ "name": "x",
580
+ "required": true,
581
+ "type": "number"
582
+ },
583
+ {
584
+ "name": "y",
585
+ "required": true,
586
+ "type": "number"
587
+ },
588
+ {
589
+ "name": "u",
590
+ "required": true,
591
+ "type": "number"
592
+ },
593
+ {
594
+ "name": "v",
595
+ "required": true,
596
+ "type": "number"
597
+ },
598
+ {
599
+ "name": "weights",
600
+ "properties": [
601
+ {
602
+ "name": "bone",
603
+ "required": true,
604
+ "type": "number"
605
+ },
606
+ {
607
+ "name": "w",
608
+ "required": true,
609
+ "type": "number"
610
+ }
611
+ ],
612
+ "required": true,
613
+ "type": "[object]"
614
+ }
615
+ ],
616
+ "required": true,
617
+ "type": "[object]"
618
+ },
619
+ {
620
+ "name": "triangles",
621
+ "required": true,
622
+ "type": "[[number]]"
623
+ }
624
+ ],
625
+ "DrawSkinnedMeshMeshVerticesItem": [
626
+ {
627
+ "name": "x",
628
+ "required": true,
629
+ "type": "number"
630
+ },
631
+ {
632
+ "name": "y",
633
+ "required": true,
634
+ "type": "number"
635
+ },
636
+ {
637
+ "name": "u",
638
+ "required": true,
639
+ "type": "number"
640
+ },
641
+ {
642
+ "name": "v",
643
+ "required": true,
644
+ "type": "number"
645
+ },
646
+ {
647
+ "name": "weights",
648
+ "properties": [
649
+ {
650
+ "name": "bone",
651
+ "required": true,
652
+ "type": "number"
653
+ },
654
+ {
655
+ "name": "w",
656
+ "required": true,
657
+ "type": "number"
658
+ }
659
+ ],
660
+ "required": true,
661
+ "type": "[object]"
662
+ }
663
+ ],
664
+ "DrawSkinnedMeshMeshVerticesItemWeightsItem": [
665
+ {
666
+ "name": "bone",
667
+ "required": true,
668
+ "type": "number"
669
+ },
670
+ {
671
+ "name": "w",
672
+ "required": true,
673
+ "type": "number"
674
+ }
675
+ ],
676
+ "DrawSkinnedMeshPosition": [
677
+ {
678
+ "name": "x",
679
+ "required": true,
680
+ "type": "number"
681
+ },
682
+ {
683
+ "name": "y",
684
+ "required": true,
685
+ "type": "number"
686
+ },
687
+ {
688
+ "name": "z",
689
+ "type": "number"
690
+ }
691
+ ]
692
+ }
693
+ }
694
+ ],
695
+ "schemaVersion": 1,
696
+ "version": "1.0.0"
697
+ }