@almadar/std 16.235.0 → 16.237.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/behaviors-registry.json +5621 -1993
- package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +32 -41
- package/behaviors/lolo/infra/atoms/std-audit-capture.lolo +0 -5
- package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +0 -24
- package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +1 -17
- package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +17 -24
- package/behaviors/lolo/infra/atoms/std-data-import.lolo +8 -11
- package/behaviors/lolo/infra/atoms/std-game-clock.lolo +2 -0
- package/behaviors/lolo/infra/atoms/std-knowledge-loop.lolo +0 -5
- package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +3 -1
- package/behaviors/lolo/infra/atoms/std-migration-job.lolo +2 -2
- package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +40 -18
- package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +25 -11
- package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +0 -5
- package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +28 -11
- package/behaviors/lolo/infra/atoms/std-rate-limiter.lolo +84 -22
- package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -6
- package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +3 -1
- package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +0 -4
- package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +0 -4
- package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +12 -0
- package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +55 -9
- package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +6 -2
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +19 -14
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +77 -27
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +76 -33
- package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +7 -3
- package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +25 -13
- package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +5 -0
- package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +32 -5
- package/behaviors/lolo/ui/core/atoms/std-export.lolo +0 -10
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +15 -4
- package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -6
- package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +8 -1
- package/behaviors/lolo/ui/core/atoms/std-geosearch.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +20 -4
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-import.lolo +0 -5
- package/behaviors/lolo/ui/core/atoms/std-list.lolo +53 -32
- package/behaviors/lolo/ui/core/atoms/std-modal-editor.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +24 -0
- package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +12 -13
- package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +29 -13
- package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +14 -1
- package/behaviors/lolo/ui/core/atoms/std-role-gate.lolo +39 -0
- package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +84 -16
- package/behaviors/lolo/ui/core/atoms/std-selection.lolo +22 -10
- package/behaviors/lolo/ui/core/atoms/std-stats.lolo +5 -5
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +3 -0
- package/behaviors/lolo/ui/core/atoms/std-thread.lolo +41 -73
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +27 -12
- package/behaviors/lolo/ui/core/atoms/std-vote.lolo +0 -4
- package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +21 -0
- package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +36 -0
- package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +5 -0
- package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +5 -0
- package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +11 -1
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +13 -8
- package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +11 -6
- package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +8 -0
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +60 -5
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +47 -3
- package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +31 -9
- package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +8 -3
- package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +13 -0
- package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-feature-card.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +9 -1
- package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +3 -2
- package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +7 -1
- package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +6 -1
- package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +5 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +11 -1
- package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +44 -15
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +57 -5
- package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +8 -2
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +87 -16
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +37 -10
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +46 -8
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +36 -10
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +57 -10
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +57 -10
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +22 -3
- package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +6 -0
- package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +12 -0
- package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +38 -5
- package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +1 -1
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +3 -45
- package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +7 -2
- package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +2 -37
- package/behaviors/lolo/ui/game/.hand-authored.json +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +9 -3
- package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +1 -1
- package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +2 -2
- package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +0 -4
- package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +2 -66
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +0 -4
- package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +0 -4
- package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +6 -6
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +194 -67
- package/behaviors/registry/infra/atoms/std-audit-capture.orb +0 -8
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +0 -84
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -44
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +124 -55
- package/behaviors/registry/infra/atoms/std-data-import.orb +12 -11
- package/behaviors/registry/infra/atoms/std-game-clock.orb +31 -0
- package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +0 -57
- package/behaviors/registry/infra/atoms/std-lifecycle.orb +43 -0
- package/behaviors/registry/infra/atoms/std-migration-job.orb +26 -1
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +379 -103
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +135 -12
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +0 -11
- package/behaviors/registry/infra/atoms/std-permission-matrix.orb +137 -12
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +287 -72
- package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +5 -8
- package/behaviors/registry/ml/atoms/std-graph-builder.orb +11 -0
- package/behaviors/registry/ml/atoms/std-ml-classify.orb +0 -7
- package/behaviors/registry/ml/atoms/std-ml-similarity.orb +0 -7
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +82 -0
- package/behaviors/registry/ui/core/atoms/std-app-layout.orb +417 -9
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +53 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +209 -19
- package/behaviors/registry/ui/core/atoms/std-board.orb +242 -61
- package/behaviors/registry/ui/core/atoms/std-browse.orb +499 -49
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +96 -2
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +122 -15
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +11 -0
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +42 -6
- package/behaviors/registry/ui/core/atoms/std-export.orb +0 -16
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +121 -3
- package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -43
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +25 -1
- package/behaviors/registry/ui/core/atoms/std-geosearch.orb +5 -0
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +173 -66
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +4 -0
- package/behaviors/registry/ui/core/atoms/std-import.orb +0 -8
- package/behaviors/registry/ui/core/atoms/std-list.orb +237 -34
- package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +10 -1
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +24 -0
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +37 -19
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +275 -14
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +93 -4
- package/behaviors/registry/ui/core/atoms/std-role-gate.orb +217 -0
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +473 -19
- package/behaviors/registry/ui/core/atoms/std-selection.orb +179 -10
- package/behaviors/registry/ui/core/atoms/std-stats.orb +73 -1
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +3 -0
- package/behaviors/registry/ui/core/atoms/std-thread.orb +190 -115
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +138 -14
- package/behaviors/registry/ui/core/atoms/std-vote.orb +0 -9
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +33 -3
- package/behaviors/registry/ui/core/atoms/ui-presence.orb +59 -0
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +132 -0
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +7 -0
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +7 -0
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-chart.orb +68 -1
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +291 -8
- package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +89 -6
- package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +3 -2
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +32 -0
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +297 -5
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +261 -3
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -3
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +93 -24
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +121 -3
- package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +40 -0
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +0 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +0 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-gantt.orb +28 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +9 -2
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-menu.orb +74 -1
- package/behaviors/registry/ui/core/molecules/ui-meter.orb +53 -1
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +8 -0
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +60 -1
- package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +393 -23
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +337 -5
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +99 -2
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +415 -33
- package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +340 -29
- package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +296 -20
- package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +489 -9
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +132 -13
- package/behaviors/registry/ui/core/organisms/ui-form.orb +132 -13
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +141 -3
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +58 -0
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +82 -0
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +159 -8
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +0 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -173
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +53 -2
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -116
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -2
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +100 -3
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +0 -1
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +10 -0
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +0 -7
- package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -807
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +0 -7
- package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +0 -7
- package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +6 -0
- package/canonical-operators.json +18 -1
- package/dist/behaviors/exports-reader.js +8942 -3946
- package/dist/behaviors/functions/index.d.ts +419 -132
- package/dist/behaviors/functions/index.js +8931 -3946
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +8943 -3947
- package/dist/behaviors/query.js +8942 -3946
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +49 -41
- package/dist/behaviors-registry.json +5621 -1993
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8960 -3947
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +774 -374
- package/dist/modules/anim.d.ts +1 -1
- package/dist/modules/array.d.ts +1 -1
- package/dist/modules/array.js +15 -0
- package/dist/modules/async.d.ts +1 -1
- package/dist/modules/behavior.d.ts +1 -1
- package/dist/modules/browser.d.ts +1 -1
- package/dist/modules/composition.d.ts +1 -1
- package/dist/modules/contract.d.ts +1 -1
- package/dist/modules/core.d.ts +1 -1
- package/dist/modules/core.js +2 -0
- package/dist/modules/data.d.ts +1 -1
- package/dist/modules/ease.d.ts +1 -1
- package/dist/modules/format.d.ts +1 -1
- package/dist/modules/geo.d.ts +1 -1
- package/dist/modules/graph.d.ts +1 -1
- package/dist/modules/grid.d.ts +1 -1
- package/dist/modules/index.d.ts +1 -1
- package/dist/modules/index.js +17 -0
- package/dist/modules/integration.d.ts +1 -1
- package/dist/modules/json.d.ts +1 -1
- package/dist/modules/llm.d.ts +1 -1
- package/dist/modules/math.d.ts +1 -1
- package/dist/modules/memory.d.ts +1 -1
- package/dist/modules/nn.d.ts +1 -1
- package/dist/modules/noise.d.ts +1 -1
- package/dist/modules/object.d.ts +1 -1
- package/dist/modules/os.d.ts +1 -1
- package/dist/modules/path.d.ts +1 -1
- package/dist/modules/prob.d.ts +1 -1
- package/dist/modules/session.d.ts +1 -1
- package/dist/modules/str.d.ts +1 -1
- package/dist/modules/tensor.d.ts +1 -1
- package/dist/modules/time.d.ts +1 -1
- package/dist/modules/trace.d.ts +1 -1
- package/dist/modules/train.d.ts +1 -1
- package/dist/modules/validate.d.ts +1 -1
- package/dist/modules/vector.d.ts +1 -1
- package/dist/modules/workspace.d.ts +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/dist/registry.d.ts +2 -2
- package/dist/registry.js +17 -0
- package/dist/{types-Ggla7OK7.d.ts → types-DLx38UFZ.d.ts} +23 -3
- package/package.json +3 -3
|
@@ -23,6 +23,7 @@ orbital MediaGalleryOrbital {
|
|
|
23
23
|
event : event
|
|
24
24
|
navigatesTo : string
|
|
25
25
|
variant : "primary" | "secondary" | "ghost"
|
|
26
|
+
roles : [string]
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
entity MediaGalleryItem [runtime] {
|
|
@@ -55,8 +56,10 @@ orbital MediaGalleryOrbital {
|
|
|
55
56
|
selectedItems: @config.selectedItems
|
|
56
57
|
selectionEvent: @config.selectionEvent
|
|
57
58
|
showUpload: @config.showUpload
|
|
58
|
-
actions: @config.actions
|
|
59
|
+
actions: (array/filter @config.actions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
59
60
|
aspectRatio: @config.aspectRatio
|
|
61
|
+
srcField: @config.srcField
|
|
62
|
+
captionField: @config.captionField
|
|
60
63
|
type: media-gallery
|
|
61
64
|
})
|
|
62
65
|
INIT -> idle when (not @config.selfFetch)
|
|
@@ -80,8 +83,10 @@ orbital MediaGalleryOrbital {
|
|
|
80
83
|
selectedItems: @config.selectedItems
|
|
81
84
|
selectionEvent: @config.selectionEvent
|
|
82
85
|
showUpload: @config.showUpload
|
|
83
|
-
actions: @config.actions
|
|
86
|
+
actions: (array/filter @config.actions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
84
87
|
aspectRatio: @config.aspectRatio
|
|
88
|
+
srcField: @config.srcField
|
|
89
|
+
captionField: @config.captionField
|
|
85
90
|
type: media-gallery
|
|
86
91
|
})
|
|
87
92
|
MediaGalleryLoaded -> idle
|
|
@@ -105,8 +110,10 @@ orbital MediaGalleryOrbital {
|
|
|
105
110
|
selectedItems: @config.selectedItems
|
|
106
111
|
selectionEvent: @config.selectionEvent
|
|
107
112
|
showUpload: @config.showUpload
|
|
108
|
-
actions: @config.actions
|
|
113
|
+
actions: (array/filter @config.actions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
109
114
|
aspectRatio: @config.aspectRatio
|
|
115
|
+
srcField: @config.srcField
|
|
116
|
+
captionField: @config.captionField
|
|
110
117
|
type: media-gallery
|
|
111
118
|
})
|
|
112
119
|
}
|
|
@@ -205,6 +212,18 @@ orbital MediaGalleryOrbital {
|
|
|
205
212
|
@label "Aspect Ratio"
|
|
206
213
|
@description "Aspect ratio for thumbnails"
|
|
207
214
|
@tier "presentation"
|
|
215
|
+
srcField : string = src
|
|
216
|
+
@label "Src Field"
|
|
217
|
+
@description "Record field holding each image's URL (entity mode). Default `src`."
|
|
218
|
+
@tier "presentation"
|
|
219
|
+
captionField : string = caption
|
|
220
|
+
@label "Caption Field"
|
|
221
|
+
@description "Record field holding each image's caption (entity mode). Default `caption`."
|
|
222
|
+
@tier "presentation"
|
|
223
|
+
viewerRole : string = ""
|
|
224
|
+
@label "Viewer's role"
|
|
225
|
+
@description "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show."
|
|
226
|
+
@tier "policy"
|
|
208
227
|
selfFetch : boolean = true
|
|
209
228
|
@label "Fetch its own rows on mount?"
|
|
210
229
|
@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."
|
|
@@ -20,6 +20,12 @@ orbital StatCardOrbital {
|
|
|
20
20
|
value : string
|
|
21
21
|
icon : icon
|
|
22
22
|
format : string
|
|
23
|
+
aggregate : "count" | "sum"
|
|
24
|
+
filter : StatCardMetricsItemFilter
|
|
25
|
+
}
|
|
26
|
+
type StatCardMetricsItemFilter = {
|
|
27
|
+
field : string!
|
|
28
|
+
equals : string!
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
entity StatCardItem [runtime] {
|
|
@@ -33,6 +33,12 @@ orbital StateMachineViewOrbital {
|
|
|
33
33
|
code : string
|
|
34
34
|
stack : string
|
|
35
35
|
}
|
|
36
|
+
type StateMachineViewTRANSITIONCLICKTransition = {
|
|
37
|
+
index : number!
|
|
38
|
+
event : string!
|
|
39
|
+
from : string!
|
|
40
|
+
to : string!
|
|
41
|
+
}
|
|
36
42
|
|
|
37
43
|
entity StateMachineViewItem [runtime] {
|
|
38
44
|
id : string!
|
|
@@ -49,6 +55,7 @@ orbital StateMachineViewOrbital {
|
|
|
49
55
|
visitedStates: @config.visitedStates
|
|
50
56
|
stateClickEvent: @config.stateClickEvent
|
|
51
57
|
transitionClickEvent: @config.transitionClickEvent
|
|
58
|
+
onTransitionClick: @config.onTransitionClick
|
|
52
59
|
selectedState: @config.selectedState
|
|
53
60
|
pendingSourceState: @config.pendingSourceState
|
|
54
61
|
nodeShape: @config.nodeShape
|
|
@@ -74,6 +81,7 @@ orbital StateMachineViewOrbital {
|
|
|
74
81
|
event : string!
|
|
75
82
|
from : string!
|
|
76
83
|
to : string!
|
|
84
|
+
transition : StateMachineViewTRANSITIONCLICKTransition
|
|
77
85
|
}
|
|
78
86
|
@description "Emits UI:{transitionClickEvent} with { index, event, from, to } when a transition label is clicked."
|
|
79
87
|
@tier "essential"
|
|
@@ -100,6 +108,10 @@ orbital StateMachineViewOrbital {
|
|
|
100
108
|
@label "Transition Click Event"
|
|
101
109
|
@description "Emits UI:{transitionClickEvent} with { index, event, from, to } when a transition label is clicked."
|
|
102
110
|
@tier "presentation"
|
|
111
|
+
onTransitionClick : event = "TRANSITION_CLICK"
|
|
112
|
+
@label "On Transition Click"
|
|
113
|
+
@description "Direct transition-click callback, for React hosts (e.g. a canvas node)."
|
|
114
|
+
@tier "presentation"
|
|
103
115
|
selectedState : string
|
|
104
116
|
@label "Selected State"
|
|
105
117
|
@description "State picked in an editor (first click)."
|
|
@@ -23,6 +23,7 @@ orbital TimelineOrbital {
|
|
|
23
23
|
event : event
|
|
24
24
|
navigatesTo : string
|
|
25
25
|
variant : "primary" | "secondary" | "ghost"
|
|
26
|
+
roles : [string]
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
entity TimelineItem [runtime] {
|
|
@@ -43,7 +44,11 @@ orbital TimelineOrbital {
|
|
|
43
44
|
title: @config.title
|
|
44
45
|
items: @config.items
|
|
45
46
|
fields: @config.fields
|
|
46
|
-
|
|
47
|
+
titleField: @config.titleField
|
|
48
|
+
descriptionField: @config.descriptionField
|
|
49
|
+
dateField: @config.dateField
|
|
50
|
+
statusField: @config.statusField
|
|
51
|
+
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
47
52
|
look: @config.look
|
|
48
53
|
type: timeline
|
|
49
54
|
})
|
|
@@ -56,7 +61,11 @@ orbital TimelineOrbital {
|
|
|
56
61
|
title: @config.title
|
|
57
62
|
items: @config.items
|
|
58
63
|
fields: @config.fields
|
|
59
|
-
|
|
64
|
+
titleField: @config.titleField
|
|
65
|
+
descriptionField: @config.descriptionField
|
|
66
|
+
dateField: @config.dateField
|
|
67
|
+
statusField: @config.statusField
|
|
68
|
+
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
60
69
|
look: @config.look
|
|
61
70
|
type: timeline
|
|
62
71
|
})
|
|
@@ -69,7 +78,11 @@ orbital TimelineOrbital {
|
|
|
69
78
|
title: @config.title
|
|
70
79
|
items: @config.items
|
|
71
80
|
fields: @config.fields
|
|
72
|
-
|
|
81
|
+
titleField: @config.titleField
|
|
82
|
+
descriptionField: @config.descriptionField
|
|
83
|
+
dateField: @config.dateField
|
|
84
|
+
statusField: @config.statusField
|
|
85
|
+
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
73
86
|
look: @config.look
|
|
74
87
|
type: timeline
|
|
75
88
|
})
|
|
@@ -109,9 +122,25 @@ orbital TimelineOrbital {
|
|
|
109
122
|
@label "Items"
|
|
110
123
|
@description "Timeline items"
|
|
111
124
|
@tier "presentation"
|
|
112
|
-
fields : [string] = [
|
|
125
|
+
fields : [string] = []
|
|
113
126
|
@label "Fields"
|
|
114
|
-
@description "
|
|
127
|
+
@description "Entity fields the timeline draws; each slot is named by its own `*Field` prop."
|
|
128
|
+
@tier "presentation"
|
|
129
|
+
titleField : string
|
|
130
|
+
@label "Title Field"
|
|
131
|
+
@description "Entity field holding each item's title."
|
|
132
|
+
@tier "presentation"
|
|
133
|
+
descriptionField : string
|
|
134
|
+
@label "Description Field"
|
|
135
|
+
@description "Entity field holding each item's description."
|
|
136
|
+
@tier "presentation"
|
|
137
|
+
dateField : string
|
|
138
|
+
@label "Date Field"
|
|
139
|
+
@description "Entity field holding each item's date."
|
|
140
|
+
@tier "presentation"
|
|
141
|
+
statusField : string
|
|
142
|
+
@label "Status Field"
|
|
143
|
+
@description "Entity field holding each item's status (complete | active | pending | error)."
|
|
115
144
|
@tier "presentation"
|
|
116
145
|
itemActions : [TimelineItemActionsItem] = []
|
|
117
146
|
@label "Item Actions"
|
|
@@ -121,6 +150,10 @@ orbital TimelineOrbital {
|
|
|
121
150
|
@label "Look"
|
|
122
151
|
@description "Layer 2 visual treatment."
|
|
123
152
|
@tier "presentation"
|
|
153
|
+
viewerRole : string = ""
|
|
154
|
+
@label "Viewer's role"
|
|
155
|
+
@description "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show."
|
|
156
|
+
@tier "policy"
|
|
124
157
|
selfFetch : boolean = true
|
|
125
158
|
@label "Fetch its own rows on mount?"
|
|
126
159
|
@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."
|
|
@@ -2,8 +2,6 @@ app ui-counter-template "1.0.0"
|
|
|
2
2
|
"CounterTemplate — UI factory (1:1 with the @almadar/ui counter-template pattern)."
|
|
3
3
|
;; @pattern "counter-template"
|
|
4
4
|
orbital CounterTemplateOrbital {
|
|
5
|
-
type CounterTemplateLoaded = Event { data : [CounterTemplateItem] } "CounterTemplate rows finished loading; payload.data holds the collection"
|
|
6
|
-
|
|
7
5
|
entity CounterTemplateItem [runtime] {
|
|
8
6
|
id : string!
|
|
9
7
|
count : number = 1
|
|
@@ -18,24 +16,8 @@ orbital CounterTemplateOrbital {
|
|
|
18
16
|
initial: idle
|
|
19
17
|
|
|
20
18
|
state idle {
|
|
21
|
-
INIT -> idle
|
|
22
|
-
(fetch CounterTemplateItem {
|
|
23
|
-
(render-ui main {
|
|
24
|
-
entity: @entity
|
|
25
|
-
className: @config.className
|
|
26
|
-
onIncrement: @config.onIncrement
|
|
27
|
-
onDecrement: @config.onDecrement
|
|
28
|
-
onReset: @config.onReset
|
|
29
|
-
incrementEvent: @config.incrementEvent
|
|
30
|
-
decrementEvent: @config.decrementEvent
|
|
31
|
-
resetEvent: @config.resetEvent
|
|
32
|
-
title: @config.title
|
|
33
|
-
showReset: @config.showReset
|
|
34
|
-
size: @config.size
|
|
35
|
-
variant: @config.variant
|
|
36
|
-
type: counter-template
|
|
37
|
-
})
|
|
38
|
-
INIT -> idle when (not @config.selfFetch)
|
|
19
|
+
INIT -> idle
|
|
20
|
+
(fetch CounterTemplateItem {})
|
|
39
21
|
(render-ui main {
|
|
40
22
|
entity: @entity
|
|
41
23
|
className: @config.className
|
|
@@ -51,22 +33,6 @@ orbital CounterTemplateOrbital {
|
|
|
51
33
|
variant: @config.variant
|
|
52
34
|
type: counter-template
|
|
53
35
|
})
|
|
54
|
-
CounterTemplateLoaded -> idle
|
|
55
|
-
(render-ui main {
|
|
56
|
-
entity: @payload.data
|
|
57
|
-
className: @config.className
|
|
58
|
-
onIncrement: @config.onIncrement
|
|
59
|
-
onDecrement: @config.onDecrement
|
|
60
|
-
onReset: @config.onReset
|
|
61
|
-
incrementEvent: @config.incrementEvent
|
|
62
|
-
decrementEvent: @config.decrementEvent
|
|
63
|
-
resetEvent: @config.resetEvent
|
|
64
|
-
title: @config.title
|
|
65
|
-
showReset: @config.showReset
|
|
66
|
-
size: @config.size
|
|
67
|
-
variant: @config.variant
|
|
68
|
-
type: counter-template
|
|
69
|
-
})
|
|
70
36
|
}
|
|
71
37
|
|
|
72
38
|
emits {
|
|
@@ -79,10 +45,6 @@ orbital CounterTemplateOrbital {
|
|
|
79
45
|
@config.onReset -> external { }
|
|
80
46
|
@description "Called when reset is clicked"
|
|
81
47
|
@tier "essential"
|
|
82
|
-
CounterTemplateLoaded
|
|
83
|
-
@description "CounterTemplate rows finished loading; payload.data holds the collection."
|
|
84
|
-
@synonyms "loaded, fetched, retrieved"
|
|
85
|
-
@tier "essential"
|
|
86
48
|
}
|
|
87
49
|
|
|
88
50
|
config {
|
|
@@ -114,7 +76,7 @@ orbital CounterTemplateOrbital {
|
|
|
114
76
|
@label "Reset Event"
|
|
115
77
|
@description "Declarative event key — emits UI:{resetEvent} via bus on reset"
|
|
116
78
|
@tier "presentation"
|
|
117
|
-
title : string
|
|
79
|
+
title : string
|
|
118
80
|
@label "Title"
|
|
119
81
|
@description "Title displayed above the counter"
|
|
120
82
|
@tier "presentation"
|
|
@@ -130,10 +92,6 @@ orbital CounterTemplateOrbital {
|
|
|
130
92
|
@label "Variant"
|
|
131
93
|
@description "Template variant"
|
|
132
94
|
@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"
|
|
137
95
|
}
|
|
138
96
|
}
|
|
139
97
|
|
|
@@ -21,6 +21,7 @@ orbital DashboardLayoutOrbital {
|
|
|
21
21
|
navigatesTo : string
|
|
22
22
|
badge : string
|
|
23
23
|
variant : "default" | "primary" | "danger"
|
|
24
|
+
roles : [string]
|
|
24
25
|
}
|
|
25
26
|
type DashboardLayoutNotificationsItem = {
|
|
26
27
|
id : string!
|
|
@@ -48,7 +49,7 @@ orbital DashboardLayoutOrbital {
|
|
|
48
49
|
showSearch: @config.showSearch
|
|
49
50
|
searchEvent: @config.searchEvent
|
|
50
51
|
onSearchSubmit: @config.onSearchSubmit
|
|
51
|
-
topBarActions: @config.topBarActions
|
|
52
|
+
topBarActions: (array/filter @config.topBarActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
52
53
|
notifications: @config.notifications
|
|
53
54
|
notificationClickEvent: @config.notificationClickEvent
|
|
54
55
|
onNotificationClick: @config.onNotificationClick
|
|
@@ -83,7 +84,7 @@ orbital DashboardLayoutOrbital {
|
|
|
83
84
|
}
|
|
84
85
|
|
|
85
86
|
config {
|
|
86
|
-
appName : string
|
|
87
|
+
appName : string
|
|
87
88
|
@label "App Name"
|
|
88
89
|
@description "App name shown in sidebar"
|
|
89
90
|
@tier "presentation"
|
|
@@ -159,6 +160,10 @@ orbital DashboardLayoutOrbital {
|
|
|
159
160
|
@label "Children"
|
|
160
161
|
@description "Page content rendered inside the main area"
|
|
161
162
|
@tier "presentation"
|
|
163
|
+
viewerRole : string = ""
|
|
164
|
+
@label "Viewer's role"
|
|
165
|
+
@description "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show."
|
|
166
|
+
@tier "policy"
|
|
162
167
|
}
|
|
163
168
|
}
|
|
164
169
|
|
|
@@ -2,8 +2,6 @@ app ui-generic-app-template "1.0.0"
|
|
|
2
2
|
"GenericAppTemplate — UI factory (1:1 with the @almadar/ui generic-app-template pattern)."
|
|
3
3
|
;; @pattern "generic-app-template"
|
|
4
4
|
orbital GenericAppTemplateOrbital {
|
|
5
|
-
type GenericAppTemplateLoaded = Event { data : [GenericAppTemplateItem] } "GenericAppTemplate rows finished loading; payload.data holds the collection"
|
|
6
|
-
|
|
7
5
|
entity GenericAppTemplateItem [runtime] {
|
|
8
6
|
id : string!
|
|
9
7
|
}
|
|
@@ -12,19 +10,8 @@ orbital GenericAppTemplateOrbital {
|
|
|
12
10
|
initial: idle
|
|
13
11
|
|
|
14
12
|
state idle {
|
|
15
|
-
INIT -> idle
|
|
16
|
-
(fetch GenericAppTemplateItem {
|
|
17
|
-
(render-ui main {
|
|
18
|
-
entity: @entity
|
|
19
|
-
className: @config.className
|
|
20
|
-
title: @config.title
|
|
21
|
-
subtitle: @config.subtitle
|
|
22
|
-
children: @config.children
|
|
23
|
-
headerActions: @config.headerActions
|
|
24
|
-
footer: @config.footer
|
|
25
|
-
type: generic-app-template
|
|
26
|
-
})
|
|
27
|
-
INIT -> idle when (not @config.selfFetch)
|
|
13
|
+
INIT -> idle
|
|
14
|
+
(fetch GenericAppTemplateItem {})
|
|
28
15
|
(render-ui main {
|
|
29
16
|
entity: @entity
|
|
30
17
|
className: @config.className
|
|
@@ -35,24 +22,6 @@ orbital GenericAppTemplateOrbital {
|
|
|
35
22
|
footer: @config.footer
|
|
36
23
|
type: generic-app-template
|
|
37
24
|
})
|
|
38
|
-
GenericAppTemplateLoaded -> idle
|
|
39
|
-
(render-ui main {
|
|
40
|
-
entity: @payload.data
|
|
41
|
-
className: @config.className
|
|
42
|
-
title: @config.title
|
|
43
|
-
subtitle: @config.subtitle
|
|
44
|
-
children: @config.children
|
|
45
|
-
headerActions: @config.headerActions
|
|
46
|
-
footer: @config.footer
|
|
47
|
-
type: generic-app-template
|
|
48
|
-
})
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
emits {
|
|
52
|
-
GenericAppTemplateLoaded
|
|
53
|
-
@description "GenericAppTemplate rows finished loading; payload.data holds the collection."
|
|
54
|
-
@synonyms "loaded, fetched, retrieved"
|
|
55
|
-
@tier "essential"
|
|
56
25
|
}
|
|
57
26
|
|
|
58
27
|
config {
|
|
@@ -80,10 +49,6 @@ orbital GenericAppTemplateOrbital {
|
|
|
80
49
|
@label "Footer"
|
|
81
50
|
@description "Footer content"
|
|
82
51
|
@tier "presentation"
|
|
83
|
-
selfFetch : boolean = true
|
|
84
|
-
@label "Fetch its own rows on mount?"
|
|
85
|
-
@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."
|
|
86
|
-
@tier "internal"
|
|
87
52
|
}
|
|
88
53
|
}
|
|
89
54
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"game-shell": {
|
|
3
|
-
"signature": "
|
|
3
|
+
"signature": "354579dbf896ca3f",
|
|
4
4
|
"board": "packages/almadar-std/behaviors/lolo/ui/game/templates/ui-game-shell.lolo"
|
|
5
5
|
},
|
|
6
6
|
"timer-display": {
|
|
7
|
-
"signature": "
|
|
7
|
+
"signature": "97c478e49455845f",
|
|
8
8
|
"board": "packages/almadar-std/behaviors/lolo/ui/game/atoms/ui-timer-display.lolo"
|
|
9
9
|
}
|
|
10
10
|
}
|
|
@@ -39,11 +39,11 @@ orbital DialogueBubbleOrbital {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
config {
|
|
42
|
-
speaker : string
|
|
42
|
+
speaker : string
|
|
43
43
|
@label "Speaker"
|
|
44
44
|
@description "Speaker name displayed at the top"
|
|
45
45
|
@tier "presentation"
|
|
46
|
-
text : string = "
|
|
46
|
+
text : string = ""
|
|
47
47
|
@label "Text"
|
|
48
48
|
@description "Dialogue text content"
|
|
49
49
|
@tier "presentation"
|
|
@@ -10,6 +10,7 @@ orbital GameMenuOrbital {
|
|
|
10
10
|
variant : string
|
|
11
11
|
disabled : boolean
|
|
12
12
|
subLabel : string
|
|
13
|
+
roles : [string]
|
|
13
14
|
}
|
|
14
15
|
type GameMenuMenuItemsItem = {
|
|
15
16
|
id : string
|
|
@@ -19,6 +20,7 @@ orbital GameMenuOrbital {
|
|
|
19
20
|
variant : string
|
|
20
21
|
disabled : boolean
|
|
21
22
|
subLabel : string
|
|
23
|
+
roles : [string]
|
|
22
24
|
}
|
|
23
25
|
type GameMenuLogo = {
|
|
24
26
|
url : asset!
|
|
@@ -56,8 +58,8 @@ orbital GameMenuOrbital {
|
|
|
56
58
|
(render-ui main {
|
|
57
59
|
title: @config.title
|
|
58
60
|
subtitle: @config.subtitle
|
|
59
|
-
options: @config.options
|
|
60
|
-
menuItems: @config.menuItems
|
|
61
|
+
options: (array/filter @config.options (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
62
|
+
menuItems: (array/filter @config.menuItems (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
61
63
|
onSelect: @config.onSelect
|
|
62
64
|
background: @config.background
|
|
63
65
|
logo: @config.logo
|
|
@@ -75,7 +77,7 @@ orbital GameMenuOrbital {
|
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
config {
|
|
78
|
-
title : string = "
|
|
80
|
+
title : string = ""
|
|
79
81
|
@label "Title"
|
|
80
82
|
@description "Menu title"
|
|
81
83
|
@tier "presentation"
|
|
@@ -107,6 +109,10 @@ orbital GameMenuOrbital {
|
|
|
107
109
|
@label "Class Name"
|
|
108
110
|
@description "Additional CSS classes"
|
|
109
111
|
@tier "presentation"
|
|
112
|
+
viewerRole : string = ""
|
|
113
|
+
@label "Viewer's role"
|
|
114
|
+
@description "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show."
|
|
115
|
+
@tier "policy"
|
|
110
116
|
}
|
|
111
117
|
}
|
|
112
118
|
|
|
@@ -215,7 +215,7 @@ orbital ArcadeBoard3DFrameOrbital {
|
|
|
215
215
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: { x: (object/get (object/get @u position) x), y: (object/get (object/get @u position) y), z: (object/get @u z) }, offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
216
216
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: { x: (object/get (object/get @u position) x), y: (object/get (object/get @u position) y), z: (object/get @u z) }, offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
217
217
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: { x: (object/get (object/get @u position) x), y: (object/get (object/get @u position) y), z: (object/get @u z) }, offsetY: -0.85, color: "#ffffff" })) }
|
|
218
|
-
{ type: draw-fx-layer, items: @entity.fx, tickMs: 500, presets: @config.fxPresets }
|
|
218
|
+
{ type: draw-fx-layer, items: @entity.fx, tickMs: 500, presets: @config.fxPresets, sprites: (object/get @config.assetManifest effects) }
|
|
219
219
|
] } ]
|
|
220
220
|
})
|
|
221
221
|
|
|
@@ -261,7 +261,7 @@ orbital ArcadeBoard3DFrameOrbital {
|
|
|
261
261
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: { x: (object/get (object/get @u position) x), y: (object/get (object/get @u position) y), z: (object/get @u z) }, offsetY: -0.6, width: 0.8, height: 0.12, fill: "rgba(0,0,0,0.6)" })) }
|
|
262
262
|
{ type: draw-shape-layer, items: (array/map @entity.units (fn u { type: draw-shape, shape: "rect", position: { x: (object/get (object/get @u position) x), y: (object/get (object/get @u position) y), z: (object/get @u z) }, offsetY: -0.6, width: (* 0.8 (/ (object/get @u health) (object/get @u maxHealth))), height: 0.12, fill: "#22c55e" })) }
|
|
263
263
|
{ type: draw-text-layer, items: (array/map @entity.units (fn u { type: draw-text, text: (object/get @u name), position: { x: (object/get (object/get @u position) x), y: (object/get (object/get @u position) y), z: (object/get @u z) }, offsetY: -0.85, color: "#ffffff" })) }
|
|
264
|
-
{ type: draw-fx-layer, items: @entity.fx, tickMs: 500, presets: @config.fxPresets }
|
|
264
|
+
{ type: draw-fx-layer, items: @entity.fx, tickMs: 500, presets: @config.fxPresets, sprites: (object/get @config.assetManifest effects) }
|
|
265
265
|
] } ]
|
|
266
266
|
})
|
|
267
267
|
|
|
@@ -299,10 +299,6 @@ orbital CrewBoard2DOrbital {
|
|
|
299
299
|
@label "Show Minimap"
|
|
300
300
|
@description "Whether the canvas draws a minimap."
|
|
301
301
|
@tier "presentation"
|
|
302
|
-
scale : number = 1
|
|
303
|
-
@label "Scale"
|
|
304
|
-
@description "Canvas render scale."
|
|
305
|
-
@tier "presentation"
|
|
306
302
|
backgroundAsset : Asset = {}
|
|
307
303
|
@label "Background Asset"
|
|
308
304
|
@description "Game-shell background panel sprite (theme chrome)."
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app std-platformer-puzzle "1.0.0"
|
|
2
|
-
"Platformer + puzzle genre substrate organism. Composes the standard authorities — platformer-body, pickup, objective-flow, choice-gate, fx-particles, fx-narrative, tutorial-overlay —
|
|
2
|
+
"Platformer + puzzle genre substrate organism. Composes the standard authorities — platformer-body, pickup, objective-flow, choice-gate, fx-particles, fx-narrative, tutorial-overlay — as the pillars a level rebinds: agency (body), challenge (choice), goal (objective), reward (pickup), feedback (fx, narrative, tutorial). Levels rebind these authorities locally and add their own geometry, render, and math rules. Math targets and grade levels stay downstream in the domain package; this substrate is domain-agnostic."
|
|
3
3
|
|
|
4
4
|
orbital PlatformerPuzzleOrbital {
|
|
5
5
|
uses Body from "std/behaviors/std-platformer-body"
|
|
@@ -135,26 +135,6 @@ orbital PlatformerPuzzleOrbital {
|
|
|
135
135
|
body : string
|
|
136
136
|
demoId : string
|
|
137
137
|
}
|
|
138
|
-
type Asset = {
|
|
139
|
-
url : asset
|
|
140
|
-
atlas : asset
|
|
141
|
-
sprite : string
|
|
142
|
-
role : string
|
|
143
|
-
category : string
|
|
144
|
-
animations : [string]
|
|
145
|
-
style : string
|
|
146
|
-
variant : string
|
|
147
|
-
dimension : string
|
|
148
|
-
aspect : string
|
|
149
|
-
name : string
|
|
150
|
-
thumbnailUrl : string
|
|
151
|
-
}
|
|
152
|
-
type DirectionAssets = {
|
|
153
|
-
up : Asset
|
|
154
|
-
down : Asset
|
|
155
|
-
left : Asset
|
|
156
|
-
right : Asset
|
|
157
|
-
}
|
|
158
138
|
|
|
159
139
|
entity PlatformerPuzzleData [runtime, shared] {
|
|
160
140
|
id : string!
|
|
@@ -281,49 +261,5 @@ orbital PlatformerPuzzleOrbital {
|
|
|
281
261
|
}
|
|
282
262
|
}
|
|
283
263
|
|
|
284
|
-
|
|
285
|
-
initial: active
|
|
286
|
-
|
|
287
|
-
state active {
|
|
288
|
-
INIT -> active
|
|
289
|
-
(render-ui main null)
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
config {
|
|
293
|
-
agencyTrait : trait
|
|
294
|
-
@label "Agency trait"
|
|
295
|
-
@description "Trait that provides player verbs and immediate response. Usually a rebinding of std-platformer-body, std-motion-body, or std-hero-nav."
|
|
296
|
-
@tier "domain"
|
|
297
|
-
challengeTrait : trait
|
|
298
|
-
@label "Challenge trait"
|
|
299
|
-
@description "Trait that provides the obstacle, decision, or opposition. Usually a rebinding of std-choice-gate, std-gate-lock, std-patrol-hazard, std-velocity-gate, std-loop-lock, or std-pad-lock."
|
|
300
|
-
@tier "domain"
|
|
301
|
-
goalTrait : trait
|
|
302
|
-
@label "Goal trait"
|
|
303
|
-
@description "Trait that resolves the win condition. Usually a rebinding of std-objective-flow or std-objective-reach."
|
|
304
|
-
@tier "domain"
|
|
305
|
-
rewardTrait : trait
|
|
306
|
-
@label "Reward trait"
|
|
307
|
-
@description "Trait that provides collectibles or scoring. Usually a rebinding of std-pickup, std-score, std-xp, or std-gold."
|
|
308
|
-
@tier "domain"
|
|
309
|
-
feedbackTrait : trait
|
|
310
|
-
@label "Feedback trait"
|
|
311
|
-
@description "Trait that provides visual, audio, or narrative feedback. Usually a rebinding of std-fx-particles, std-fx-narrative, std-tutorial-overlay, std-audio-cue, or std-zone-card."
|
|
312
|
-
@tier "domain"
|
|
313
|
-
backgroundAsset : Asset = {}
|
|
314
|
-
@label "Background Asset"
|
|
315
|
-
@description "Game-shell background panel sprite (theme chrome)."
|
|
316
|
-
@tier "presentation"
|
|
317
|
-
hudBackgroundAsset : Asset = {}
|
|
318
|
-
@label "HUD Background Asset"
|
|
319
|
-
@description "HUD panel background sprite (theme chrome)."
|
|
320
|
-
@tier "presentation"
|
|
321
|
-
directionAssets : DirectionAssets = {}
|
|
322
|
-
@label "Direction Assets"
|
|
323
|
-
@description "D-pad direction icon sprites."
|
|
324
|
-
@tier "presentation"
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
page "/platformer-puzzle" as PlatformerPuzzlePage -> PlatformerPuzzleBody, PlatformerPuzzlePickup, PlatformerPuzzleObjective, PlatformerPuzzleChoice, PlatformerPuzzleFx, PlatformerPuzzleNarrative, PlatformerPuzzleTutorial, PlatformerPuzzle
|
|
264
|
+
page "/platformer-puzzle" as PlatformerPuzzlePage -> PlatformerPuzzleBody, PlatformerPuzzlePickup, PlatformerPuzzleObjective, PlatformerPuzzleChoice, PlatformerPuzzleFx, PlatformerPuzzleNarrative, PlatformerPuzzleTutorial
|
|
329
265
|
}
|
|
@@ -424,10 +424,6 @@ orbital TacticsBoard2DOrbital {
|
|
|
424
424
|
@label "Show Minimap"
|
|
425
425
|
@description "Whether the canvas draws a minimap."
|
|
426
426
|
@tier "presentation"
|
|
427
|
-
scale : number = 1
|
|
428
|
-
@label "Scale"
|
|
429
|
-
@description "Canvas render scale."
|
|
430
|
-
@tier "presentation"
|
|
431
427
|
backgroundAsset : Asset = {}
|
|
432
428
|
@label "Background Asset"
|
|
433
429
|
@description "Game-shell background panel sprite (theme chrome)."
|
|
@@ -288,10 +288,6 @@ orbital WorldMapBoard2DOrbital {
|
|
|
288
288
|
@label "Asset Manifest"
|
|
289
289
|
@description "Terrain/unit/feature/effect sprite manifest."
|
|
290
290
|
@tier "presentation"
|
|
291
|
-
scale : number = 0.8
|
|
292
|
-
@label "Scale"
|
|
293
|
-
@description "Canvas render scale."
|
|
294
|
-
@tier "presentation"
|
|
295
291
|
region : string = "Overworld"
|
|
296
292
|
@label "Region"
|
|
297
293
|
@description "Region name shown in the HUD."
|