@almadar/std 16.190.0 → 16.192.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.
- package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +184 -18
- package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +16 -3
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +3 -0
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +37 -4
- package/behaviors/lolo/ui/core/atoms/std-modal.lolo +20 -6
- package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +40 -3
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +176 -4
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +3 -1
- package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +25 -1
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +37 -1
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +46 -1
- package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +30 -2
- package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +14 -29
- package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +19 -1
- package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +21 -1
- package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +15 -1
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +36 -1
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +41 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +34 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +30 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +36 -1
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +39 -1
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +39 -1
- package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +24 -1
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +30 -1
- package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +37 -1
- package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +18 -1
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +21 -1
- package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +16 -1
- package/behaviors/lolo/ui/game/atoms/std-platformer-body.lolo +7 -2
- package/behaviors/lolo/ui/marketing/organisms/ui-book-chapter-view.lolo +12 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-book-table-of-contents.lolo +13 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +23 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +23 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +24 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +22 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +23 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +24 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +22 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +25 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +23 -1
- package/behaviors/lolo/ui/marketing/templates/ui-about-page-template.lolo +11 -1
- package/behaviors/lolo/ui/marketing/templates/ui-feature-detail-page-template.lolo +11 -1
- package/behaviors/lolo/ui/marketing/templates/ui-landing-page-template.lolo +13 -1
- package/behaviors/lolo/ui/marketing/templates/ui-pricing-page-template.lolo +11 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +717 -45
- package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +85 -10
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +5 -2
- package/behaviors/registry/ui/core/atoms/std-browse.orb +12 -0
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +129 -7
- package/behaviors/registry/ui/core/atoms/std-modal.orb +95 -3
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +319 -3
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +539 -1
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +5 -1
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +43 -0
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +55 -0
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +64 -0
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +106 -1
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +18 -80
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +37 -0
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +39 -0
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +45 -0
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +54 -0
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +59 -0
- package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +52 -0
- package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +48 -0
- package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -0
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +57 -0
- package/behaviors/registry/ui/core/organisms/ui-form.orb +57 -0
- package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +42 -0
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +48 -0
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +55 -0
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +36 -0
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +39 -0
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +34 -0
- package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +543 -496
- package/behaviors/registry/ui/marketing/organisms/ui-book-chapter-view.orb +30 -0
- package/behaviors/registry/ui/marketing/organisms/ui-book-table-of-contents.orb +31 -0
- package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +41 -0
- package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +41 -0
- package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +42 -0
- package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +40 -0
- package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +41 -0
- package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +42 -0
- package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +40 -0
- package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +43 -0
- package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +41 -0
- package/behaviors/registry/ui/marketing/templates/ui-about-page-template.orb +29 -0
- package/behaviors/registry/ui/marketing/templates/ui-feature-detail-page-template.orb +29 -0
- package/behaviors/registry/ui/marketing/templates/ui-landing-page-template.orb +31 -0
- package/behaviors/registry/ui/marketing/templates/ui-pricing-page-template.orb +29 -0
- package/dist/behaviors/exports-reader.js +2651 -50
- package/dist/behaviors/functions/index.d.ts +138 -19
- package/dist/behaviors/functions/index.js +2650 -51
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +2652 -51
- package/dist/behaviors/query.js +2651 -50
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +961 -929
- package/dist/behaviors-registry.json +106 -58
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2652 -51
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +3 -3
|
@@ -32,7 +32,7 @@ orbital MediaGalleryOrbital {
|
|
|
32
32
|
initial: idle
|
|
33
33
|
|
|
34
34
|
state idle {
|
|
35
|
-
INIT -> idle
|
|
35
|
+
INIT -> idle when @config.selfFetch
|
|
36
36
|
(fetch MediaGalleryItem { emit: { success: MediaGalleryLoaded } })
|
|
37
37
|
(render-ui main {
|
|
38
38
|
className: @config.className
|
|
@@ -58,6 +58,31 @@ orbital MediaGalleryOrbital {
|
|
|
58
58
|
aspectRatio: @config.aspectRatio
|
|
59
59
|
type: media-gallery
|
|
60
60
|
})
|
|
61
|
+
INIT -> idle when (not @config.selfFetch)
|
|
62
|
+
(render-ui main {
|
|
63
|
+
className: @config.className
|
|
64
|
+
isLoading: @config.isLoading
|
|
65
|
+
error: @config.error
|
|
66
|
+
sortBy: @config.sortBy
|
|
67
|
+
sortDirection: @config.sortDirection
|
|
68
|
+
searchValue: @config.searchValue
|
|
69
|
+
page: @config.pageProp
|
|
70
|
+
pageSize: @config.pageSize
|
|
71
|
+
totalCount: @config.totalCount
|
|
72
|
+
activeFilters: @config.activeFilters
|
|
73
|
+
selectedIds: @config.selectedIds
|
|
74
|
+
entity: @entity
|
|
75
|
+
title: @config.title
|
|
76
|
+
items: @config.items
|
|
77
|
+
columns: @config.columns
|
|
78
|
+
selectable: @config.selectable
|
|
79
|
+
selectedItems: @config.selectedItems
|
|
80
|
+
selectionEvent: @config.selectionEvent
|
|
81
|
+
showUpload: @config.showUpload
|
|
82
|
+
actions: @config.actions
|
|
83
|
+
aspectRatio: @config.aspectRatio
|
|
84
|
+
type: media-gallery
|
|
85
|
+
})
|
|
61
86
|
MediaGalleryLoaded -> idle
|
|
62
87
|
(render-ui main {
|
|
63
88
|
className: @config.className
|
|
@@ -179,6 +204,10 @@ orbital MediaGalleryOrbital {
|
|
|
179
204
|
@label "Aspect Ratio"
|
|
180
205
|
@description "Aspect ratio for thumbnails"
|
|
181
206
|
@tier "presentation"
|
|
207
|
+
selfFetch : boolean = true
|
|
208
|
+
@label "Fetch its own rows on mount?"
|
|
209
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
210
|
+
@tier "internal"
|
|
182
211
|
}
|
|
183
212
|
}
|
|
184
213
|
|
|
@@ -29,7 +29,7 @@ orbital StatCardOrbital {
|
|
|
29
29
|
initial: idle
|
|
30
30
|
|
|
31
31
|
state idle {
|
|
32
|
-
INIT -> idle
|
|
32
|
+
INIT -> idle when @config.selfFetch
|
|
33
33
|
(fetch StatCardItem { emit: { success: StatCardLoaded } })
|
|
34
34
|
(render-ui main {
|
|
35
35
|
className: @config.className
|
|
@@ -62,6 +62,38 @@ orbital StatCardOrbital {
|
|
|
62
62
|
sparklineData: @config.sparklineData
|
|
63
63
|
type: stat-card
|
|
64
64
|
})
|
|
65
|
+
INIT -> idle when (not @config.selfFetch)
|
|
66
|
+
(render-ui main {
|
|
67
|
+
className: @config.className
|
|
68
|
+
isLoading: @config.isLoading
|
|
69
|
+
error: @config.error
|
|
70
|
+
sortBy: @config.sortBy
|
|
71
|
+
sortDirection: @config.sortDirection
|
|
72
|
+
searchValue: @config.searchValue
|
|
73
|
+
page: @config.pageProp
|
|
74
|
+
pageSize: @config.pageSize
|
|
75
|
+
totalCount: @config.totalCount
|
|
76
|
+
activeFilters: @config.activeFilters
|
|
77
|
+
selectedIds: @config.selectedIds
|
|
78
|
+
entity: @entity
|
|
79
|
+
label: @config.label
|
|
80
|
+
title: @config.title
|
|
81
|
+
value: @config.value
|
|
82
|
+
previousValue: @config.previousValue
|
|
83
|
+
currentValue: @config.currentValue
|
|
84
|
+
trend: @config.trend
|
|
85
|
+
trendDirection: @config.trendDirection
|
|
86
|
+
invertTrend: @config.invertTrend
|
|
87
|
+
icon: @config.icon
|
|
88
|
+
iconBg: @config.iconBg
|
|
89
|
+
iconColor: @config.iconColor
|
|
90
|
+
subtitle: @config.subtitle
|
|
91
|
+
action: @config.action
|
|
92
|
+
metrics: @config.metrics
|
|
93
|
+
compact: @config.compact
|
|
94
|
+
sparklineData: @config.sparklineData
|
|
95
|
+
type: stat-card
|
|
96
|
+
})
|
|
65
97
|
StatCardLoaded -> idle
|
|
66
98
|
(render-ui main {
|
|
67
99
|
className: @config.className
|
|
@@ -213,6 +245,10 @@ orbital StatCardOrbital {
|
|
|
213
245
|
@label "Sparkline Data"
|
|
214
246
|
@description "Sparkline data points for an inline trend chart"
|
|
215
247
|
@tier "presentation"
|
|
248
|
+
selfFetch : boolean = true
|
|
249
|
+
@label "Fetch its own rows on mount?"
|
|
250
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
251
|
+
@tier "internal"
|
|
216
252
|
}
|
|
217
253
|
}
|
|
218
254
|
|
|
@@ -32,7 +32,7 @@ orbital TimelineOrbital {
|
|
|
32
32
|
initial: idle
|
|
33
33
|
|
|
34
34
|
state idle {
|
|
35
|
-
INIT -> idle
|
|
35
|
+
INIT -> idle when @config.selfFetch
|
|
36
36
|
(fetch TimelineItem { emit: { success: TimelineLoaded } })
|
|
37
37
|
(render-ui main {
|
|
38
38
|
className: @config.className
|
|
@@ -46,6 +46,19 @@ orbital TimelineOrbital {
|
|
|
46
46
|
look: @config.look
|
|
47
47
|
type: timeline
|
|
48
48
|
})
|
|
49
|
+
INIT -> idle when (not @config.selfFetch)
|
|
50
|
+
(render-ui main {
|
|
51
|
+
className: @config.className
|
|
52
|
+
isLoading: @config.isLoading
|
|
53
|
+
error: @config.error
|
|
54
|
+
entity: @entity
|
|
55
|
+
title: @config.title
|
|
56
|
+
items: @config.items
|
|
57
|
+
fields: @config.fields
|
|
58
|
+
itemActions: @config.itemActions
|
|
59
|
+
look: @config.look
|
|
60
|
+
type: timeline
|
|
61
|
+
})
|
|
49
62
|
TimelineLoaded -> idle
|
|
50
63
|
(render-ui main {
|
|
51
64
|
className: @config.className
|
|
@@ -106,6 +119,10 @@ orbital TimelineOrbital {
|
|
|
106
119
|
@label "Look"
|
|
107
120
|
@description "Layer 2 visual treatment."
|
|
108
121
|
@tier "presentation"
|
|
122
|
+
selfFetch : boolean = true
|
|
123
|
+
@label "Fetch its own rows on mount?"
|
|
124
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
125
|
+
@tier "internal"
|
|
109
126
|
}
|
|
110
127
|
}
|
|
111
128
|
|
|
@@ -17,7 +17,7 @@ orbital CounterTemplateOrbital {
|
|
|
17
17
|
initial: idle
|
|
18
18
|
|
|
19
19
|
state idle {
|
|
20
|
-
INIT -> idle
|
|
20
|
+
INIT -> idle when @config.selfFetch
|
|
21
21
|
(fetch CounterTemplateItem { emit: { success: CounterTemplateLoaded } })
|
|
22
22
|
(render-ui main {
|
|
23
23
|
entity: @entity
|
|
@@ -34,6 +34,22 @@ orbital CounterTemplateOrbital {
|
|
|
34
34
|
variant: @config.variant
|
|
35
35
|
type: counter-template
|
|
36
36
|
})
|
|
37
|
+
INIT -> idle when (not @config.selfFetch)
|
|
38
|
+
(render-ui main {
|
|
39
|
+
entity: @entity
|
|
40
|
+
className: @config.className
|
|
41
|
+
onIncrement: @config.onIncrement
|
|
42
|
+
onDecrement: @config.onDecrement
|
|
43
|
+
onReset: @config.onReset
|
|
44
|
+
incrementEvent: @config.incrementEvent
|
|
45
|
+
decrementEvent: @config.decrementEvent
|
|
46
|
+
resetEvent: @config.resetEvent
|
|
47
|
+
title: @config.title
|
|
48
|
+
showReset: @config.showReset
|
|
49
|
+
size: @config.size
|
|
50
|
+
variant: @config.variant
|
|
51
|
+
type: counter-template
|
|
52
|
+
})
|
|
37
53
|
CounterTemplateLoaded -> idle
|
|
38
54
|
(render-ui main {
|
|
39
55
|
entity: @payload.data
|
|
@@ -119,6 +135,10 @@ orbital CounterTemplateOrbital {
|
|
|
119
135
|
@label "Variant"
|
|
120
136
|
@description "Template variant"
|
|
121
137
|
@tier "presentation"
|
|
138
|
+
selfFetch : boolean = true
|
|
139
|
+
@label "Fetch its own rows on mount?"
|
|
140
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
141
|
+
@tier "internal"
|
|
122
142
|
}
|
|
123
143
|
}
|
|
124
144
|
|
|
@@ -11,7 +11,7 @@ orbital GenericAppTemplateOrbital {
|
|
|
11
11
|
initial: idle
|
|
12
12
|
|
|
13
13
|
state idle {
|
|
14
|
-
INIT -> idle
|
|
14
|
+
INIT -> idle when @config.selfFetch
|
|
15
15
|
(fetch GenericAppTemplateItem { emit: { success: GenericAppTemplateLoaded } })
|
|
16
16
|
(render-ui main {
|
|
17
17
|
entity: @entity
|
|
@@ -23,6 +23,17 @@ orbital GenericAppTemplateOrbital {
|
|
|
23
23
|
footer: @config.footer
|
|
24
24
|
type: generic-app-template
|
|
25
25
|
})
|
|
26
|
+
INIT -> idle when (not @config.selfFetch)
|
|
27
|
+
(render-ui main {
|
|
28
|
+
entity: @entity
|
|
29
|
+
className: @config.className
|
|
30
|
+
title: @config.title
|
|
31
|
+
subtitle: @config.subtitle
|
|
32
|
+
children: @config.children
|
|
33
|
+
headerActions: @config.headerActions
|
|
34
|
+
footer: @config.footer
|
|
35
|
+
type: generic-app-template
|
|
36
|
+
})
|
|
26
37
|
GenericAppTemplateLoaded -> idle
|
|
27
38
|
(render-ui main {
|
|
28
39
|
entity: @payload.data
|
|
@@ -68,6 +79,10 @@ orbital GenericAppTemplateOrbital {
|
|
|
68
79
|
@label "Footer"
|
|
69
80
|
@description "Footer content"
|
|
70
81
|
@tier "presentation"
|
|
82
|
+
selfFetch : boolean = true
|
|
83
|
+
@label "Fetch its own rows on mount?"
|
|
84
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
85
|
+
@tier "internal"
|
|
71
86
|
}
|
|
72
87
|
}
|
|
73
88
|
|
|
@@ -107,6 +107,7 @@ orbital PlatformerBodyOrbital {
|
|
|
107
107
|
(let ((rightSamp (if @inRange (array/first (array/filter @config.skateCurve (fn s (> (object/get @s x) @cx)))) { x: 1, y: 0 })))
|
|
108
108
|
(let ((slope (if @inRange (/ (- (object/get @rightSamp y) (object/get @leftSamp y)) (- (object/get @rightSamp x) (object/get @leftSamp x))) 0)))
|
|
109
109
|
(let ((curveY (if @inRange (+ (object/get @leftSamp y) (* @slope (- @cx (object/get @leftSamp x)))) 0)))
|
|
110
|
+
(let ((gapBreak (and (> @config.skateMaxGap 0) (> (- (object/get @rightSamp x) (object/get @leftSamp x)) @config.skateMaxGap))))
|
|
110
111
|
(let ((curveMod (if (and @config.curveModsEnabled @inRange) (array/find @entity.curveMods (fn m (and (>= @cx (object/get @m x0)) (<= @cx (object/get @m x1))))) null)))
|
|
111
112
|
(let ((modX (if (== @curveMod null) @cx (- @cx (object/get @curveMod h)))))
|
|
112
113
|
(let ((modInRange (and (!= @curveMod null) (and (>= @modX (object/get (array/first @config.skateCurve) x)) (< @modX (object/get (array/last @config.skateCurve) x))))))
|
|
@@ -117,7 +118,7 @@ orbital PlatformerBodyOrbital {
|
|
|
117
118
|
(let ((slope (if (== @curveMod null) @slope (* (object/get @curveMod a) @modSlope))))
|
|
118
119
|
(let ((curveY (if (== @curveMod null) @curveY (+ (* (object/get @curveMod a) @modCurveY) (object/get @curveMod k)))))
|
|
119
120
|
(let ((movingUp (< (* @vy1 @gdir) -0.01)))
|
|
120
|
-
(let ((skateNow (and @inRange (and (<= (math/abs (- @ny2 @curveY)) @config.skateSnap) (and (or @landed @entity.skating) (or @entity.body.grounded (not @movingUp)))))))
|
|
121
|
+
(let ((skateNow (and @inRange (and (not @gapBreak) (and (<= (math/abs (- @ny2 @curveY)) @config.skateSnap) (and (or @landed @entity.skating) (or @entity.body.grounded (not @movingUp))))))))
|
|
121
122
|
(let ((vx2 (if @skateNow (math/clamp (+ @entity.body.vx (* (/ (* @config.gravity @slope) (+ 1 (* @slope @slope))) 0.033)) (- 0 @config.maxFallSpeed) @config.maxFallSpeed) @entity.body.vx)))
|
|
122
123
|
(let ((vx3 (if (== @drift null) @vx2 (math/clamp (+ @vx2 (* @dax 0.033)) (- 0 @config.maxFallSpeed) @config.maxFallSpeed))))
|
|
123
124
|
(let ((fy (if @skateNow @curveY @ny2)) (fvy (if @skateNow (* (* @vx2 (math/cos (math/atan @slope))) (math/sin (math/atan @slope))) @vy2)) (fgrounded (or @landed @skateNow)))
|
|
@@ -155,7 +156,7 @@ orbital PlatformerBodyOrbital {
|
|
|
155
156
|
(set @entity.fell true)
|
|
156
157
|
(emit BODY_FELL { x: @nx, y: @fy }))
|
|
157
158
|
null)
|
|
158
|
-
(emit BODY_MOVED { x: @nx, y: @fy, vx: @entity.body.vx, vy: @fvy, grounded: @fgrounded, skating: @skateNow, speed: (math/hypot @entity.body.vx @fvy) })))))))))))))))))))))))))))))))))))))
|
|
159
|
+
(emit BODY_MOVED { x: @nx, y: @fy, vx: @entity.body.vx, vy: @fvy, grounded: @fgrounded, skating: @skateNow, speed: (math/hypot @entity.body.vx @fvy) }))))))))))))))))))))))))))))))))))))))
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
emits {
|
|
@@ -279,6 +280,10 @@ orbital PlatformerBodyOrbital {
|
|
|
279
280
|
@label "Skate Curve"
|
|
280
281
|
@description "Surface samples (x strictly increasing) the body skates when skate is on; y is the surface height for the body's MIN corner, linearly interpolated between bracketing samples — mirror the render-side curve so what you see is what you ride"
|
|
281
282
|
@tier "domain"
|
|
283
|
+
skateMaxGap : number = 0
|
|
284
|
+
@label "Skate Max Gap"
|
|
285
|
+
@description "Largest x-gap between consecutive skateCurve samples that still counts as surface. 0 = unlimited (sparse two-sample lines skate fine). Dense resampled curves with real gaps between segments (stitched worlds) MUST set this — otherwise the sampler invents a skatable chord across every gap (an invisible line above the bridge/terrain that the body snaps to and glides along)."
|
|
286
|
+
@tier "domain"
|
|
282
287
|
skateSnap : number = 0.75
|
|
283
288
|
@label "Skate Snap"
|
|
284
289
|
@description "Max vertical gap (world units) between the body's min corner and the curve surface for skating to engage or stay engaged; larger values grab earlier on landing, smaller values release sooner on bumps"
|
|
@@ -11,7 +11,7 @@ orbital BookChapterViewOrbital {
|
|
|
11
11
|
initial: idle
|
|
12
12
|
|
|
13
13
|
state idle {
|
|
14
|
-
INIT -> idle
|
|
14
|
+
INIT -> idle when @config.selfFetch
|
|
15
15
|
(fetch BookChapterViewItem { emit: { success: BookChapterViewLoaded } })
|
|
16
16
|
(render-ui main {
|
|
17
17
|
className: @config.className
|
|
@@ -19,6 +19,13 @@ orbital BookChapterViewOrbital {
|
|
|
19
19
|
direction: @config.direction
|
|
20
20
|
type: book-chapter-view
|
|
21
21
|
})
|
|
22
|
+
INIT -> idle when (not @config.selfFetch)
|
|
23
|
+
(render-ui main {
|
|
24
|
+
className: @config.className
|
|
25
|
+
chapter: @entity
|
|
26
|
+
direction: @config.direction
|
|
27
|
+
type: book-chapter-view
|
|
28
|
+
})
|
|
22
29
|
BookChapterViewLoaded -> idle
|
|
23
30
|
(render-ui main {
|
|
24
31
|
className: @config.className
|
|
@@ -44,6 +51,10 @@ orbital BookChapterViewOrbital {
|
|
|
44
51
|
@label "Direction"
|
|
45
52
|
@description "direction prop"
|
|
46
53
|
@tier "presentation"
|
|
54
|
+
selfFetch : boolean = true
|
|
55
|
+
@label "Fetch its own rows on mount?"
|
|
56
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
57
|
+
@tier "internal"
|
|
47
58
|
}
|
|
48
59
|
}
|
|
49
60
|
|
|
@@ -11,7 +11,7 @@ orbital BookTableOfContentsOrbital {
|
|
|
11
11
|
initial: idle
|
|
12
12
|
|
|
13
13
|
state idle {
|
|
14
|
-
INIT -> idle
|
|
14
|
+
INIT -> idle when @config.selfFetch
|
|
15
15
|
(fetch BookTableOfContentsItem { emit: { success: BookTableOfContentsLoaded } })
|
|
16
16
|
(render-ui main {
|
|
17
17
|
className: @config.className
|
|
@@ -20,6 +20,14 @@ orbital BookTableOfContentsOrbital {
|
|
|
20
20
|
direction: @config.direction
|
|
21
21
|
type: book-table-of-contents
|
|
22
22
|
})
|
|
23
|
+
INIT -> idle when (not @config.selfFetch)
|
|
24
|
+
(render-ui main {
|
|
25
|
+
className: @config.className
|
|
26
|
+
parts: @entity
|
|
27
|
+
currentChapterId: @config.currentChapterId
|
|
28
|
+
direction: @config.direction
|
|
29
|
+
type: book-table-of-contents
|
|
30
|
+
})
|
|
23
31
|
BookTableOfContentsLoaded -> idle
|
|
24
32
|
(render-ui main {
|
|
25
33
|
className: @config.className
|
|
@@ -50,6 +58,10 @@ orbital BookTableOfContentsOrbital {
|
|
|
50
58
|
@label "Direction"
|
|
51
59
|
@description "direction prop"
|
|
52
60
|
@tier "presentation"
|
|
61
|
+
selfFetch : boolean = true
|
|
62
|
+
@label "Fetch its own rows on mount?"
|
|
63
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
64
|
+
@tier "internal"
|
|
53
65
|
}
|
|
54
66
|
}
|
|
55
67
|
|
|
@@ -31,7 +31,7 @@ orbital BookViewerOrbital {
|
|
|
31
31
|
initial: idle
|
|
32
32
|
|
|
33
33
|
state idle {
|
|
34
|
-
INIT -> idle
|
|
34
|
+
INIT -> idle when @config.selfFetch
|
|
35
35
|
(fetch BookViewerItem { emit: { success: BookViewerLoaded } })
|
|
36
36
|
(render-ui main {
|
|
37
37
|
className: @config.className
|
|
@@ -50,6 +50,24 @@ orbital BookViewerOrbital {
|
|
|
50
50
|
fieldMap: @config.fieldMap
|
|
51
51
|
type: book-viewer
|
|
52
52
|
})
|
|
53
|
+
INIT -> idle when (not @config.selfFetch)
|
|
54
|
+
(render-ui main {
|
|
55
|
+
className: @config.className
|
|
56
|
+
isLoading: @config.isLoading
|
|
57
|
+
error: @config.error
|
|
58
|
+
sortBy: @config.sortBy
|
|
59
|
+
sortDirection: @config.sortDirection
|
|
60
|
+
searchValue: @config.searchValue
|
|
61
|
+
page: @config.pageProp
|
|
62
|
+
pageSize: @config.pageSize
|
|
63
|
+
totalCount: @config.totalCount
|
|
64
|
+
activeFilters: @config.activeFilters
|
|
65
|
+
selectedIds: @config.selectedIds
|
|
66
|
+
entity: @entity
|
|
67
|
+
initialPage: @config.initialPage
|
|
68
|
+
fieldMap: @config.fieldMap
|
|
69
|
+
type: book-viewer
|
|
70
|
+
})
|
|
53
71
|
BookViewerLoaded -> idle
|
|
54
72
|
(render-ui main {
|
|
55
73
|
className: @config.className
|
|
@@ -131,6 +149,10 @@ orbital BookViewerOrbital {
|
|
|
131
149
|
@label "Field Map"
|
|
132
150
|
@description "Field name translation map — a BookFieldMap object or locale key ('ar')"
|
|
133
151
|
@tier "presentation"
|
|
152
|
+
selfFetch : boolean = true
|
|
153
|
+
@label "Fetch its own rows on mount?"
|
|
154
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
155
|
+
@tier "internal"
|
|
134
156
|
}
|
|
135
157
|
}
|
|
136
158
|
|
|
@@ -23,7 +23,7 @@ orbital CaseStudyOrganismOrbital {
|
|
|
23
23
|
initial: idle
|
|
24
24
|
|
|
25
25
|
state idle {
|
|
26
|
-
INIT -> idle
|
|
26
|
+
INIT -> idle when @config.selfFetch
|
|
27
27
|
(fetch CaseStudyOrganismItem { emit: { success: CaseStudyOrganismLoaded } })
|
|
28
28
|
(render-ui main {
|
|
29
29
|
className: @config.className
|
|
@@ -42,6 +42,24 @@ orbital CaseStudyOrganismOrbital {
|
|
|
42
42
|
subtitle: @config.subtitle
|
|
43
43
|
type: case-study-organism
|
|
44
44
|
})
|
|
45
|
+
INIT -> idle when (not @config.selfFetch)
|
|
46
|
+
(render-ui main {
|
|
47
|
+
className: @config.className
|
|
48
|
+
isLoading: @config.isLoading
|
|
49
|
+
error: @config.error
|
|
50
|
+
sortBy: @config.sortBy
|
|
51
|
+
sortDirection: @config.sortDirection
|
|
52
|
+
searchValue: @config.searchValue
|
|
53
|
+
page: @config.pageProp
|
|
54
|
+
pageSize: @config.pageSize
|
|
55
|
+
totalCount: @config.totalCount
|
|
56
|
+
activeFilters: @config.activeFilters
|
|
57
|
+
selectedIds: @config.selectedIds
|
|
58
|
+
entity: @entity
|
|
59
|
+
heading: @config.heading
|
|
60
|
+
subtitle: @config.subtitle
|
|
61
|
+
type: case-study-organism
|
|
62
|
+
})
|
|
45
63
|
CaseStudyOrganismLoaded -> idle
|
|
46
64
|
(render-ui main {
|
|
47
65
|
className: @config.className
|
|
@@ -123,6 +141,10 @@ orbital CaseStudyOrganismOrbital {
|
|
|
123
141
|
@label "Subtitle"
|
|
124
142
|
@description "subtitle prop"
|
|
125
143
|
@tier "presentation"
|
|
144
|
+
selfFetch : boolean = true
|
|
145
|
+
@label "Fetch its own rows on mount?"
|
|
146
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
147
|
+
@tier "internal"
|
|
126
148
|
}
|
|
127
149
|
}
|
|
128
150
|
|
|
@@ -22,7 +22,7 @@ orbital FeatureGridOrganismOrbital {
|
|
|
22
22
|
initial: idle
|
|
23
23
|
|
|
24
24
|
state idle {
|
|
25
|
-
INIT -> idle
|
|
25
|
+
INIT -> idle when @config.selfFetch
|
|
26
26
|
(fetch FeatureGridOrganismItem { emit: { success: FeatureGridOrganismLoaded } })
|
|
27
27
|
(render-ui main {
|
|
28
28
|
className: @config.className
|
|
@@ -42,6 +42,25 @@ orbital FeatureGridOrganismOrbital {
|
|
|
42
42
|
subtitle: @config.subtitle
|
|
43
43
|
type: feature-grid-organism
|
|
44
44
|
})
|
|
45
|
+
INIT -> idle when (not @config.selfFetch)
|
|
46
|
+
(render-ui main {
|
|
47
|
+
className: @config.className
|
|
48
|
+
isLoading: @config.isLoading
|
|
49
|
+
error: @config.error
|
|
50
|
+
sortBy: @config.sortBy
|
|
51
|
+
sortDirection: @config.sortDirection
|
|
52
|
+
searchValue: @config.searchValue
|
|
53
|
+
page: @config.pageProp
|
|
54
|
+
pageSize: @config.pageSize
|
|
55
|
+
totalCount: @config.totalCount
|
|
56
|
+
activeFilters: @config.activeFilters
|
|
57
|
+
selectedIds: @config.selectedIds
|
|
58
|
+
entity: @entity
|
|
59
|
+
columns: @config.columns
|
|
60
|
+
heading: @config.heading
|
|
61
|
+
subtitle: @config.subtitle
|
|
62
|
+
type: feature-grid-organism
|
|
63
|
+
})
|
|
45
64
|
FeatureGridOrganismLoaded -> idle
|
|
46
65
|
(render-ui main {
|
|
47
66
|
className: @config.className
|
|
@@ -128,6 +147,10 @@ orbital FeatureGridOrganismOrbital {
|
|
|
128
147
|
@label "Subtitle"
|
|
129
148
|
@description "subtitle prop"
|
|
130
149
|
@tier "presentation"
|
|
150
|
+
selfFetch : boolean = true
|
|
151
|
+
@label "Fetch its own rows on mount?"
|
|
152
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
153
|
+
@tier "internal"
|
|
131
154
|
}
|
|
132
155
|
}
|
|
133
156
|
|
|
@@ -39,7 +39,7 @@ orbital HeroOrganismOrbital {
|
|
|
39
39
|
initial: idle
|
|
40
40
|
|
|
41
41
|
state idle {
|
|
42
|
-
INIT -> idle
|
|
42
|
+
INIT -> idle when @config.selfFetch
|
|
43
43
|
(fetch HeroOrganismItem { emit: { success: HeroOrganismLoaded } })
|
|
44
44
|
(render-ui main {
|
|
45
45
|
className: @config.className
|
|
@@ -57,6 +57,23 @@ orbital HeroOrganismOrbital {
|
|
|
57
57
|
children: @config.children
|
|
58
58
|
type: hero-organism
|
|
59
59
|
})
|
|
60
|
+
INIT -> idle when (not @config.selfFetch)
|
|
61
|
+
(render-ui main {
|
|
62
|
+
className: @config.className
|
|
63
|
+
isLoading: @config.isLoading
|
|
64
|
+
error: @config.error
|
|
65
|
+
sortBy: @config.sortBy
|
|
66
|
+
sortDirection: @config.sortDirection
|
|
67
|
+
searchValue: @config.searchValue
|
|
68
|
+
page: @config.pageProp
|
|
69
|
+
pageSize: @config.pageSize
|
|
70
|
+
totalCount: @config.totalCount
|
|
71
|
+
activeFilters: @config.activeFilters
|
|
72
|
+
selectedIds: @config.selectedIds
|
|
73
|
+
entity: @entity
|
|
74
|
+
children: @config.children
|
|
75
|
+
type: hero-organism
|
|
76
|
+
})
|
|
60
77
|
HeroOrganismLoaded -> idle
|
|
61
78
|
(render-ui main {
|
|
62
79
|
className: @config.className
|
|
@@ -133,6 +150,10 @@ orbital HeroOrganismOrbital {
|
|
|
133
150
|
@label "Children"
|
|
134
151
|
@description "children prop"
|
|
135
152
|
@tier "presentation"
|
|
153
|
+
selfFetch : boolean = true
|
|
154
|
+
@label "Fetch its own rows on mount?"
|
|
155
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
156
|
+
@tier "internal"
|
|
136
157
|
}
|
|
137
158
|
}
|
|
138
159
|
|
|
@@ -25,7 +25,7 @@ orbital PricingOrganismOrbital {
|
|
|
25
25
|
initial: idle
|
|
26
26
|
|
|
27
27
|
state idle {
|
|
28
|
-
INIT -> idle
|
|
28
|
+
INIT -> idle when @config.selfFetch
|
|
29
29
|
(fetch PricingOrganismItem { emit: { success: PricingOrganismLoaded } })
|
|
30
30
|
(render-ui main {
|
|
31
31
|
className: @config.className
|
|
@@ -44,6 +44,24 @@ orbital PricingOrganismOrbital {
|
|
|
44
44
|
subtitle: @config.subtitle
|
|
45
45
|
type: pricing-organism
|
|
46
46
|
})
|
|
47
|
+
INIT -> idle when (not @config.selfFetch)
|
|
48
|
+
(render-ui main {
|
|
49
|
+
className: @config.className
|
|
50
|
+
isLoading: @config.isLoading
|
|
51
|
+
error: @config.error
|
|
52
|
+
sortBy: @config.sortBy
|
|
53
|
+
sortDirection: @config.sortDirection
|
|
54
|
+
searchValue: @config.searchValue
|
|
55
|
+
page: @config.pageProp
|
|
56
|
+
pageSize: @config.pageSize
|
|
57
|
+
totalCount: @config.totalCount
|
|
58
|
+
activeFilters: @config.activeFilters
|
|
59
|
+
selectedIds: @config.selectedIds
|
|
60
|
+
entity: @entity
|
|
61
|
+
heading: @config.heading
|
|
62
|
+
subtitle: @config.subtitle
|
|
63
|
+
type: pricing-organism
|
|
64
|
+
})
|
|
47
65
|
PricingOrganismLoaded -> idle
|
|
48
66
|
(render-ui main {
|
|
49
67
|
className: @config.className
|
|
@@ -125,6 +143,10 @@ orbital PricingOrganismOrbital {
|
|
|
125
143
|
@label "Subtitle"
|
|
126
144
|
@description "subtitle prop"
|
|
127
145
|
@tier "presentation"
|
|
146
|
+
selfFetch : boolean = true
|
|
147
|
+
@label "Fetch its own rows on mount?"
|
|
148
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
149
|
+
@tier "internal"
|
|
128
150
|
}
|
|
129
151
|
}
|
|
130
152
|
|
|
@@ -27,7 +27,7 @@ orbital ShowcaseOrganismOrbital {
|
|
|
27
27
|
initial: idle
|
|
28
28
|
|
|
29
29
|
state idle {
|
|
30
|
-
INIT -> idle
|
|
30
|
+
INIT -> idle when @config.selfFetch
|
|
31
31
|
(fetch ShowcaseOrganismItem { emit: { success: ShowcaseOrganismLoaded } })
|
|
32
32
|
(render-ui main {
|
|
33
33
|
className: @config.className
|
|
@@ -47,6 +47,25 @@ orbital ShowcaseOrganismOrbital {
|
|
|
47
47
|
subtitle: @config.subtitle
|
|
48
48
|
type: showcase-organism
|
|
49
49
|
})
|
|
50
|
+
INIT -> idle when (not @config.selfFetch)
|
|
51
|
+
(render-ui main {
|
|
52
|
+
className: @config.className
|
|
53
|
+
isLoading: @config.isLoading
|
|
54
|
+
error: @config.error
|
|
55
|
+
sortBy: @config.sortBy
|
|
56
|
+
sortDirection: @config.sortDirection
|
|
57
|
+
searchValue: @config.searchValue
|
|
58
|
+
page: @config.pageProp
|
|
59
|
+
pageSize: @config.pageSize
|
|
60
|
+
totalCount: @config.totalCount
|
|
61
|
+
activeFilters: @config.activeFilters
|
|
62
|
+
selectedIds: @config.selectedIds
|
|
63
|
+
entity: @entity
|
|
64
|
+
columns: @config.columns
|
|
65
|
+
heading: @config.heading
|
|
66
|
+
subtitle: @config.subtitle
|
|
67
|
+
type: showcase-organism
|
|
68
|
+
})
|
|
50
69
|
ShowcaseOrganismLoaded -> idle
|
|
51
70
|
(render-ui main {
|
|
52
71
|
className: @config.className
|
|
@@ -133,6 +152,10 @@ orbital ShowcaseOrganismOrbital {
|
|
|
133
152
|
@label "Subtitle"
|
|
134
153
|
@description "subtitle prop"
|
|
135
154
|
@tier "presentation"
|
|
155
|
+
selfFetch : boolean = true
|
|
156
|
+
@label "Fetch its own rows on mount?"
|
|
157
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
158
|
+
@tier "internal"
|
|
136
159
|
}
|
|
137
160
|
}
|
|
138
161
|
|
|
@@ -19,7 +19,7 @@ orbital StatsOrganismOrbital {
|
|
|
19
19
|
initial: idle
|
|
20
20
|
|
|
21
21
|
state idle {
|
|
22
|
-
INIT -> idle
|
|
22
|
+
INIT -> idle when @config.selfFetch
|
|
23
23
|
(fetch StatsOrganismItem { emit: { success: StatsOrganismLoaded } })
|
|
24
24
|
(render-ui main {
|
|
25
25
|
className: @config.className
|
|
@@ -37,6 +37,23 @@ orbital StatsOrganismOrbital {
|
|
|
37
37
|
columns: @config.columns
|
|
38
38
|
type: stats-organism
|
|
39
39
|
})
|
|
40
|
+
INIT -> idle when (not @config.selfFetch)
|
|
41
|
+
(render-ui main {
|
|
42
|
+
className: @config.className
|
|
43
|
+
isLoading: @config.isLoading
|
|
44
|
+
error: @config.error
|
|
45
|
+
sortBy: @config.sortBy
|
|
46
|
+
sortDirection: @config.sortDirection
|
|
47
|
+
searchValue: @config.searchValue
|
|
48
|
+
page: @config.pageProp
|
|
49
|
+
pageSize: @config.pageSize
|
|
50
|
+
totalCount: @config.totalCount
|
|
51
|
+
activeFilters: @config.activeFilters
|
|
52
|
+
selectedIds: @config.selectedIds
|
|
53
|
+
entity: @entity
|
|
54
|
+
columns: @config.columns
|
|
55
|
+
type: stats-organism
|
|
56
|
+
})
|
|
40
57
|
StatsOrganismLoaded -> idle
|
|
41
58
|
(render-ui main {
|
|
42
59
|
className: @config.className
|
|
@@ -113,6 +130,10 @@ orbital StatsOrganismOrbital {
|
|
|
113
130
|
@label "Columns"
|
|
114
131
|
@description "columns prop"
|
|
115
132
|
@tier "presentation"
|
|
133
|
+
selfFetch : boolean = true
|
|
134
|
+
@label "Fetch its own rows on mount?"
|
|
135
|
+
@description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
|
|
136
|
+
@tier "internal"
|
|
116
137
|
}
|
|
117
138
|
}
|
|
118
139
|
|