@almadar/std 16.226.0 → 16.228.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 +2802 -1073
- package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +1 -0
- package/behaviors/lolo/infra/atoms/std-audit-capture.lolo +21 -5
- package/behaviors/lolo/infra/atoms/std-calendar-sync.lolo +1 -1
- package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +1 -1
- package/behaviors/lolo/infra/atoms/std-global-search.lolo +7 -5
- package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +1 -1
- package/behaviors/lolo/infra/atoms/std-notification-center.lolo +1 -1
- package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +11 -1
- package/behaviors/lolo/infra/atoms/std-reminder-scheduler.lolo +1 -1
- package/behaviors/lolo/infra/atoms/std-review-cycle.lolo +135 -0
- package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +1 -0
- package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +1 -2
- package/behaviors/lolo/ui/core/atoms/std-slide-deck.lolo +113 -0
- package/behaviors/lolo/ui/core/atoms/ui-aside.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-box.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-button.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-card.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-center.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-conditional-wrapper.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-confetti-effect.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-day-cell.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-dialog.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-divider.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-input.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-label.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-law-reference-tooltip.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-progress-bar.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-section-header.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-select.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-spacer.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-sparkline.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-spinner.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-status-dot.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-branch.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-connection.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-flow.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-lobe.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-mesh.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-morph.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-node.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-pulse.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-ring.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-shield.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-stack.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +4 -1
- package/behaviors/lolo/ui/core/atoms/ui-theme-toggle.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-trait-frame.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-trend-indicator.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +1 -0
- package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-accordion.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-activation-block.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-bloom-quiz-block.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-chart-legend.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-connection-block.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-container.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-date-range-selector.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-breadcrumb.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-pagination.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-search.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-sidebar.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-toc.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-edge-decoration.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-error-boundary.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-feature-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-flex.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-field.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-gradient-divider.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-graph-view.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-header.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-jazari-state-machine.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-line-chart.lolo +3 -1
- package/behaviors/lolo/ui/core/molecules/ui-loading-state.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-map-view.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-matrix-question.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-navigation.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-progress-dots.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-quiz-block.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-reflection-block.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-scaled-diagram.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-section.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-skeleton.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-social-proof.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-split.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-stat-display.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-tooltip.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-vote-stack.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +1 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-progress.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-code-runner-panel.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-drawer-slot.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-master-detail-layout.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-modal-slot.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-runtime-debugger.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-tabbed-container.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +1 -0
- package/behaviors/lolo/ui/core/organisms/ui-toast-slot.lolo +1 -0
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +1 -0
- package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +1 -0
- package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/std-choice-gate.lolo +3 -2
- package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-group.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-mesh.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-shape-layer.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-skinned-mesh.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-text-layer.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-audio-cue.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-state-json-view.lolo +1 -0
- package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +1 -0
- package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +30 -0
- package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +7 -0
- package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +39 -0
- package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +29 -0
- package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +30 -0
- package/behaviors/lolo/ui/game/organisms/std-platformer-board-2d.lolo +39 -0
- package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +27 -0
- package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +40 -3
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +27 -0
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +22 -0
- package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +21 -0
- package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +1 -0
- package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +1 -0
- package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +1 -0
- package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +1 -0
- package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +1 -0
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +1 -0
- package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-cta.lolo +4 -4
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-hero.lolo +4 -4
- package/behaviors/lolo/ui/marketing/atoms/ui-animated-counter.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-animated-graphic.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-animated-reveal.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-article-section.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-case-study-card.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-community-links.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-content-section.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-cta-banner.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-feature-card.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-geometric-pattern.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-hero-section.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-install-box.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-marketing-footer.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-marketing-stat-card.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-pattern-tile.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-pricing-card.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-pricing-grid.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-pull-quote.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-service-catalog.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-showcase-card.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-split-section.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-stats-grid.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-step-flow.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-tag-cloud.lolo +1 -0
- package/behaviors/lolo/ui/marketing/atoms/ui-team-card.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-book-chapter-view.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-book-cover-page.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-book-nav-bar.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-book-table-of-contents.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +1 -0
- package/behaviors/lolo/ui/marketing/templates/ui-about-page-template.lolo +1 -0
- package/behaviors/lolo/ui/marketing/templates/ui-auth-layout.lolo +1 -0
- package/behaviors/lolo/ui/marketing/templates/ui-feature-detail-page-template.lolo +1 -0
- package/behaviors/lolo/ui/marketing/templates/ui-landing-page-template.lolo +1 -0
- package/behaviors/lolo/ui/marketing/templates/ui-pricing-page-template.lolo +1 -0
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/organisms/std-agent-rabit.orb +13 -0
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/infra/atoms/std-audit-capture.orb +99 -7
- package/behaviors/registry/infra/atoms/std-calendar-sync.orb +2 -1
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +2 -1
- package/behaviors/registry/infra/atoms/std-global-search.orb +68 -3
- package/behaviors/registry/infra/atoms/std-lifecycle.orb +2 -1
- package/behaviors/registry/infra/atoms/std-notification-center.orb +2 -1
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +127 -26
- package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +2 -1
- package/behaviors/registry/infra/atoms/std-review-cycle.orb +1009 -0
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +14 -19
- package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +546 -0
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +14 -0
- package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +13 -2
- package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +17 -2
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +80 -0
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +10 -0
- package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +106 -0
- package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +72 -0
- package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +80 -0
- package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +116 -0
- package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +40 -0
- package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +131 -8
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +56 -0
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +46 -0
- package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +38 -0
- package/behaviors/registry/ui/marketing/atoms/std-marketing-cta.orb +50 -4
- package/behaviors/registry/ui/marketing/atoms/std-marketing-hero.orb +50 -4
- package/canonical-operators.json +253 -1
- package/dist/behaviors/exports-reader.js +3950 -1899
- package/dist/behaviors/functions/index.d.ts +357 -6
- package/dist/behaviors/functions/index.js +3942 -1900
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +3951 -1900
- package/dist/behaviors/query.d.ts +6 -0
- package/dist/behaviors/query.js +3950 -1899
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +23 -11
- package/dist/behaviors-registry.json +2802 -1073
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4125 -1900
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +19060 -1
- package/dist/modules/anim.d.ts +1 -1
- package/dist/modules/array.d.ts +1 -1
- package/dist/modules/async.d.ts +1 -1
- package/dist/modules/async.js +9 -0
- package/dist/modules/behavior.d.ts +1 -1
- package/dist/modules/behavior.js +6 -0
- package/dist/modules/browser.d.ts +1 -1
- package/dist/modules/browser.js +5 -0
- 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 +87 -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 +168 -0
- package/dist/modules/integration.d.ts +1 -1
- package/dist/modules/integration.js +3 -0
- package/dist/modules/json.d.ts +1 -1
- package/dist/modules/llm.d.ts +1 -1
- package/dist/modules/llm.js +5 -0
- package/dist/modules/math.d.ts +1 -1
- package/dist/modules/math.js +22 -0
- package/dist/modules/memory.d.ts +1 -1
- package/dist/modules/memory.js +1 -0
- package/dist/modules/nn.d.ts +1 -1
- package/dist/modules/nn.js +1 -0
- 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/os.js +8 -0
- package/dist/modules/path.d.ts +1 -1
- package/dist/modules/prob.d.ts +1 -1
- package/dist/modules/prob.js +2 -0
- package/dist/modules/session.d.ts +1 -1
- package/dist/modules/session.js +4 -0
- 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/trace.js +2 -0
- package/dist/modules/train.d.ts +1 -1
- package/dist/modules/train.js +8 -0
- 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/modules/workspace.js +5 -0
- package/dist/registry/factory-signatures.json +1 -1
- package/dist/registry.d.ts +6 -2
- package/dist/registry.js +175 -1
- package/dist/{types-DpbKBJu8.d.ts → types-DwAW4Nni.d.ts} +5 -1
- package/i18n/ar.json +2 -0
- package/i18n/en.json +2 -0
- package/i18n/sl.json +2 -0
- package/package.json +4 -3
|
@@ -173,6 +173,14 @@ orbital DungeonBoard2DOrbital {
|
|
|
173
173
|
{ id: "t-3-3", x: 3, y: 3, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
|
|
174
174
|
]
|
|
175
175
|
}
|
|
176
|
+
|
|
177
|
+
listens {
|
|
178
|
+
MOVE { unitId : string, x : number, y : number }
|
|
179
|
+
WANDER { tick : number }
|
|
180
|
+
RESTART { id : string }
|
|
181
|
+
DungeonIntent.MOVE -> MOVE
|
|
182
|
+
DungeonIntent.RESTART -> RESTART
|
|
183
|
+
}
|
|
176
184
|
}
|
|
177
185
|
|
|
178
186
|
trait Enemies = Combat.traits.DungeonCombat -> GameState {
|
|
@@ -187,6 +195,15 @@ orbital DungeonBoard2DOrbital {
|
|
|
187
195
|
{ id: "goblin", position: { x: 2, y: 2 }, x: 2, y: 2, z: 0, team: "enemy", health: 2, maxHealth: 2, unitType: "goblin", name: "Goblin", sprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/units/soldier/soldier.png", role: "enemy", category: "unit", animations: ["idle"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "enemy-unit", thumbnailUrl: "" } }
|
|
188
196
|
]
|
|
189
197
|
}
|
|
198
|
+
|
|
199
|
+
listens {
|
|
200
|
+
ATTACK { targetId : string }
|
|
201
|
+
MONSTER_TICK { heroX : number, heroY : number }
|
|
202
|
+
RESTART { id : string }
|
|
203
|
+
DungeonIntent.ATTACK -> ATTACK
|
|
204
|
+
DungeonIntent.MONSTER_TICK -> MONSTER_TICK
|
|
205
|
+
DungeonIntent.RESTART -> RESTART
|
|
206
|
+
}
|
|
190
207
|
}
|
|
191
208
|
|
|
192
209
|
trait Collector = Objective.traits.ObjectiveReach -> GameState {
|
|
@@ -198,14 +215,36 @@ orbital DungeonBoard2DOrbital {
|
|
|
198
215
|
reachRadius: 0
|
|
199
216
|
features: []
|
|
200
217
|
}
|
|
218
|
+
|
|
219
|
+
listens {
|
|
220
|
+
HERO_STEPPED { unitId : string, x : number, z : number, movesLeft : number }
|
|
221
|
+
RESTART { id : string }
|
|
222
|
+
DungeonIntent.RESTART -> RESTART
|
|
223
|
+
HeroAuthority.HERO_STEPPED -> HERO_STEPPED
|
|
224
|
+
}
|
|
201
225
|
}
|
|
202
226
|
|
|
203
227
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
204
228
|
config { running: true }
|
|
229
|
+
|
|
230
|
+
listens {
|
|
231
|
+
BURST { particles : [Fx] }
|
|
232
|
+
RESTART { }
|
|
233
|
+
Collector.BURST -> BURST
|
|
234
|
+
DungeonIntent.RESTART -> RESTART
|
|
235
|
+
Enemies.BURST -> BURST
|
|
236
|
+
}
|
|
205
237
|
}
|
|
206
238
|
|
|
207
239
|
trait RoundGate = Gate.traits.ObjectiveFlow -> GameState {
|
|
208
240
|
config { running: true }
|
|
241
|
+
|
|
242
|
+
listens {
|
|
243
|
+
PROGRESS { objectivesLeft : number, movesLeft : number }
|
|
244
|
+
RESTART { id : string }
|
|
245
|
+
Collector.PROGRESS -> PROGRESS
|
|
246
|
+
DungeonIntent.RESTART -> RESTART
|
|
247
|
+
}
|
|
209
248
|
}
|
|
210
249
|
|
|
211
250
|
trait DungeonIntent -> GameState [interaction, instance] {
|
|
@@ -166,6 +166,14 @@ orbital MarketBoard3DOrbital {
|
|
|
166
166
|
{ id: "t-3-3", x: 3, y: 3, z: 0, terrain: "grass", passable: true, modelUrl: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
|
|
167
167
|
]
|
|
168
168
|
}
|
|
169
|
+
|
|
170
|
+
listens {
|
|
171
|
+
MOVE { unitId : string, x : number, y : number }
|
|
172
|
+
WANDER { tick : number }
|
|
173
|
+
RESTART { id : string }
|
|
174
|
+
MarketIntent.MOVE -> MOVE
|
|
175
|
+
MarketIntent.RESTART -> RESTART
|
|
176
|
+
}
|
|
169
177
|
}
|
|
170
178
|
|
|
171
179
|
trait Patience = Svc.traits.Patience -> GameState {
|
|
@@ -176,14 +184,35 @@ orbital MarketBoard3DOrbital {
|
|
|
176
184
|
{ id: "cust-1", position: { x: 2, y: 2 }, patience: 10, maxPatience: 10, unitType: "customer", name: "Customer", team: "customer", modelUrl: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/units/soldier/soldier.png", role: "customer", category: "customer", animations: ["idle"], style: "vector", dimension: "2d", aspect: "1:1", name: "customer", thumbnailUrl: "" } }
|
|
177
185
|
]
|
|
178
186
|
}
|
|
187
|
+
|
|
188
|
+
listens {
|
|
189
|
+
HERO_STEPPED { unitId : string, x : number, z : number, movesLeft : number }
|
|
190
|
+
RESTART { id : string }
|
|
191
|
+
HeroAuthority.HERO_STEPPED -> HERO_STEPPED
|
|
192
|
+
MarketIntent.RESTART -> RESTART
|
|
193
|
+
}
|
|
179
194
|
}
|
|
180
195
|
|
|
181
196
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
182
197
|
config { running: true }
|
|
198
|
+
|
|
199
|
+
listens {
|
|
200
|
+
BURST { particles : [Fx] }
|
|
201
|
+
RESTART { }
|
|
202
|
+
MarketIntent.RESTART -> RESTART
|
|
203
|
+
Patience.BURST -> BURST
|
|
204
|
+
}
|
|
183
205
|
}
|
|
184
206
|
|
|
185
207
|
trait RoundGate = Flow.traits.MarketFlow -> GameState {
|
|
186
208
|
config { running: true, targetServed: 10, maxLost: 3 }
|
|
209
|
+
|
|
210
|
+
listens {
|
|
211
|
+
SERVICE_CHANGED { served : number, pending : number, lost : number }
|
|
212
|
+
RESTART { id : string }
|
|
213
|
+
MarketIntent.RESTART -> RESTART
|
|
214
|
+
Patience.SERVICE_CHANGED -> SERVICE_CHANGED
|
|
215
|
+
}
|
|
187
216
|
}
|
|
188
217
|
|
|
189
218
|
trait MarketIntent -> GameState [interaction, instance] {
|
|
@@ -159,6 +159,15 @@ orbital ObjectiveBoard3DOrbital {
|
|
|
159
159
|
{ id: "t-3-3", x: 3, y: 3, z: 0, terrain: "grass", passable: true, modelUrl: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
|
|
160
160
|
]
|
|
161
161
|
}
|
|
162
|
+
|
|
163
|
+
listens {
|
|
164
|
+
MOVE { unitId : string, x : number, y : number }
|
|
165
|
+
WANDER { tick : number }
|
|
166
|
+
RESTART { id : string }
|
|
167
|
+
HeroIntent.MOVE -> MOVE
|
|
168
|
+
HeroIntent.RESTART -> RESTART
|
|
169
|
+
HeroIntent.WANDER -> WANDER
|
|
170
|
+
}
|
|
162
171
|
}
|
|
163
172
|
|
|
164
173
|
trait Collector = Objective.traits.ObjectiveReach -> GameState {
|
|
@@ -168,14 +177,35 @@ orbital ObjectiveBoard3DOrbital {
|
|
|
168
177
|
pointsPerTarget: 1
|
|
169
178
|
removeOnReach: true
|
|
170
179
|
}
|
|
180
|
+
|
|
181
|
+
listens {
|
|
182
|
+
HERO_STEPPED { unitId : string, x : number, z : number, movesLeft : number }
|
|
183
|
+
RESTART { id : string }
|
|
184
|
+
HeroAuthority.HERO_STEPPED -> HERO_STEPPED
|
|
185
|
+
HeroIntent.RESTART -> RESTART
|
|
186
|
+
}
|
|
171
187
|
}
|
|
172
188
|
|
|
173
189
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
174
190
|
config { running: true }
|
|
191
|
+
|
|
192
|
+
listens {
|
|
193
|
+
BURST { particles : [Fx] }
|
|
194
|
+
RESTART { }
|
|
195
|
+
Collector.BURST -> BURST
|
|
196
|
+
HeroIntent.RESTART -> RESTART
|
|
197
|
+
}
|
|
175
198
|
}
|
|
176
199
|
|
|
177
200
|
trait RoundGate = Gate.traits.ObjectiveFlow -> GameState {
|
|
178
201
|
config { running: true }
|
|
202
|
+
|
|
203
|
+
listens {
|
|
204
|
+
PROGRESS { objectivesLeft : number, movesLeft : number }
|
|
205
|
+
RESTART { id : string }
|
|
206
|
+
Collector.PROGRESS -> PROGRESS
|
|
207
|
+
HeroIntent.RESTART -> RESTART
|
|
208
|
+
}
|
|
179
209
|
}
|
|
180
210
|
|
|
181
211
|
trait HeroIntent -> GameState [interaction, instance] {
|
|
@@ -134,14 +134,46 @@ orbital PlatformerBoard2DOrbital {
|
|
|
134
134
|
xMax: 768
|
|
135
135
|
killY: 460
|
|
136
136
|
}
|
|
137
|
+
|
|
138
|
+
listens {
|
|
139
|
+
STEER { dir : number! }
|
|
140
|
+
JUMP { id : string }
|
|
141
|
+
PLACE { x : number!, y : number! }
|
|
142
|
+
CURVE_MOD_ADD { x0 : number!, x1 : number!, a : number!, b : number, h : number!, k : number! }
|
|
143
|
+
CURVE_MOD_CLEAR { }
|
|
144
|
+
CURVE_MOD_CLEAR_RANGE { x0 : number!, x1 : number! }
|
|
145
|
+
SET_TUNING { jumpStrength : number, moveSpeed : number, gravity : number }
|
|
146
|
+
SET_PLATFORMS { platforms : [PlatformerPlatform]! }
|
|
147
|
+
SET_SKATE_CURVE { curve : [PlatformerCurveSample]! }
|
|
148
|
+
SET_DRIFT_REGIONS { regions : [BodyDriftRegion]! }
|
|
149
|
+
RESTART { id : string }
|
|
150
|
+
PlatformerIntent.PLAT_JUMP -> PLAT_JUMP
|
|
151
|
+
PlatformerIntent.PLAT_PLACE -> PLAT_PLACE
|
|
152
|
+
PlatformerIntent.PLAT_STEER -> PLAT_STEER
|
|
153
|
+
PlatformerIntent.RESTART -> RESTART
|
|
154
|
+
}
|
|
137
155
|
}
|
|
138
156
|
|
|
139
157
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
140
158
|
config { running: true }
|
|
159
|
+
|
|
160
|
+
listens {
|
|
161
|
+
BURST { particles : [Fx] }
|
|
162
|
+
RESTART { }
|
|
163
|
+
PlatformerIntent.BURST -> BURST
|
|
164
|
+
PlatformerIntent.RESTART -> RESTART
|
|
165
|
+
}
|
|
141
166
|
}
|
|
142
167
|
|
|
143
168
|
trait RoundGate = Gate.traits.ObjectiveFlow -> GameState {
|
|
144
169
|
config { running: true }
|
|
170
|
+
|
|
171
|
+
listens {
|
|
172
|
+
PROGRESS { objectivesLeft : number, movesLeft : number }
|
|
173
|
+
RESTART { id : string }
|
|
174
|
+
PlatformerIntent.PROGRESS -> PROGRESS
|
|
175
|
+
PlatformerIntent.RESTART -> RESTART
|
|
176
|
+
}
|
|
145
177
|
}
|
|
146
178
|
|
|
147
179
|
trait PlatformerIntent -> GameState [interaction, instance] {
|
|
@@ -394,6 +426,13 @@ orbital PlatformerBoard2DOrbital {
|
|
|
394
426
|
@description "D-pad direction icon sprites"
|
|
395
427
|
@tier "presentation"
|
|
396
428
|
}
|
|
429
|
+
|
|
430
|
+
listens {
|
|
431
|
+
BodyAuthority.PLAT_FELL -> PLAT_FELL
|
|
432
|
+
BodyAuthority.PLAT_GOAL -> PLAT_GOAL
|
|
433
|
+
BodyAuthority.PLAT_HAZARD -> PLAT_HAZARD
|
|
434
|
+
RoundGate.GAME_END -> GAME_END
|
|
435
|
+
}
|
|
397
436
|
}
|
|
398
437
|
|
|
399
438
|
page "/platformer-board-2d" as PlatformerBoard2DPage -> BodyAuthority, FxDecay, RoundGate, PlatformerIntent
|
|
@@ -206,6 +206,15 @@ orbital PlatformerPuzzleOrbital {
|
|
|
206
206
|
BODY_MOVED: BODY_MOVED
|
|
207
207
|
}
|
|
208
208
|
config { running: true }
|
|
209
|
+
|
|
210
|
+
listens {
|
|
211
|
+
BODY_MOVED { x : number!, y : number!, vx : number!, vy : number!, grounded : boolean!, skating : boolean!, speed : number! }
|
|
212
|
+
SET_FEATURES { features : [PickupFeature]! }
|
|
213
|
+
ADD_FEATURES { features : [PickupFeature]! }
|
|
214
|
+
FEATURES_ACTIVE { updates : [PickupActiveUpdate]! }
|
|
215
|
+
RESTART { id : string }
|
|
216
|
+
PlatformerPuzzleBody.BODY_MOVED -> BODY_MOVED
|
|
217
|
+
}
|
|
209
218
|
}
|
|
210
219
|
|
|
211
220
|
trait PlatformerPuzzleObjective = Gate.traits.ObjectiveFlow -> PlatformerPuzzleData {
|
|
@@ -221,6 +230,13 @@ orbital PlatformerPuzzleOrbital {
|
|
|
221
230
|
BODY_MOVED: BODY_MOVED
|
|
222
231
|
}
|
|
223
232
|
config { running: true }
|
|
233
|
+
|
|
234
|
+
listens {
|
|
235
|
+
BODY_MOVED { x : number!, y : number!, vx : number!, vy : number!, grounded : boolean!, skating : boolean!, speed : number! }
|
|
236
|
+
SET_GATES { gates : [ChoiceGate]! }
|
|
237
|
+
RESTART { id : string }
|
|
238
|
+
PlatformerPuzzleBody.BODY_MOVED -> BODY_MOVED
|
|
239
|
+
}
|
|
224
240
|
}
|
|
225
241
|
|
|
226
242
|
trait PlatformerPuzzleFx = Particles.traits.FxParticles -> PlatformerPuzzleData {
|
|
@@ -228,6 +244,12 @@ orbital PlatformerPuzzleOrbital {
|
|
|
228
244
|
BURST: BURST
|
|
229
245
|
}
|
|
230
246
|
config { running: true }
|
|
247
|
+
|
|
248
|
+
listens {
|
|
249
|
+
BURST { particles : [Fx] }
|
|
250
|
+
RESTART { }
|
|
251
|
+
PlatformerPuzzleNarrative.BURST -> BURST
|
|
252
|
+
}
|
|
231
253
|
}
|
|
232
254
|
|
|
233
255
|
trait PlatformerPuzzleNarrative = Narrative.traits.FxNarrative -> PlatformerPuzzleData {
|
|
@@ -244,6 +266,11 @@ orbital PlatformerPuzzleOrbital {
|
|
|
244
266
|
TUTORIAL_DONE: TUTORIAL_DONE
|
|
245
267
|
}
|
|
246
268
|
config { autoShow: false, previewTrait: @trait.PlatformerPuzzleNoopPreview }
|
|
269
|
+
|
|
270
|
+
listens {
|
|
271
|
+
SHOW { id : string }
|
|
272
|
+
PlatformerPuzzleNarrative.SHOW -> SHOW
|
|
273
|
+
}
|
|
247
274
|
}
|
|
248
275
|
|
|
249
276
|
trait PlatformerPuzzleNoopPreview -> PlatformerPuzzleData [interaction, instance] {
|
|
@@ -134,6 +134,15 @@ orbital SurvivalBoard3DOrbital {
|
|
|
134
134
|
{ id: "t-1-1", x: 1, y: 1, z: 0, terrain: "grass", passable: true, modelUrl: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", variant: "", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
|
|
135
135
|
]
|
|
136
136
|
}
|
|
137
|
+
|
|
138
|
+
listens {
|
|
139
|
+
MOVE { unitId : string, x : number, y : number }
|
|
140
|
+
WANDER { tick : number }
|
|
141
|
+
RESTART { id : string }
|
|
142
|
+
SurvivalIntent.MOVE -> MOVE
|
|
143
|
+
SurvivalIntent.RESTART -> RESTART
|
|
144
|
+
SurvivalIntent.WANDER -> WANDER
|
|
145
|
+
}
|
|
137
146
|
}
|
|
138
147
|
|
|
139
148
|
trait Gather = Harvest.traits.Gather -> GameState {
|
|
@@ -143,14 +152,37 @@ orbital SurvivalBoard3DOrbital {
|
|
|
143
152
|
stoneType: "rock"
|
|
144
153
|
yieldPerNode: 1
|
|
145
154
|
}
|
|
155
|
+
|
|
156
|
+
listens {
|
|
157
|
+
HERO_STEPPED { unitId : string, x : number, z : number, movesLeft : number }
|
|
158
|
+
RESTART { id : string }
|
|
159
|
+
HeroAuthority.HERO_STEPPED -> HERO_STEPPED
|
|
160
|
+
SurvivalIntent.RESTART -> RESTART
|
|
161
|
+
}
|
|
146
162
|
}
|
|
147
163
|
|
|
148
164
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
149
165
|
config { running: true }
|
|
166
|
+
|
|
167
|
+
listens {
|
|
168
|
+
BURST { particles : [Fx] }
|
|
169
|
+
RESTART { }
|
|
170
|
+
Gather.BURST -> BURST
|
|
171
|
+
SurvivalIntent.RESTART -> RESTART
|
|
172
|
+
}
|
|
150
173
|
}
|
|
151
174
|
|
|
152
175
|
trait Flow = Survival.traits.SurvivalFlow -> GameState {
|
|
153
176
|
config { running: true }
|
|
177
|
+
|
|
178
|
+
listens {
|
|
179
|
+
RESOURCES { wood : number, stone : number, movesLeft : number }
|
|
180
|
+
BUILD_CAMP { id : string }
|
|
181
|
+
RESTART { id : string }
|
|
182
|
+
Gather.RESOURCES -> RESOURCES
|
|
183
|
+
SurvivalIntent.BUILD_CAMP -> BUILD_CAMP
|
|
184
|
+
SurvivalIntent.RESTART -> RESTART
|
|
185
|
+
}
|
|
154
186
|
}
|
|
155
187
|
|
|
156
188
|
trait SurvivalIntent -> GameState [interaction, instance] {
|
|
@@ -163,7 +195,7 @@ orbital SurvivalBoard3DOrbital {
|
|
|
163
195
|
(set @entity.phase "observation")
|
|
164
196
|
(render-ui main {
|
|
165
197
|
type: game-shell
|
|
166
|
-
hud: { type: stack, direction: horizontal, gap: md, justify: between, children: [ { type: game-hud, stats: (array/concat [ { label: "Wood", value: @entity.wood }, { label: "Stone", value: @entity.stone }, { label: "Energy", value: @entity.movesLeft }, { label: "Result", value: @entity.result } ] @config.extraStats) }, { type: button, action:
|
|
198
|
+
hud: { type: stack, direction: horizontal, gap: md, justify: between, children: [ { type: game-hud, stats: (array/concat [ { label: "Wood", value: @entity.wood }, { label: "Stone", value: @entity.stone }, { label: "Energy", value: @entity.movesLeft }, { label: "Result", value: @entity.result } ] @config.extraStats) }, { type: button, action: BUILD_CAMP_PRESS, label: "Build Camp", variant: primary } ] }
|
|
167
199
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CANCEL, label: "Cancel", variant: secondary }, { type: button, action: PLAY_AGAIN, label: "Restart", variant: secondary } ] }
|
|
168
200
|
overlay: (if (!= @entity.result "none") { type: stack, direction: vertical, gap: md, align: center, children: [ { type: game-hud, stats: [ { label: "Result", value: @entity.result } ] }, { type: button, action: PLAY_AGAIN, label: "Play Again", variant: primary } ] } null)
|
|
169
201
|
children: [ { type: canvas, mode: "3d", camera: { mode: @config.cameraMode, zoom: @config.scale }, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, unitScale: @config.unitScale, backgroundColor: @config.bgColor, children: [
|
|
@@ -195,7 +227,7 @@ orbital SurvivalBoard3DOrbital {
|
|
|
195
227
|
(set @entity.validMoves [])
|
|
196
228
|
(set @entity.phase "observation")
|
|
197
229
|
|
|
198
|
-
|
|
230
|
+
BUILD_CAMP_PRESS -> playing when (and (== @entity.result "none") (and (>= @entity.wood @config.campWood) (>= @entity.stone @config.campStone)))
|
|
199
231
|
(emit BUILD_CAMP { id: "board" })
|
|
200
232
|
|
|
201
233
|
PLAY_AGAIN -> playing
|
|
@@ -209,7 +241,7 @@ orbital SurvivalBoard3DOrbital {
|
|
|
209
241
|
renderTick every 100ms
|
|
210
242
|
(render-ui main {
|
|
211
243
|
type: game-shell
|
|
212
|
-
hud: { type: stack, direction: horizontal, gap: md, justify: between, children: [ { type: game-hud, stats: (array/concat [ { label: "Wood", value: @entity.wood }, { label: "Stone", value: @entity.stone }, { label: "Energy", value: @entity.movesLeft }, { label: "Result", value: @entity.result } ] @config.extraStats) }, { type: button, action:
|
|
244
|
+
hud: { type: stack, direction: horizontal, gap: md, justify: between, children: [ { type: game-hud, stats: (array/concat [ { label: "Wood", value: @entity.wood }, { label: "Stone", value: @entity.stone }, { label: "Energy", value: @entity.movesLeft }, { label: "Result", value: @entity.result } ] @config.extraStats) }, { type: button, action: BUILD_CAMP_PRESS, label: "Build Camp", variant: primary } ] }
|
|
213
245
|
addons: { type: stack, direction: vertical, gap: sm, children: [ { type: button, action: CANCEL, label: "Cancel", variant: secondary }, { type: button, action: PLAY_AGAIN, label: "Restart", variant: secondary } ] }
|
|
214
246
|
overlay: (if (!= @entity.result "none") { type: stack, direction: vertical, gap: md, align: center, children: [ { type: game-hud, stats: [ { label: "Result", value: @entity.result } ] }, { type: button, action: PLAY_AGAIN, label: "Play Again", variant: primary } ] } null)
|
|
215
247
|
children: [ { type: canvas, mode: "3d", camera: { mode: @config.cameraMode, zoom: @config.scale }, tileClickEvent: TILE_CLICK, unitClickEvent: UNIT_CLICK, unitScale: @config.unitScale, backgroundColor: @config.bgColor, children: [
|
|
@@ -266,6 +298,11 @@ orbital SurvivalBoard3DOrbital {
|
|
|
266
298
|
}
|
|
267
299
|
@description "Clears the current selection"
|
|
268
300
|
@tier "domain"
|
|
301
|
+
BUILD_CAMP_PRESS -> external {
|
|
302
|
+
id : string
|
|
303
|
+
}
|
|
304
|
+
@description "Build Camp button pressed"
|
|
305
|
+
@tier "domain"
|
|
269
306
|
BUILD_CAMP -> external {
|
|
270
307
|
id : string
|
|
271
308
|
}
|
|
@@ -158,18 +158,45 @@ orbital TacticsBoard2DOrbital {
|
|
|
158
158
|
{ id: "t-1-1", x: 1, y: 1, z: 0, terrain: "grass", passable: true, terrainSprite: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
|
|
159
159
|
]
|
|
160
160
|
}
|
|
161
|
+
|
|
162
|
+
listens {
|
|
163
|
+
PlayerIntent.ATTACK -> ATTACK
|
|
164
|
+
PlayerIntent.MOVE -> MOVE
|
|
165
|
+
MOVE { unitId : string, x : number, y : number }
|
|
166
|
+
ATTACK { targetId : string }
|
|
167
|
+
AI_TURN { turn : number }
|
|
168
|
+
SPAWN { id : string, x : number, y : number, team : string, health : number, maxHealth : number, unitType : string }
|
|
169
|
+
HEAL { team : string, amount : number }
|
|
170
|
+
PlayerIntent.AI_TURN -> AI_TURN
|
|
171
|
+
}
|
|
161
172
|
}
|
|
162
173
|
|
|
163
174
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
164
175
|
config { running: true }
|
|
176
|
+
|
|
177
|
+
listens {
|
|
178
|
+
BURST { particles : [Fx] }
|
|
179
|
+
RESTART { }
|
|
180
|
+
TacticsAuthority.BURST -> BURST
|
|
181
|
+
}
|
|
165
182
|
}
|
|
166
183
|
|
|
167
184
|
trait RoundLogic = Round.traits.RoundFlow -> GameState {
|
|
168
185
|
config { running: true }
|
|
186
|
+
|
|
187
|
+
listens {
|
|
188
|
+
UNITS_CHANGED { playersAlive : number, enemiesAlive : number }
|
|
189
|
+
TacticsAuthority.UNITS_CHANGED -> UNITS_CHANGED
|
|
190
|
+
}
|
|
169
191
|
}
|
|
170
192
|
|
|
171
193
|
trait ScoreKeeper = Score.traits.ScoreKeeper -> GameState {
|
|
172
194
|
config { running: true, pointsPerKill: 10, startScore: 0, initialEnemies: 0 }
|
|
195
|
+
|
|
196
|
+
listens {
|
|
197
|
+
UNITS_CHANGED { playersAlive : number, enemiesAlive : number }
|
|
198
|
+
TacticsAuthority.UNITS_CHANGED -> UNITS_CHANGED
|
|
199
|
+
}
|
|
173
200
|
}
|
|
174
201
|
|
|
175
202
|
trait AnimClock = AnimTick.traits.AnimTick -> GameState {
|
|
@@ -164,14 +164,36 @@ orbital TacticsBoard3DOrbital {
|
|
|
164
164
|
{ id: "t-1-1", x: 1, y: 1, z: 0, terrain: "grass", passable: true, modelUrl: { url: "https://almadar-kflow-assets.web.app/shared/ui-tactics-demo-2d/default/terrain/grass/grass.png", role: "tile", category: "terrain", animations: ["static"], style: "vector", dimension: "2d", aspect: "1:1", name: "grass", thumbnailUrl: "" } }
|
|
165
165
|
]
|
|
166
166
|
}
|
|
167
|
+
|
|
168
|
+
listens {
|
|
169
|
+
MOVE { unitId : string, x : number, y : number }
|
|
170
|
+
ATTACK { targetId : string }
|
|
171
|
+
AI_TURN { turn : number }
|
|
172
|
+
SPAWN { id : string, x : number, y : number, team : string, health : number, maxHealth : number, unitType : string }
|
|
173
|
+
HEAL { team : string, amount : number }
|
|
174
|
+
PlayerIntent.AI_TURN -> AI_TURN
|
|
175
|
+
PlayerIntent.ATTACK -> ATTACK
|
|
176
|
+
PlayerIntent.MOVE -> MOVE
|
|
177
|
+
}
|
|
167
178
|
}
|
|
168
179
|
|
|
169
180
|
trait FxDecay = Particles.traits.FxParticles -> GameState {
|
|
170
181
|
config { running: true }
|
|
182
|
+
|
|
183
|
+
listens {
|
|
184
|
+
BURST { particles : [Fx] }
|
|
185
|
+
RESTART { }
|
|
186
|
+
TacticsAuthority.BURST -> BURST
|
|
187
|
+
}
|
|
171
188
|
}
|
|
172
189
|
|
|
173
190
|
trait RoundLogic = Round.traits.RoundFlow -> GameState {
|
|
174
191
|
config { running: true }
|
|
192
|
+
|
|
193
|
+
listens {
|
|
194
|
+
UNITS_CHANGED { playersAlive : number, enemiesAlive : number }
|
|
195
|
+
TacticsAuthority.UNITS_CHANGED -> UNITS_CHANGED
|
|
196
|
+
}
|
|
175
197
|
}
|
|
176
198
|
|
|
177
199
|
trait VolumetricArt = MeshArt.traits.MeshAssetArtCollector -> GameState { }
|
|
@@ -119,14 +119,35 @@ orbital WorldMapBoard2DOrbital {
|
|
|
119
119
|
]
|
|
120
120
|
tiles: []
|
|
121
121
|
}
|
|
122
|
+
|
|
123
|
+
listens {
|
|
124
|
+
MOVE { unitId : string, x : number, y : number }
|
|
125
|
+
ATTACK { targetId : string }
|
|
126
|
+
AI_TURN { turn : number }
|
|
127
|
+
SPAWN { id : string, x : number, y : number, team : string, health : number, maxHealth : number, unitType : string }
|
|
128
|
+
HEAL { team : string, amount : number }
|
|
129
|
+
WorldMapIntent.ATTACK -> ATTACK
|
|
130
|
+
WorldMapIntent.MOVE -> MOVE
|
|
131
|
+
}
|
|
122
132
|
}
|
|
123
133
|
|
|
124
134
|
trait RoundLogic = Round.traits.RoundFlow -> GameState {
|
|
125
135
|
config { running: true }
|
|
136
|
+
|
|
137
|
+
listens {
|
|
138
|
+
UNITS_CHANGED { playersAlive : number, enemiesAlive : number }
|
|
139
|
+
TacticsAuthority.UNITS_CHANGED -> UNITS_CHANGED
|
|
140
|
+
}
|
|
126
141
|
}
|
|
127
142
|
|
|
128
143
|
trait GoldAuthority = Gold.traits.GoldMine -> GameState {
|
|
129
144
|
config { running: true, startGold: 0, yieldAmount: 25 }
|
|
145
|
+
|
|
146
|
+
listens {
|
|
147
|
+
MINE_HIT { id : string }
|
|
148
|
+
RESTART { id : string }
|
|
149
|
+
WorldMapIntent.MINE_HIT -> MINE_HIT
|
|
150
|
+
}
|
|
130
151
|
}
|
|
131
152
|
|
|
132
153
|
trait WorldMapIntent -> GameState [interaction, instance] {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app ui-learning-canvas "1.0.0"
|
|
2
2
|
"LearningCanvas — UI factory (1:1 with the @almadar/ui learning-canvas pattern)."
|
|
3
|
+
;; @pattern "learning-canvas"
|
|
3
4
|
orbital LearningCanvasOrbital {
|
|
4
5
|
type LearningCanvasShapesItem = {
|
|
5
6
|
type : "line" | "arrow" | "circle" | "ellipse" | "rect" | "polygon" | "path" | "text" | "axis" | "grid" | "venn-region"!
|
|
@@ -21,9 +21,9 @@ orbital CTAItemOrbital {
|
|
|
21
21
|
title: @config.title
|
|
22
22
|
type: cta-banner
|
|
23
23
|
})
|
|
24
|
-
|
|
24
|
+
PRIMARY_ACTION -> idle
|
|
25
25
|
(emit CTA_PRIMARY { href: @config.primaryActionHref })
|
|
26
|
-
|
|
26
|
+
SECONDARY_ACTION -> idle
|
|
27
27
|
(emit CTA_SECONDARY { href: @config.secondaryActionHref })
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -43,13 +43,13 @@ orbital CTAItemOrbital {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
listens {
|
|
46
|
-
|
|
46
|
+
PRIMARY_ACTION {
|
|
47
47
|
href : string
|
|
48
48
|
}
|
|
49
49
|
@description "Primary action button was clicked."
|
|
50
50
|
@synonyms "click, select, submit, activate"
|
|
51
51
|
@tier "domain"
|
|
52
|
-
|
|
52
|
+
SECONDARY_ACTION {
|
|
53
53
|
href : string
|
|
54
54
|
}
|
|
55
55
|
@description "A secondary action button was clicked."
|
|
@@ -29,9 +29,9 @@ orbital HeroItemOrbital {
|
|
|
29
29
|
type: hero-section
|
|
30
30
|
className: @config.className
|
|
31
31
|
})
|
|
32
|
-
|
|
32
|
+
PRIMARY_ACTION -> idle
|
|
33
33
|
(emit CTA_PRIMARY { href: @config.primaryActionHref })
|
|
34
|
-
|
|
34
|
+
SECONDARY_ACTION -> idle
|
|
35
35
|
(emit CTA_SECONDARY { href: @config.secondaryActionHref })
|
|
36
36
|
}
|
|
37
37
|
|
|
@@ -51,13 +51,13 @@ orbital HeroItemOrbital {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
listens {
|
|
54
|
-
|
|
54
|
+
PRIMARY_ACTION {
|
|
55
55
|
href : string
|
|
56
56
|
}
|
|
57
57
|
@description "A primary call to action has been triggered."
|
|
58
58
|
@synonyms "click, select, submit, activate"
|
|
59
59
|
@tier "domain"
|
|
60
|
-
|
|
60
|
+
SECONDARY_ACTION {
|
|
61
61
|
href : string
|
|
62
62
|
}
|
|
63
63
|
@description "A secondary call to action has been triggered."
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
app ui-case-study-card "1.0.0"
|
|
2
2
|
"CaseStudyCard — a card summarizing a customer case study with logo, headline result, and link. — UI factory (1:1 with the @almadar/ui case-study-card pattern)."
|
|
3
3
|
;; @capabilities "customer story, success story, client story card, results showcase, proof-point card"
|
|
4
|
+
;; @pattern "case-study-card"
|
|
4
5
|
orbital CaseStudyCardOrbital {
|
|
5
6
|
entity CaseStudyCardItem [runtime] {
|
|
6
7
|
id : string!
|