@almadar/std 16.252.0 → 16.253.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +16 -2
- package/behaviors/lolo/ui/learning/atoms/std-learn-generate.lolo +6 -4
- package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-memory.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
- package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
- package/behaviors/registry/infra/atoms/std-audit-capture.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
- package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cross-reference.orb +1 -1
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
- package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
- package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
- package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
- package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
- package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
- package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
- package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
- package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
- package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
- package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
- package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
- package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
- package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
- package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
- package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
- package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
- package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
- package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
- package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-geosearch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
- package/dist/behaviors-embeddings.hash.json +1 -1
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/knob-embeddings.hash.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-learn-tree","version":"1.0.0","description":"Generic ordered-tree builder instrument — inserts values one by one from a config-declared sequence, each value descends left/right by comparison against the current node and attaches as a leaf; the tree renders on algo-graph-canvas (layout: tree, auto-positioned from the parent/child edges), settled nodes green, the descent cursor red, the comparison trail amber. Traverse sweeps the tree to the chosen order (inorder/preorder/levelorder) one node per press or on auto-run, narrating the visit order so far. Vocabulary, sample values, colors, and labels are entirely config-declared, so the same mechanism serves any ordered-tree domain. Standalone by default; behind a lab router set matchMode and it renders only when MODE_SELECTED matches.","orbitals":[{"name":"LearnTreeOrbital","id":"orb_G901W900CS06CJKT7TS5T55GC8","entity":{"name":"LearnTreeScene","id":"ent_BJVA5JDV24XH2CKN4XR36JPW54","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"active","type":"boolean","default":false},{"name":"title","type":"string"},{"name":"values","type":"array","items":{"type":"number"}},{"name":"nodes","type":"array","items":{"type":"object","properties":{"state":{"name":"state","type":"string","required":false,"values":["unvisited","frontier","current","visited","goal","path"]},"id":{"name":"id","type":"string","required":true},"label":{"name":"label","type":"string","required":false}}}},{"name":"edges","type":"array","items":{"type":"object","properties":{"to":{"name":"to","type":"string","required":true},"from":{"name":"from","type":"string","required":true},"label":{"name":"label","type":"string","required":false},"state":{"name":"state","type":"string","required":false,"values":["default","tree","relaxed","candidate","path"]},"directed":{"name":"directed","type":"boolean","required":false}}}},{"name":"entries","type":"array","items":{"type":"object","properties":{"id":{"name":"id","type":"string","required":true},"levelKey":{"name":"levelKey","type":"number","required":false},"value":{"name":"value","type":"number","required":true},"rank":{"name":"rank","type":"number","required":true},"path":{"name":"path","type":"string","required":false}}}},{"name":"cursor","type":"number","default":0},{"name":"pending","type":"number","default":0},{"name":"descending","type":"boolean","default":false},{"name":"trail","type":"array","items":{"type":"string"}},{"name":"curId","type":"string","default":""},{"name":"curVal","type":"number","default":0},{"name":"curRank","type":"number","default":0},{"name":"curRankOffset","type":"number","default":0},{"name":"depth","type":"number","default":0},{"name":"maxDepth","type":"number","default":0},{"name":"count","type":"number","default":0},{"name":"traversing","type":"boolean","default":false},{"name":"traversalOrder","type":"array","items":{"type":"string"}},{"name":"sweptIds","type":"array","items":{"type":"string"}},{"name":"done","type":"boolean","default":false},{"name":"running","type":"boolean","default":false},{"name":"narration","type":"string"}]},"traits":[{"name":"LearnTreeSim","id":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6","entityRebindable":true,"entityContract":{"requires":[],"provides":["active","count","curId","curRank","curRankOffset","curVal","cursor","depth","descending","done","edges","entries","maxDepth","narration","nodes","pending","running","sweptIds","title","trail","traversalOrder","traversing","values"]},"effectRow":[{"kind":"emit","resource":"TREE_UPDATED"},{"kind":"emit","resource":"TREE_UPDATED","site":"tick"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"main","site":"tick"},{"kind":"set","resource":"@entity.active"},{"kind":"set","resource":"@entity.count"},{"kind":"set","resource":"@entity.curId"},{"kind":"set","resource":"@entity.curRank"},{"kind":"set","resource":"@entity.curRankOffset"},{"kind":"set","resource":"@entity.curVal"},{"kind":"set","resource":"@entity.cursor"},{"kind":"set","resource":"@entity.depth"},{"kind":"set","resource":"@entity.descending"},{"kind":"set","resource":"@entity.done"},{"kind":"set","resource":"@entity.done","site":"tick"},{"kind":"set","resource":"@entity.edges"},{"kind":"set","resource":"@entity.edges","site":"tick"},{"kind":"set","resource":"@entity.entries"},{"kind":"set","resource":"@entity.maxDepth"},{"kind":"set","resource":"@entity.narration"},{"kind":"set","resource":"@entity.narration","site":"tick"},{"kind":"set","resource":"@entity.nodes"},{"kind":"set","resource":"@entity.nodes","site":"tick"},{"kind":"set","resource":"@entity.pending"},{"kind":"set","resource":"@entity.running"},{"kind":"set","resource":"@entity.sweptIds"},{"kind":"set","resource":"@entity.sweptIds","site":"tick"},{"kind":"set","resource":"@entity.title"},{"kind":"set","resource":"@entity.trail"},{"kind":"set","resource":"@entity.traversalOrder"},{"kind":"set","resource":"@entity.traversalOrder","site":"tick"},{"kind":"set","resource":"@entity.traversing"},{"kind":"set","resource":"@entity.traversing","site":"tick"},{"kind":"set","resource":"@entity.values"},{"kind":"ticks","site":"tick"}],"category":"interaction","linkedEntity":"LearnTreeScene","linkedEntityId":"ent_BJVA5JDV24XH2CKN4XR36JPW54","entityRefIds":{"LearnTreeScene":"ent_BJVA5JDV24XH2CKN4XR36JPW54"},"emits":[{"event":"TREE_UPDATED","eventId":"evt_KV44BCTJ7V93XNN0F7VT9M60PJ","description":"The tree after each insert/delete/traversal step — a composed listener (readout, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"tree update, insert result, traversal result, node count","tier":"domain","scope":"external","payloadSchema":[{"name":"nodes","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]}],"entity":"LearnTreeNode"},{"name":"edges","type":"[object]","properties":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]}],"entity":"LearnTreeEdge"},{"name":"count","type":"number"},{"name":"narration","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_B13PNNPZ0GFG85MHT49D82YS7B","name":"Initialize"},{"key":"MODE_SELECTED","id":"evt_93M2RNC6JH398ZKMFB4TV856QH","name":"Mode Selected","description":"Lab router broadcast naming the active mode; this instrument renders when the mode equals matchMode, otherwise renders null.","tier":"domain","payloadSchema":[{"name":"mode","type":"string"}],"listened":true},{"key":"ROSTER_LOADED","id":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","name":"Roster Loaded","description":"Runtime content feed, honoured only when rosterSource is event — mode names the instrument it is for (the matchMode it carries, blank when standalone) and values is the insertion sequence; a matching instrument re-initialises from it exactly as INIT does from config, any other instrument hides.","tier":"domain","payloadSchema":[{"name":"mode","type":"string","required":true},{"name":"values","type":"[number]","required":true}],"listened":true},{"key":"INSERT_VALUE","id":"evt_KDSA6TQG0CR068FHBJWWWFZ6GB","name":"Insert Value","description":"Insert the next config-declared value: descends one comparison step per press from the root, coloring the descent cursor and comparison trail, until it attaches as a leaf. Pressing again while a descent is in flight continues that same descent.","synonyms":"insert, add, next value, descend, attach","tier":"domain","listened":true},{"key":"DELETE_VALUE","id":"evt_YM4KA4E2SS1CWJJ84J7QT972EF","name":"Delete Value","description":"Undo the most recently inserted value — removes its node/edge/entry and rewinds the insert cursor by one so the same value can be re-inserted.","synonyms":"delete, remove, undo, rewind","tier":"domain","listened":true},{"key":"RUN_TRAVERSAL","id":"evt_VXN83KH1BVGNXKZWGRR89K4TPS","name":"Run Traversal","description":"Advance the traversal sweep one node at a time in the configured order (inorder/preorder/levelorder); pressing after the sweep completes starts a fresh sweep.","synonyms":"traverse, sweep, visit, walk, in-order, pre-order, level-order","tier":"domain","listened":true},{"key":"TOGGLE_RUN","id":"evt_Z4XV454DKA6SNAQ42E0MHPWTKW","name":"Toggle Run","description":"Toggle auto-stepping: while running, the tick sweeps the traversal one node forward every step. Has no effect on Insert/Delete, which stay manual.","synonyms":"run, pause, auto, auto-step","tier":"domain","listened":true},{"key":"RESET","id":"evt_TZK7AECFH67RK06NPC34SCZSP9","name":"Reset","description":"Clear the tree back to empty and restore the insert cursor and running flag from config, ready to insert from the first value again.","synonyms":"reset, clear, restart, start over","tier":"domain","listened":true},{"key":"TREE_UPDATED","id":"evt_KV44BCTJ7V93XNN0F7VT9M60PJ","name":"Tree Updated","description":"The tree after each insert/delete/traversal step — a composed listener (readout, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"tree update, insert result, traversal result, node count","tier":"domain","payloadSchema":[{"name":"nodes","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]}],"entity":"LearnTreeNode"},{"name":"edges","type":"[object]","properties":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]}],"entity":"LearnTreeEdge"},{"name":"count","type":"number"},{"name":"narration","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_B13PNNPZ0GFG85MHT49D82YS7B","guard":["and",["==","@config.matchMode",""],["==","@config.rosterSource","config"]],"effects":[["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.values","@config.values"],["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_93M2RNC6JH398ZKMFB4TV856QH","guard":["and",["not",["==","@config.matchMode",""]],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["set","@entity.running",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_93M2RNC6JH398ZKMFB4TV856QH","guard":["and",["==","@payload.mode","@config.matchMode"],["==","@config.rosterSource","config"]],"effects":[["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.values","@config.values"],["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","guard":["and",["==","@config.rosterSource","event"],["and",["==","@payload.mode","@config.matchMode"],[">",["array/len","@payload.values"],0]]],"effects":[["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.values","@payload.values"],["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","guard":["and",["==","@config.rosterSource","event"],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["set","@entity.running",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"INSERT_VALUE","eventId":"evt_KDSA6TQG0CR068FHBJWWWFZ6GB","guard":["and",["==","@entity.active",true],["or","@entity.descending",["<","@entity.cursor",["array/len","@entity.values"]]]],"effects":[["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["if",["not","@entity.descending"],["let",[["v",["array/nth","@entity.values","@entity.cursor"]]],["if",["==","@entity.count",0],["do",["set","@entity.pending","@v"],["set","@entity.nodes",["array/append","@entity.nodes",{"id":"n0","label":["str/concat","","@v"],"state":"visited"}]],["set","@entity.entries",["array/append","@entity.entries",{"id":"n0","value":"@v","rank":300,"path":"","levelKey":300}]],["set","@entity.count",1],["set","@entity.cursor",1],["set","@entity.narration",["str/concat","insert ",["str/concat","","@v"]," — tree empty, becomes root",["if","@config.balanced"," · height 1 for 1 node",""]]]],["do",["set","@entity.pending","@v"],["set","@entity.descending",true],["set","@entity.trail",[]],["set","@entity.curId",["object/get",["array/first","@entity.entries"],"id"]],["set","@entity.curVal",["object/get",["array/first","@entity.entries"],"value"]],["set","@entity.curRank",["object/get",["array/first","@entity.entries"],"rank"]],["set","@entity.curRankOffset",150],["set","@entity.depth",0],["set","@entity.cursor",["+","@entity.cursor",1]],["set","@entity.narration",["str/concat","insert ",["str/concat","","@v"],["if","@config.showComparisons"," — compare at the root",""]]]]]],["let",[["side",["if",["<","@entity.pending","@entity.curVal"],"L","R"]],["child",["array/find","@entity.edges",["fn","e",["and",["==",["object/get","@e","from"],"@entity.curId"],["==",["object/get","@e","label"],"@side"]]]]],["newRank",["if",["==","@side","L"],["-","@entity.curRank","@entity.curRankOffset"],["+","@entity.curRank","@entity.curRankOffset"]]],["newId",["str/concat","n",["str/concat","","@entity.count"]]],["newDepth",["+","@entity.depth",1]],["newCount",["+","@entity.count",1]],["newMax",["math/max","@entity.maxDepth","@newDepth"]],["cmpText",["str/concat",["str/concat","","@entity.pending"],["if",["==","@side","L"]," < "," >= "],["str/concat","","@entity.curVal"]]]],["if",["==","@child",null],["do",["set","@entity.narration",["str/concat",["if","@config.showComparisons",["str/concat","@cmpText"," — "],""],"attach ",["str/concat","","@entity.pending"]," as a leaf",["if","@config.balanced",["str/concat"," · height ",["str/concat","",["+","@newMax",1]]," for ",["str/concat","","@newCount"]," nodes"],""]]],["set","@entity.nodes",["array/append","@entity.nodes",{"id":"@newId","label":["str/concat","","@entity.pending"],"state":"visited"}]],["set","@entity.edges",["array/append","@entity.edges",{"from":"@entity.curId","to":"@newId","directed":true,"label":"@side","state":"tree"}]],["set","@entity.entries",["array/append","@entity.entries",{"id":"@newId","value":"@entity.pending","rank":"@newRank","path":["str/concat",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@entity.curId"]]],"path"],"@side"],"levelKey":["+",["*","@newDepth",10000],"@newRank"]}]],["set","@entity.count","@newCount"],["set","@entity.maxDepth","@newMax"],["set","@entity.descending",false],["set","@entity.trail",[]]],["do",["set","@entity.narration",["str/concat",["if","@config.showComparisons",["str/concat","@cmpText"," — "],""],"descend ",["if",["==","@side","L"],"left","right"]]],["set","@entity.trail",["array/append","@entity.trail","@entity.curId"]],["set","@entity.curId",["object/get","@child","to"]],["set","@entity.curVal",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],["object/get","@child","to"]]]],"value"]],["set","@entity.curRank",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],["object/get","@child","to"]]]],"rank"]],["set","@entity.curRankOffset",["/","@entity.curRankOffset",2]],["set","@entity.depth","@newDepth"]]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":["if",["and",["==","@entity.descending",true],["==",["object/get","@n","id"],"@entity.curId"]],"current",["if",["and",["==","@entity.descending",true],["array/includes","@entity.trail",["object/get","@n","id"]]],"frontier","visited"]]}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":["if",["and",["==","@entity.descending",true],["==",["object/get","@e","from"],"@entity.curId"]],"candidate","tree"]}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"DELETE_VALUE","eventId":"evt_YM4KA4E2SS1CWJJ84J7QT972EF","guard":["and",["==","@entity.active",true],[">","@entity.count",0]],"effects":[["let",[["lastId",["object/get",["array/last","@entity.entries"],"id"]],["lastVal",["object/get",["array/last","@entity.entries"],"value"]]],["do",["set","@entity.nodes",["array/filter","@entity.nodes",["fn","n",["!=",["object/get","@n","id"],"@lastId"]]]],["set","@entity.edges",["array/filter","@entity.edges",["fn","e",["and",["!=",["object/get","@e","to"],"@lastId"],["!=",["object/get","@e","from"],"@lastId"]]]]],["set","@entity.entries",["array/filter","@entity.entries",["fn","t",["!=",["object/get","@t","id"],"@lastId"]]]],["set","@entity.count",["-","@entity.count",1]],["set","@entity.cursor",["math/max",["-","@entity.cursor",1],0]],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.narration",["str/concat","remove ",["str/concat","","@lastVal"]," — the most recently inserted value (undo); press Insert to re-insert"]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":"visited"}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":"tree"}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"RUN_TRAVERSAL","eventId":"evt_VXN83KH1BVGNXKZWGRR89K4TPS","guard":["and",["==","@entity.active",true],[">","@entity.count",0]],"effects":[["if",["or",["==","@entity.traversing",false],["==","@entity.done",true]],["let",[["order",["if",["==","@config.traversalKind","preorder"],["array/map",["array/sort","@entity.entries","path","asc"],["fn","t",["object/get","@t","id"]]],["if",["==","@config.traversalKind","levelorder"],["array/map",["array/sort","@entity.entries","levelKey","asc"],["fn","t",["object/get","@t","id"]]],["array/map",["array/sort","@entity.entries","value","asc"],["fn","t",["object/get","@t","id"]]]]]],["firstId",["array/first","@order"]]],["let",[["firstVal",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@firstId"]]],"value"]]],["do",["set","@entity.traversalOrder","@order"],["set","@entity.sweptIds",["@firstId"]],["set","@entity.traversing",true],["set","@entity.done",["==",["array/len","@order"],1]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/concat","","@firstVal"]]]]]],["let",[["nextId",["array/nth","@entity.traversalOrder",["array/len","@entity.sweptIds"]]]],["let",[["newSwept",["array/append","@entity.sweptIds","@nextId"]]],["do",["set","@entity.sweptIds","@newSwept"],["set","@entity.done",[">=",["array/len","@newSwept"],["array/len","@entity.traversalOrder"]]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/join",["array/map","@newSwept",["fn","sid",["str/concat","",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@sid"]]],"value"]]]],", "]]]]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":["if",["and",["==","@entity.traversing",true],["array/includes","@entity.sweptIds",["object/get","@n","id"]]],"path","visited"]}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":"tree"}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"TOGGLE_RUN","eventId":"evt_Z4XV454DKA6SNAQ42E0MHPWTKW","guard":["==","@entity.active",true],"effects":[["set","@entity.running",["not","@entity.running"]],["set","@entity.narration",["if","@entity.running","Auto-stepping the traversal — tick sweeps one node at a time.","Paused — step the traversal manually with Traverse."]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"RESET","eventId":"evt_TZK7AECFH67RK06NPC34SCZSP9","guard":["==","@entity.active",true],"effects":[["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]}]},"ticks":[{"name":"treeTick","interval":500,"guard":["and",["==","@entity.active",true],["and",["==","@entity.running",true],["not",["==","@entity.done",true]]]],"effects":[["if",["or",["==","@entity.traversing",false],["==","@entity.done",true]],["let",[["order",["if",["==","@config.traversalKind","preorder"],["array/map",["array/sort","@entity.entries","path","asc"],["fn","t",["object/get","@t","id"]]],["if",["==","@config.traversalKind","levelorder"],["array/map",["array/sort","@entity.entries","levelKey","asc"],["fn","t",["object/get","@t","id"]]],["array/map",["array/sort","@entity.entries","value","asc"],["fn","t",["object/get","@t","id"]]]]]],["firstId",["array/first","@order"]]],["let",[["firstVal",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@firstId"]]],"value"]]],["do",["set","@entity.traversalOrder","@order"],["set","@entity.sweptIds",["@firstId"]],["set","@entity.traversing",true],["set","@entity.done",["==",["array/len","@order"],1]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/concat","","@firstVal"]]]]]],["let",[["nextId",["array/nth","@entity.traversalOrder",["array/len","@entity.sweptIds"]]]],["let",[["newSwept",["array/append","@entity.sweptIds","@nextId"]]],["do",["set","@entity.sweptIds","@newSwept"],["set","@entity.done",[">=",["array/len","@newSwept"],["array/len","@entity.traversalOrder"]]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/join",["array/map","@newSwept",["fn","sid",["str/concat","",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@sid"]]],"value"]]]],", "]]]]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":["if",["and",["==","@entity.traversing",true],["array/includes","@entity.sweptIds",["object/get","@n","id"]]],"path","visited"]}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":"tree"}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]}],"config":{"summary":{"type":"string","default":"","label":"Concept","description":"One line under the title saying what the learner is looking at (keep it under ~65 characters). Empty shows no line.","tier":"presentation"},"autoRun":{"type":"boolean","default":false,"label":"Auto Run","description":"When true, the tick auto-steps the traversal sweep started by Traverse; toggle live with the Run/Pause button. Has no effect on Insert/Delete, which stay manual.","synonyms":"auto run, auto step, auto play","tier":"domain"},"width":{"type":"number","default":600,"label":"Width","description":"Canvas width in pixels.","tier":"presentation"},"title":{"type":"string","default":"Ordered Tree","label":"Title","description":"Title shown above the canvas.","tier":"presentation"},"rosterSource":{"type":"string","default":"config","label":"Roster Source","description":"Where the insertion values come from: config reads the values knob at INIT; event waits for ROSTER_LOADED and takes them from its payload.","tier":"domain","values":["config","event"]},"backgroundColor":{"type":"string","default":"","label":"Background Color","description":"Canvas ground. Empty uses the theme drawing ground.","tier":"presentation"},"showComparisons":{"type":"boolean","default":true,"label":"Show Comparisons","description":"Include each left/right comparison in the narration while a value descends; turn off for a terse attach-only narration.","synonyms":"comparisons, narration detail","tier":"presentation"},"values":{"type":"[number]","default":[50,30,70,20,40,60,80],"label":"Values","description":"The values Insert feeds into the tree, one per descent, in order.","synonyms":"keys, values to insert, dataset, sequence","tier":"domain","items":{"type":"number"}},"matchMode":{"type":"string","default":"","label":"Match Mode","description":"When composed behind a lab router, the MODE_SELECTED mode value this instrument responds to. Empty string means standalone — render immediately on INIT.","tier":"presentation"},"balanced":{"type":"boolean","default":false,"label":"Balance Readout","description":"When true, each insert's narration reports the tree's current height against its node count so the learner can judge balance; no auto-rotation is performed.","synonyms":"balance, height, balance readout","tier":"domain"},"height":{"type":"number","default":400,"label":"Height","description":"Canvas height in pixels.","tier":"presentation"},"traversalKind":{"type":"string","default":"inorder","label":"Traversal Kind","description":"Which sweep Traverse replays — inorder (sorted order, left to right), preorder (root before children), or levelorder (breadth first, top to bottom).","synonyms":"traversal, in-order, pre-order, level-order, sweep","tier":"domain"}},"scope":"instance"}],"pages":[{"name":"LearnTreePage","id":"pag_WQ8SXCYH2P8HBABDAAJ23T6V69","path":"/learn-tree","traits":[{"ref":"LearnTreeSim","refId":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"}]}],"types":{"LearnTreeEdge":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]}],"LearnTreeEntry":[{"name":"id","type":"string","required":true},{"name":"value","type":"number","required":true},{"name":"rank","type":"number","required":true},{"name":"path","type":"string"},{"name":"levelKey","type":"number"}],"LearnTreeNode":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_BJVA5JDV24XH2CKN4XR36JPW54":{"id":"ent_BJVA5JDV24XH2CKN4XR36JPW54","kind":"entity","bakedName":"LearnTreeScene","curName":"LearnTreeScene","renames":[],"owner":"workspace"},"evt_93M2RNC6JH398ZKMFB4TV856QH":{"id":"evt_93M2RNC6JH398ZKMFB4TV856QH","kind":"event","bakedName":"MODE_SELECTED","curName":"MODE_SELECTED","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_B13PNNPZ0GFG85MHT49D82YS7B":{"id":"evt_B13PNNPZ0GFG85MHT49D82YS7B","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_KDSA6TQG0CR068FHBJWWWFZ6GB":{"id":"evt_KDSA6TQG0CR068FHBJWWWFZ6GB","kind":"event","bakedName":"INSERT_VALUE","curName":"INSERT_VALUE","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_KV44BCTJ7V93XNN0F7VT9M60PJ":{"id":"evt_KV44BCTJ7V93XNN0F7VT9M60PJ","kind":"event","bakedName":"TREE_UPDATED","curName":"TREE_UPDATED","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_TZK7AECFH67RK06NPC34SCZSP9":{"id":"evt_TZK7AECFH67RK06NPC34SCZSP9","kind":"event","bakedName":"RESET","curName":"RESET","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_VR7VHNTM95A4JK0XS2RQQRYX3T":{"id":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","kind":"event","bakedName":"ROSTER_LOADED","curName":"ROSTER_LOADED","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_VXN83KH1BVGNXKZWGRR89K4TPS":{"id":"evt_VXN83KH1BVGNXKZWGRR89K4TPS","kind":"event","bakedName":"RUN_TRAVERSAL","curName":"RUN_TRAVERSAL","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_YM4KA4E2SS1CWJJ84J7QT972EF":{"id":"evt_YM4KA4E2SS1CWJJ84J7QT972EF","kind":"event","bakedName":"DELETE_VALUE","curName":"DELETE_VALUE","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_Z4XV454DKA6SNAQ42E0MHPWTKW":{"id":"evt_Z4XV454DKA6SNAQ42E0MHPWTKW","kind":"event","bakedName":"TOGGLE_RUN","curName":"TOGGLE_RUN","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"orb_G901W900CS06CJKT7TS5T55GC8":{"id":"orb_G901W900CS06CJKT7TS5T55GC8","kind":"orbital","bakedName":"LearnTreeOrbital","curName":"LearnTreeOrbital","renames":[],"owner":"workspace"},"pag_WQ8SXCYH2P8HBABDAAJ23T6V69":{"id":"pag_WQ8SXCYH2P8HBABDAAJ23T6V69","kind":"page","bakedName":"LearnTreePage","curName":"LearnTreePage","renames":[],"owner":"workspace"},"trt_RNAAPJEPF6B7KFH0F00PW2P2K6":{"id":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6","kind":"trait","bakedName":"LearnTreeSim","curName":"LearnTreeSim","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-learn-tree","version":"1.0.0","description":"Generic ordered-tree builder instrument — inserts values one by one from a config-declared sequence, each value descends left/right by comparison against the current node and attaches as a leaf; the tree renders on algo-graph-canvas (layout: tree, auto-positioned from the parent/child edges), settled nodes green, the descent cursor red, the comparison trail amber. Traverse sweeps the tree to the chosen order (inorder/preorder/levelorder) one node per press or on auto-run, narrating the visit order so far. Vocabulary, sample values, colors, and labels are entirely config-declared, so the same mechanism serves any ordered-tree domain. Standalone by default; behind a lab router set matchMode and it renders only when MODE_SELECTED matches.","orbitals":[{"name":"LearnTreeOrbital","id":"orb_G901W900CS06CJKT7TS5T55GC8","entity":{"name":"LearnTreeScene","id":"ent_BJVA5JDV24XH2CKN4XR36JPW54","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"active","type":"boolean","default":false},{"name":"title","type":"string"},{"name":"values","type":"array","items":{"type":"number"}},{"name":"nodes","type":"array","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":false},"state":{"name":"state","type":"string","required":false,"values":["unvisited","frontier","current","visited","goal","path"]},"id":{"name":"id","type":"string","required":true}}}},{"name":"edges","type":"array","items":{"type":"object","properties":{"directed":{"name":"directed","type":"boolean","required":false},"state":{"name":"state","type":"string","required":false,"values":["default","tree","relaxed","candidate","path"]},"from":{"name":"from","type":"string","required":true},"label":{"name":"label","type":"string","required":false},"to":{"name":"to","type":"string","required":true}}}},{"name":"entries","type":"array","items":{"type":"object","properties":{"rank":{"name":"rank","type":"number","required":true},"value":{"name":"value","type":"number","required":true},"id":{"name":"id","type":"string","required":true},"path":{"name":"path","type":"string","required":false},"levelKey":{"name":"levelKey","type":"number","required":false}}}},{"name":"cursor","type":"number","default":0},{"name":"pending","type":"number","default":0},{"name":"descending","type":"boolean","default":false},{"name":"trail","type":"array","items":{"type":"string"}},{"name":"curId","type":"string","default":""},{"name":"curVal","type":"number","default":0},{"name":"curRank","type":"number","default":0},{"name":"curRankOffset","type":"number","default":0},{"name":"depth","type":"number","default":0},{"name":"maxDepth","type":"number","default":0},{"name":"count","type":"number","default":0},{"name":"traversing","type":"boolean","default":false},{"name":"traversalOrder","type":"array","items":{"type":"string"}},{"name":"sweptIds","type":"array","items":{"type":"string"}},{"name":"done","type":"boolean","default":false},{"name":"running","type":"boolean","default":false},{"name":"narration","type":"string"}]},"traits":[{"name":"LearnTreeSim","id":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6","entityRebindable":true,"entityContract":{"requires":[],"provides":["active","count","curId","curRank","curRankOffset","curVal","cursor","depth","descending","done","edges","entries","maxDepth","narration","nodes","pending","running","sweptIds","title","trail","traversalOrder","traversing","values"]},"effectRow":[{"kind":"emit","resource":"TREE_UPDATED"},{"kind":"emit","resource":"TREE_UPDATED","site":"tick"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"main","site":"tick"},{"kind":"set","resource":"@entity.active"},{"kind":"set","resource":"@entity.count"},{"kind":"set","resource":"@entity.curId"},{"kind":"set","resource":"@entity.curRank"},{"kind":"set","resource":"@entity.curRankOffset"},{"kind":"set","resource":"@entity.curVal"},{"kind":"set","resource":"@entity.cursor"},{"kind":"set","resource":"@entity.depth"},{"kind":"set","resource":"@entity.descending"},{"kind":"set","resource":"@entity.done"},{"kind":"set","resource":"@entity.done","site":"tick"},{"kind":"set","resource":"@entity.edges"},{"kind":"set","resource":"@entity.edges","site":"tick"},{"kind":"set","resource":"@entity.entries"},{"kind":"set","resource":"@entity.maxDepth"},{"kind":"set","resource":"@entity.narration"},{"kind":"set","resource":"@entity.narration","site":"tick"},{"kind":"set","resource":"@entity.nodes"},{"kind":"set","resource":"@entity.nodes","site":"tick"},{"kind":"set","resource":"@entity.pending"},{"kind":"set","resource":"@entity.running"},{"kind":"set","resource":"@entity.sweptIds"},{"kind":"set","resource":"@entity.sweptIds","site":"tick"},{"kind":"set","resource":"@entity.title"},{"kind":"set","resource":"@entity.trail"},{"kind":"set","resource":"@entity.traversalOrder"},{"kind":"set","resource":"@entity.traversalOrder","site":"tick"},{"kind":"set","resource":"@entity.traversing"},{"kind":"set","resource":"@entity.traversing","site":"tick"},{"kind":"set","resource":"@entity.values"},{"kind":"ticks","site":"tick"}],"category":"interaction","linkedEntity":"LearnTreeScene","linkedEntityId":"ent_BJVA5JDV24XH2CKN4XR36JPW54","entityRefIds":{"LearnTreeScene":"ent_BJVA5JDV24XH2CKN4XR36JPW54"},"emits":[{"event":"TREE_UPDATED","eventId":"evt_KV44BCTJ7V93XNN0F7VT9M60PJ","description":"The tree after each insert/delete/traversal step — a composed listener (readout, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"tree update, insert result, traversal result, node count","tier":"domain","scope":"external","payloadSchema":[{"name":"nodes","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]}],"entity":"LearnTreeNode"},{"name":"edges","type":"[object]","properties":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]}],"entity":"LearnTreeEdge"},{"name":"count","type":"number"},{"name":"narration","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_B13PNNPZ0GFG85MHT49D82YS7B","name":"Initialize"},{"key":"MODE_SELECTED","id":"evt_93M2RNC6JH398ZKMFB4TV856QH","name":"Mode Selected","description":"Lab router broadcast naming the active mode; this instrument renders when the mode equals matchMode, otherwise renders null.","tier":"domain","payloadSchema":[{"name":"mode","type":"string"}],"listened":true},{"key":"ROSTER_LOADED","id":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","name":"Roster Loaded","description":"Runtime content feed, honoured only when rosterSource is event — mode names the instrument it is for (the matchMode it carries, blank when standalone) and values is the insertion sequence; a matching instrument re-initialises from it exactly as INIT does from config, any other instrument hides.","tier":"domain","payloadSchema":[{"name":"mode","type":"string","required":true},{"name":"values","type":"[number]","required":true}],"listened":true},{"key":"INSERT_VALUE","id":"evt_KDSA6TQG0CR068FHBJWWWFZ6GB","name":"Insert Value","description":"Insert the next config-declared value: descends one comparison step per press from the root, coloring the descent cursor and comparison trail, until it attaches as a leaf. Pressing again while a descent is in flight continues that same descent.","synonyms":"insert, add, next value, descend, attach","tier":"domain","listened":true},{"key":"DELETE_VALUE","id":"evt_YM4KA4E2SS1CWJJ84J7QT972EF","name":"Delete Value","description":"Undo the most recently inserted value — removes its node/edge/entry and rewinds the insert cursor by one so the same value can be re-inserted.","synonyms":"delete, remove, undo, rewind","tier":"domain","listened":true},{"key":"RUN_TRAVERSAL","id":"evt_VXN83KH1BVGNXKZWGRR89K4TPS","name":"Run Traversal","description":"Advance the traversal sweep one node at a time in the configured order (inorder/preorder/levelorder); pressing after the sweep completes starts a fresh sweep.","synonyms":"traverse, sweep, visit, walk, in-order, pre-order, level-order","tier":"domain","listened":true},{"key":"TOGGLE_RUN","id":"evt_Z4XV454DKA6SNAQ42E0MHPWTKW","name":"Toggle Run","description":"Toggle auto-stepping: while running, the tick sweeps the traversal one node forward every step. Has no effect on Insert/Delete, which stay manual.","synonyms":"run, pause, auto, auto-step","tier":"domain","listened":true},{"key":"RESET","id":"evt_TZK7AECFH67RK06NPC34SCZSP9","name":"Reset","description":"Clear the tree back to empty and restore the insert cursor and running flag from config, ready to insert from the first value again.","synonyms":"reset, clear, restart, start over","tier":"domain","listened":true},{"key":"TREE_UPDATED","id":"evt_KV44BCTJ7V93XNN0F7VT9M60PJ","name":"Tree Updated","description":"The tree after each insert/delete/traversal step — a composed listener (readout, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"tree update, insert result, traversal result, node count","tier":"domain","payloadSchema":[{"name":"nodes","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]}],"entity":"LearnTreeNode"},{"name":"edges","type":"[object]","properties":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]}],"entity":"LearnTreeEdge"},{"name":"count","type":"number"},{"name":"narration","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_B13PNNPZ0GFG85MHT49D82YS7B","guard":["and",["==","@config.matchMode",""],["==","@config.rosterSource","config"]],"effects":[["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.values","@config.values"],["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_93M2RNC6JH398ZKMFB4TV856QH","guard":["and",["not",["==","@config.matchMode",""]],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["set","@entity.running",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_93M2RNC6JH398ZKMFB4TV856QH","guard":["and",["==","@payload.mode","@config.matchMode"],["==","@config.rosterSource","config"]],"effects":[["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.values","@config.values"],["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","guard":["and",["==","@config.rosterSource","event"],["and",["==","@payload.mode","@config.matchMode"],[">",["array/len","@payload.values"],0]]],"effects":[["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.values","@payload.values"],["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","guard":["and",["==","@config.rosterSource","event"],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["set","@entity.running",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"INSERT_VALUE","eventId":"evt_KDSA6TQG0CR068FHBJWWWFZ6GB","guard":["and",["==","@entity.active",true],["or","@entity.descending",["<","@entity.cursor",["array/len","@entity.values"]]]],"effects":[["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["if",["not","@entity.descending"],["let",[["v",["array/nth","@entity.values","@entity.cursor"]]],["if",["==","@entity.count",0],["do",["set","@entity.pending","@v"],["set","@entity.nodes",["array/append","@entity.nodes",{"id":"n0","label":["str/concat","","@v"],"state":"visited"}]],["set","@entity.entries",["array/append","@entity.entries",{"id":"n0","value":"@v","rank":300,"path":"","levelKey":300}]],["set","@entity.count",1],["set","@entity.cursor",1],["set","@entity.narration",["str/concat","insert ",["str/concat","","@v"]," — tree empty, becomes root",["if","@config.balanced"," · height 1 for 1 node",""]]]],["do",["set","@entity.pending","@v"],["set","@entity.descending",true],["set","@entity.trail",[]],["set","@entity.curId",["object/get",["array/first","@entity.entries"],"id"]],["set","@entity.curVal",["object/get",["array/first","@entity.entries"],"value"]],["set","@entity.curRank",["object/get",["array/first","@entity.entries"],"rank"]],["set","@entity.curRankOffset",150],["set","@entity.depth",0],["set","@entity.cursor",["+","@entity.cursor",1]],["set","@entity.narration",["str/concat","insert ",["str/concat","","@v"],["if","@config.showComparisons"," — compare at the root",""]]]]]],["let",[["side",["if",["<","@entity.pending","@entity.curVal"],"L","R"]],["child",["array/find","@entity.edges",["fn","e",["and",["==",["object/get","@e","from"],"@entity.curId"],["==",["object/get","@e","label"],"@side"]]]]],["newRank",["if",["==","@side","L"],["-","@entity.curRank","@entity.curRankOffset"],["+","@entity.curRank","@entity.curRankOffset"]]],["newId",["str/concat","n",["str/concat","","@entity.count"]]],["newDepth",["+","@entity.depth",1]],["newCount",["+","@entity.count",1]],["newMax",["math/max","@entity.maxDepth","@newDepth"]],["cmpText",["str/concat",["str/concat","","@entity.pending"],["if",["==","@side","L"]," < "," >= "],["str/concat","","@entity.curVal"]]]],["if",["==","@child",null],["do",["set","@entity.narration",["str/concat",["if","@config.showComparisons",["str/concat","@cmpText"," — "],""],"attach ",["str/concat","","@entity.pending"]," as a leaf",["if","@config.balanced",["str/concat"," · height ",["str/concat","",["+","@newMax",1]]," for ",["str/concat","","@newCount"]," nodes"],""]]],["set","@entity.nodes",["array/append","@entity.nodes",{"id":"@newId","label":["str/concat","","@entity.pending"],"state":"visited"}]],["set","@entity.edges",["array/append","@entity.edges",{"from":"@entity.curId","to":"@newId","directed":true,"label":"@side","state":"tree"}]],["set","@entity.entries",["array/append","@entity.entries",{"id":"@newId","value":"@entity.pending","rank":"@newRank","path":["str/concat",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@entity.curId"]]],"path"],"@side"],"levelKey":["+",["*","@newDepth",10000],"@newRank"]}]],["set","@entity.count","@newCount"],["set","@entity.maxDepth","@newMax"],["set","@entity.descending",false],["set","@entity.trail",[]]],["do",["set","@entity.narration",["str/concat",["if","@config.showComparisons",["str/concat","@cmpText"," — "],""],"descend ",["if",["==","@side","L"],"left","right"]]],["set","@entity.trail",["array/append","@entity.trail","@entity.curId"]],["set","@entity.curId",["object/get","@child","to"]],["set","@entity.curVal",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],["object/get","@child","to"]]]],"value"]],["set","@entity.curRank",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],["object/get","@child","to"]]]],"rank"]],["set","@entity.curRankOffset",["/","@entity.curRankOffset",2]],["set","@entity.depth","@newDepth"]]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":["if",["and",["==","@entity.descending",true],["==",["object/get","@n","id"],"@entity.curId"]],"current",["if",["and",["==","@entity.descending",true],["array/includes","@entity.trail",["object/get","@n","id"]]],"frontier","visited"]]}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":["if",["and",["==","@entity.descending",true],["==",["object/get","@e","from"],"@entity.curId"]],"candidate","tree"]}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"DELETE_VALUE","eventId":"evt_YM4KA4E2SS1CWJJ84J7QT972EF","guard":["and",["==","@entity.active",true],[">","@entity.count",0]],"effects":[["let",[["lastId",["object/get",["array/last","@entity.entries"],"id"]],["lastVal",["object/get",["array/last","@entity.entries"],"value"]]],["do",["set","@entity.nodes",["array/filter","@entity.nodes",["fn","n",["!=",["object/get","@n","id"],"@lastId"]]]],["set","@entity.edges",["array/filter","@entity.edges",["fn","e",["and",["!=",["object/get","@e","to"],"@lastId"],["!=",["object/get","@e","from"],"@lastId"]]]]],["set","@entity.entries",["array/filter","@entity.entries",["fn","t",["!=",["object/get","@t","id"],"@lastId"]]]],["set","@entity.count",["-","@entity.count",1]],["set","@entity.cursor",["math/max",["-","@entity.cursor",1],0]],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.narration",["str/concat","remove ",["str/concat","","@lastVal"]," — the most recently inserted value (undo); press Insert to re-insert"]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":"visited"}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":"tree"}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"RUN_TRAVERSAL","eventId":"evt_VXN83KH1BVGNXKZWGRR89K4TPS","guard":["and",["==","@entity.active",true],[">","@entity.count",0]],"effects":[["if",["or",["==","@entity.traversing",false],["==","@entity.done",true]],["let",[["order",["if",["==","@config.traversalKind","preorder"],["array/map",["array/sort","@entity.entries","path","asc"],["fn","t",["object/get","@t","id"]]],["if",["==","@config.traversalKind","levelorder"],["array/map",["array/sort","@entity.entries","levelKey","asc"],["fn","t",["object/get","@t","id"]]],["array/map",["array/sort","@entity.entries","value","asc"],["fn","t",["object/get","@t","id"]]]]]],["firstId",["array/first","@order"]]],["let",[["firstVal",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@firstId"]]],"value"]]],["do",["set","@entity.traversalOrder","@order"],["set","@entity.sweptIds",["@firstId"]],["set","@entity.traversing",true],["set","@entity.done",["==",["array/len","@order"],1]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/concat","","@firstVal"]]]]]],["let",[["nextId",["array/nth","@entity.traversalOrder",["array/len","@entity.sweptIds"]]]],["let",[["newSwept",["array/append","@entity.sweptIds","@nextId"]]],["do",["set","@entity.sweptIds","@newSwept"],["set","@entity.done",[">=",["array/len","@newSwept"],["array/len","@entity.traversalOrder"]]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/join",["array/map","@newSwept",["fn","sid",["str/concat","",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@sid"]]],"value"]]]],", "]]]]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":["if",["and",["==","@entity.traversing",true],["array/includes","@entity.sweptIds",["object/get","@n","id"]]],"path","visited"]}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":"tree"}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"TOGGLE_RUN","eventId":"evt_Z4XV454DKA6SNAQ42E0MHPWTKW","guard":["==","@entity.active",true],"effects":[["set","@entity.running",["not","@entity.running"]],["set","@entity.narration",["if","@entity.running","Auto-stepping the traversal — tick sweeps one node at a time.","Paused — step the traversal manually with Traverse."]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]},{"from":"idle","to":"idle","event":"RESET","eventId":"evt_TZK7AECFH67RK06NPC34SCZSP9","guard":["==","@entity.active",true],"effects":[["set","@entity.nodes",[]],["set","@entity.edges",[]],["set","@entity.entries",[]],["set","@entity.cursor",0],["set","@entity.descending",false],["set","@entity.trail",[]],["set","@entity.depth",0],["set","@entity.maxDepth",0],["set","@entity.count",0],["set","@entity.traversing",false],["set","@entity.traversalOrder",[]],["set","@entity.sweptIds",[]],["set","@entity.done",false],["set","@entity.running","@config.autoRun"],["set","@entity.narration","Press Insert to add the next value; keep pressing to watch it descend."],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]}]},"ticks":[{"name":"treeTick","interval":500,"guard":["and",["==","@entity.active",true],["and",["==","@entity.running",true],["not",["==","@entity.done",true]]]],"effects":[["if",["or",["==","@entity.traversing",false],["==","@entity.done",true]],["let",[["order",["if",["==","@config.traversalKind","preorder"],["array/map",["array/sort","@entity.entries","path","asc"],["fn","t",["object/get","@t","id"]]],["if",["==","@config.traversalKind","levelorder"],["array/map",["array/sort","@entity.entries","levelKey","asc"],["fn","t",["object/get","@t","id"]]],["array/map",["array/sort","@entity.entries","value","asc"],["fn","t",["object/get","@t","id"]]]]]],["firstId",["array/first","@order"]]],["let",[["firstVal",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@firstId"]]],"value"]]],["do",["set","@entity.traversalOrder","@order"],["set","@entity.sweptIds",["@firstId"]],["set","@entity.traversing",true],["set","@entity.done",["==",["array/len","@order"],1]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/concat","","@firstVal"]]]]]],["let",[["nextId",["array/nth","@entity.traversalOrder",["array/len","@entity.sweptIds"]]]],["let",[["newSwept",["array/append","@entity.sweptIds","@nextId"]]],["do",["set","@entity.sweptIds","@newSwept"],["set","@entity.done",[">=",["array/len","@newSwept"],["array/len","@entity.traversalOrder"]]],["set","@entity.narration",["str/concat","@config.traversalKind"," traversal — visiting order so far: ",["str/join",["array/map","@newSwept",["fn","sid",["str/concat","",["object/get",["array/find","@entity.entries",["fn","t",["==",["object/get","@t","id"],"@sid"]]],"value"]]]],", "]]]]]]],["set","@entity.nodes",["array/map","@entity.nodes",["fn","n",["object/merge","@n",{"state":["if",["and",["==","@entity.traversing",true],["array/includes","@entity.sweptIds",["object/get","@n","id"]]],"path","visited"]}]]]],["set","@entity.edges",["array/map","@entity.edges",["fn","e",["object/merge","@e",{"state":"tree"}]]]],["render-ui","main",{"type":"box","padding":"md","children":[{"type":"stack","direction":"vertical","gap":"md","children":[{"type":"stack","direction":"horizontal","justify":"between","align":"start","gap":"md","children":[{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"h4","content":"@entity.title"},["if",["==","@config.summary",""],null,{"type":"typography","variant":"body2","color":"muted","content":"@config.summary"}]]},{"type":"badge","label":["if","@entity.traversing","Traversing",["if","@entity.running","Auto-stepping","Building"]],"variant":["if","@entity.traversing","success",["if","@entity.running","primary","neutral"]]}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"INSERT_VALUE","label":"Insert","icon":"plus","variant":"primary"},{"type":"button","action":"DELETE_VALUE","label":"Delete","variant":"secondary"},{"type":"button","action":"RUN_TRAVERSAL","label":"Traverse","icon":"step-forward","variant":"secondary"},["if","@entity.running",{"type":"button","action":"TOGGLE_RUN","label":"Pause","icon":"pause","variant":"secondary","aria-pressed":"true"},{"type":"button","action":"TOGGLE_RUN","label":"Run","icon":"play","variant":"secondary","aria-pressed":"false"}],{"type":"button","action":"RESET","label":"Reset","icon":"rotate-ccw","variant":"ghost"},{"type":"typography","variant":"caption","color":"muted","content":["str/concat",["str/concat","","@entity.count"]," nodes"]}]},{"type":"algo-graph-canvas","keyMap":{"Space":"TOGGLE_RUN","ArrowRight":"RUN_TRAVERSAL","KeyR":"RESET"},"width":"@config.width","height":"@config.height","backgroundColor":"@config.backgroundColor","layout":"tree","root":"n0","nodes":"@entity.nodes","edges":"@entity.edges"},{"type":"typography","variant":"body","content":"@entity.narration"}]}]}],["emit","TREE_UPDATED",{"nodes":"@entity.nodes","edges":"@entity.edges","count":"@entity.count","narration":"@entity.narration"}]]}],"config":{"height":{"type":"number","default":400,"label":"Height","description":"Canvas height in pixels.","tier":"presentation"},"autoRun":{"type":"boolean","default":false,"label":"Auto Run","description":"When true, the tick auto-steps the traversal sweep started by Traverse; toggle live with the Run/Pause button. Has no effect on Insert/Delete, which stay manual.","synonyms":"auto run, auto step, auto play","tier":"domain"},"summary":{"type":"string","default":"","label":"Concept","description":"One line under the title saying what the learner is looking at (keep it under ~65 characters). Empty shows no line.","tier":"presentation"},"matchMode":{"type":"string","default":"","label":"Match Mode","description":"When composed behind a lab router, the MODE_SELECTED mode value this instrument responds to. Empty string means standalone — render immediately on INIT.","tier":"presentation"},"showComparisons":{"type":"boolean","default":true,"label":"Show Comparisons","description":"Include each left/right comparison in the narration while a value descends; turn off for a terse attach-only narration.","synonyms":"comparisons, narration detail","tier":"presentation"},"backgroundColor":{"type":"string","default":"","label":"Background Color","description":"Canvas ground. Empty uses the theme drawing ground.","tier":"presentation"},"width":{"type":"number","default":600,"label":"Width","description":"Canvas width in pixels.","tier":"presentation"},"title":{"type":"string","default":"Ordered Tree","label":"Title","description":"Title shown above the canvas.","tier":"presentation"},"values":{"type":"[number]","default":[50,30,70,20,40,60,80],"label":"Values","description":"The values Insert feeds into the tree, one per descent, in order.","synonyms":"keys, values to insert, dataset, sequence","tier":"domain","items":{"type":"number"}},"rosterSource":{"type":"string","default":"config","label":"Roster Source","description":"Where the insertion values come from: config reads the values knob at INIT; event waits for ROSTER_LOADED and takes them from its payload.","tier":"domain","values":["config","event"]},"traversalKind":{"type":"string","default":"inorder","label":"Traversal Kind","description":"Which sweep Traverse replays — inorder (sorted order, left to right), preorder (root before children), or levelorder (breadth first, top to bottom).","synonyms":"traversal, in-order, pre-order, level-order, sweep","tier":"domain"},"balanced":{"type":"boolean","default":false,"label":"Balance Readout","description":"When true, each insert's narration reports the tree's current height against its node count so the learner can judge balance; no auto-rotation is performed.","synonyms":"balance, height, balance readout","tier":"domain"}},"scope":"instance"}],"pages":[{"name":"LearnTreePage","id":"pag_WQ8SXCYH2P8HBABDAAJ23T6V69","path":"/learn-tree","traits":[{"ref":"LearnTreeSim","refId":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"}]}],"types":{"LearnTreeEdge":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]}],"LearnTreeEntry":[{"name":"id","type":"string","required":true},{"name":"value","type":"number","required":true},{"name":"rank","type":"number","required":true},{"name":"path","type":"string"},{"name":"levelKey","type":"number"}],"LearnTreeNode":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_BJVA5JDV24XH2CKN4XR36JPW54":{"id":"ent_BJVA5JDV24XH2CKN4XR36JPW54","kind":"entity","bakedName":"LearnTreeScene","curName":"LearnTreeScene","renames":[],"owner":"workspace"},"evt_93M2RNC6JH398ZKMFB4TV856QH":{"id":"evt_93M2RNC6JH398ZKMFB4TV856QH","kind":"event","bakedName":"MODE_SELECTED","curName":"MODE_SELECTED","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_B13PNNPZ0GFG85MHT49D82YS7B":{"id":"evt_B13PNNPZ0GFG85MHT49D82YS7B","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_KDSA6TQG0CR068FHBJWWWFZ6GB":{"id":"evt_KDSA6TQG0CR068FHBJWWWFZ6GB","kind":"event","bakedName":"INSERT_VALUE","curName":"INSERT_VALUE","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_KV44BCTJ7V93XNN0F7VT9M60PJ":{"id":"evt_KV44BCTJ7V93XNN0F7VT9M60PJ","kind":"event","bakedName":"TREE_UPDATED","curName":"TREE_UPDATED","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_TZK7AECFH67RK06NPC34SCZSP9":{"id":"evt_TZK7AECFH67RK06NPC34SCZSP9","kind":"event","bakedName":"RESET","curName":"RESET","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_VR7VHNTM95A4JK0XS2RQQRYX3T":{"id":"evt_VR7VHNTM95A4JK0XS2RQQRYX3T","kind":"event","bakedName":"ROSTER_LOADED","curName":"ROSTER_LOADED","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_VXN83KH1BVGNXKZWGRR89K4TPS":{"id":"evt_VXN83KH1BVGNXKZWGRR89K4TPS","kind":"event","bakedName":"RUN_TRAVERSAL","curName":"RUN_TRAVERSAL","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_YM4KA4E2SS1CWJJ84J7QT972EF":{"id":"evt_YM4KA4E2SS1CWJJ84J7QT972EF","kind":"event","bakedName":"DELETE_VALUE","curName":"DELETE_VALUE","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"evt_Z4XV454DKA6SNAQ42E0MHPWTKW":{"id":"evt_Z4XV454DKA6SNAQ42E0MHPWTKW","kind":"event","bakedName":"TOGGLE_RUN","curName":"TOGGLE_RUN","renames":[],"owner":"workspace","parent":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6"},"orb_G901W900CS06CJKT7TS5T55GC8":{"id":"orb_G901W900CS06CJKT7TS5T55GC8","kind":"orbital","bakedName":"LearnTreeOrbital","curName":"LearnTreeOrbital","renames":[],"owner":"workspace"},"pag_WQ8SXCYH2P8HBABDAAJ23T6V69":{"id":"pag_WQ8SXCYH2P8HBABDAAJ23T6V69","kind":"page","bakedName":"LearnTreePage","curName":"LearnTreePage","renames":[],"owner":"workspace"},"trt_RNAAPJEPF6B7KFH0F00PW2P2K6":{"id":"trt_RNAAPJEPF6B7KFH0F00PW2P2K6","kind":"trait","bakedName":"LearnTreeSim","curName":"LearnTreeSim","renames":[],"owner":"workspace"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"ui-algo-graph-canvas","version":"1.0.0","description":"AlgoGraphCanvas — UI factory (1:1 with the @almadar/ui algo-graph-canvas pattern).","orbitals":[{"name":"AlgoGraphCanvasOrbital","id":"orb_NVMW6T0R8KC49JYCBAF3AG0NFG","entity":{"name":"AlgoGraphCanvasItem","id":"ent_J1RYJ6J43D21PPVKCYTK41SE6C","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"AlgoGraphCanvasRender","id":"trt_0KH68XZ27PH3VA7Q1X6KNT4469","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"AlgoGraphCanvasItem","linkedEntityId":"ent_J1RYJ6J43D21PPVKCYTK41SE6C","entityRefIds":{"AlgoGraphCanvasItem":"ent_J1RYJ6J43D21PPVKCYTK41SE6C"},"emits":[{"event":"@config.onShapeClick","eventId":"evt_9E0FQ792M2HA19DVXG50R1D6KC","description":"onShapeClick prop","tier":"essential","scope":"external","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string"},{"name":"type","type":"string"},{"name":"index","type":"number","required":true}]}],"definerKnob":"onShapeClick"},{"event":"@config.onNodeClick","eventId":"evt_N0BKFXAZ2BFH5T086NXZTDT0JB","description":"Fires when a node circle is clicked, alongside `onShapeClick`.","tier":"essential","scope":"external","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"index","type":"number","required":true}]}],"definerKnob":"onNodeClick"}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_XR2K9987023G1E0HKVEQN09XES","name":"Initialize"},{"key":"@config.onShapeClick","id":"evt_9E0FQ792M2HA19DVXG50R1D6KC","name":"@config.on shape click","description":"onShapeClick prop","tier":"essential","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string"},{"name":"type","type":"string"},{"name":"index","type":"number","required":true}]}]},{"key":"@config.onNodeClick","id":"evt_N0BKFXAZ2BFH5T086NXZTDT0JB","name":"@config.on node click","description":"Fires when a node circle is clicked, alongside `onShapeClick`.","tier":"essential","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"index","type":"number","required":true}]}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_XR2K9987023G1E0HKVEQN09XES","effects":[["render-ui","main",{"className":"@config.className","width":"@config.width","height":"@config.height","title":"@config.title","backgroundColor":"@config.backgroundColor","series":"@config.series","keyMap":"@config.keyMap","keyUpMap":"@config.keyUpMap","nodes":"@config.nodes","edges":"@config.edges","layout":"@config.layout","root":"@config.root","shapes":"@config.shapes","interactive":"@config.interactive","animate":"@config.animate","onShapeClick":"@config.onShapeClick","onNodeClick":"@config.onNodeClick","isLoading":"@config.isLoading","error":"@config.error","enter":"@config.enter","enterDelay":"@config.enterDelay","skeleton":"@config.skeleton","aria-label":"@config.ariaLabel","aria-labelledby":"@config.ariaLabelledby","aria-describedby":"@config.ariaDescribedby","aria-live":"@config.ariaLive","aria-current":"@config.ariaCurrent","aria-pressed":"@config.ariaPressed","aria-expanded":"@config.ariaExpanded","aria-selected":"@config.ariaSelected","aria-hidden":"@config.ariaHidden","aria-busy":"@config.ariaBusy","role":"@config.role","lang":"@config.lang","dir":"@config.dir","tabIndex":"@config.tabIndex","type":"algo-graph-canvas"}]]}]},"config":{"height":{"type":"number","default":400,"label":"Height","description":"height prop","tier":"presentation"},"ariaSelected":{"type":"boolean","label":"Aria-selected","description":"Whether this item is selected (tabs, options, grid cells).","synonyms":"aria-selected","tier":"presentation"},"onShapeClick":{"type":"event","default":"SHAPE_CLICK","label":"On Shape Click","description":"onShapeClick prop","tier":"presentation"},"ariaLive":{"type":"string","label":"Aria-live","description":"Announce changes to this region: polite waits for a pause, assertive interrupts.","synonyms":"aria-live","tier":"presentation","values":["off","polite","assertive"]},"animate":{"type":"boolean","default":false,"label":"Animate","description":"animate prop","tier":"presentation"},"title":{"type":"string","label":"Title","description":"title prop","tier":"presentation"},"backgroundColor":{"type":"string","label":"Background Color","description":"backgroundColor prop","tier":"presentation"},"enterDelay":{"type":"number","label":"Enter Delay","description":"Stagger step for the entry: waits this many `--motion-enter-stagger` steps before animating.","tier":"presentation"},"onNodeClick":{"type":"event","default":"NODE_CLICK","label":"On Node Click","description":"Fires when a node circle is clicked, alongside `onShapeClick`.","tier":"presentation"},"ariaPressed":{"type":"string","label":"Aria-pressed","description":"Toggle-button state.","synonyms":"aria-pressed","tier":"presentation","values":["true","false","mixed"]},"layout":{"type":"string","default":"manual","label":"Layout","description":"Deterministic layout to compute node positions; `manual` passes through `x`/`y`.","tier":"presentation","values":["manual","tree","layered","circle"]},"keyUpMap":{"type":"Map<string,string>","default":{"item":"INIT"},"label":"Key Up Map","description":"Maps a keyup `e.code` to a semantic event emitted as `UI:{event}`.","tier":"presentation","items":{"type":"string"}},"className":{"type":"string","label":"Class Name","description":"className prop","tier":"presentation"},"nodes":{"type":"[AlgoGraphCanvasNodesItem]","default":[],"label":"Nodes","description":"nodes prop","tier":"presentation","items":{"type":"object","properties":{"state":{"name":"state","type":"string","required":false,"values":["unvisited","frontier","current","visited","goal","path"]},"badge":{"name":"badge","type":"object","required":false,"properties":{"color":{"name":"color","type":"string","required":false},"text":{"name":"text","type":"string","required":true}}},"radius":{"name":"radius","type":"number","required":false},"color":{"name":"color","type":"string","required":false},"x":{"name":"x","type":"number","required":false},"id":{"name":"id","type":"string","required":true},"y":{"name":"y","type":"number","required":false},"label":{"name":"label","type":"string","required":false}}}},"width":{"type":"number","default":600,"label":"Width","description":"width prop","tier":"presentation"},"ariaExpanded":{"type":"boolean","label":"Aria-expanded","description":"Whether the element it controls is expanded.","synonyms":"aria-expanded","tier":"presentation"},"ariaLabel":{"type":"string","label":"Aria-label","description":"Accessible name read by screen readers when the visible text is missing or not descriptive (e.g. an icon-only control).","synonyms":"aria-label","tier":"presentation"},"shapes":{"type":"[AlgoGraphCanvasShapesItem]","default":[],"label":"Shapes","description":"Extra declarative shapes in canvas pixel coordinates.","tier":"presentation","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":false},"fillStyle":{"name":"fillStyle","type":"string","required":false,"values":["solid","tint","outline","hatch"]},"tone":{"name":"tone","type":"string","required":false,"values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},"step":{"name":"step","type":"number","required":false},"font":{"name":"font","type":"string","required":false,"values":["body","display","mono"]},"y2":{"name":"y2","type":"number","required":false},"lineWidth":{"name":"lineWidth","type":"number","required":false},"dash":{"name":"dash","type":"string","required":false,"values":["solid","dashed","dotted"]},"color":{"name":"color","type":"string","required":false},"fontFamily":{"name":"fontFamily","type":"string","required":false},"points":{"name":"points","type":"array","required":false,"items":{"type":"object","properties":{"x":{"name":"x","type":"number","required":true},"y":{"name":"y","type":"number","required":true}}}},"endAngle":{"name":"endAngle","type":"number","required":false},"inside":{"name":"inside","type":"array","required":false,"items":{"type":"string"}},"fill":{"name":"fill","type":"string","required":false},"axis":{"name":"axis","type":"string","required":false,"values":["x","y"]},"width":{"name":"width","type":"number","required":false},"outside":{"name":"outside","type":"array","required":false,"items":{"type":"string"}},"startAngle":{"name":"startAngle","type":"number","required":false},"textCase":{"name":"textCase","type":"string","required":false,"values":["theme","verbatim"]},"opacity":{"name":"opacity","type":"number","required":false},"textSize":{"name":"textSize","type":"string","required":false,"values":["xs","sm","base","lg","xl","2xl"]},"height":{"name":"height","type":"number","required":false},"radius":{"name":"radius","type":"number","required":false},"id":{"name":"id","type":"string","required":false},"path":{"name":"path","type":"string","required":false},"align":{"name":"align","type":"string","required":false,"values":["left","center","right"]},"text":{"name":"text","type":"string","required":false},"fontSize":{"name":"fontSize","type":"number","required":false},"stroke":{"name":"stroke","type":"string","required":false,"values":["thin","normal","bold"]},"max":{"name":"max","type":"number","required":false},"x":{"name":"x","type":"number","required":false},"x1":{"name":"x1","type":"number","required":false},"y":{"name":"y","type":"number","required":false},"min":{"name":"min","type":"number","required":false},"fillTone":{"name":"fillTone","type":"string","required":false,"values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},"type":{"name":"type","type":"string","required":true,"values":["line","arrow","circle","ellipse","rect","polygon","path","text","axis","grid","venn-region"]},"y1":{"name":"y1","type":"number","required":false},"x2":{"name":"x2","type":"number","required":false}}}},"error":{"type":"AlgoGraphCanvasError","label":"Error","description":"error prop","tier":"presentation","properties":{"code":{"name":"code","type":"string","required":false},"message":{"name":"message","type":"string","required":true},"stack":{"name":"stack","type":"string","required":false},"name":{"name":"name","type":"string","required":false}}},"series":{"type":"[string]","default":[],"label":"Series","description":"Overrides the theme's categorical palette (`series-1…N`) for this canvas — real-world conventions like CPK atom colors or resistor bands. Unset, the theme's `--color-series-*` apply.","tier":"presentation","items":{"type":"string"}},"enter":{"type":"string","label":"Enter","description":"How this element animates in when it mounts (theme-styled); overrides the theme's default slot entry. `none` opts out.","tier":"presentation","values":["none","fade","rise","scale","slide"]},"ariaHidden":{"type":"boolean","label":"Aria-hidden","description":"Hide from assistive technology (decorative content only).","synonyms":"aria-hidden","tier":"presentation"},"keyMap":{"type":"Map<string,string>","default":{"item":"INIT"},"label":"Key Map","description":"Maps a keydown `e.code` (optionally `Mod+`/`Shift+`/`Alt+` prefixed) to a SEMANTIC event emitted as `UI:{event}` — e.g. `{ Space: TOGGLE_RUN, ArrowRight: STEP, KeyR: RESET }`; keystrokes inside inputs never route.","tier":"presentation","items":{"type":"string"}},"edges":{"type":"[AlgoGraphCanvasEdgesItem]","default":[],"label":"Edges","description":"edges prop","tier":"presentation","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":false},"from":{"name":"from","type":"string","required":true},"color":{"name":"color","type":"string","required":false},"directed":{"name":"directed","type":"boolean","required":false},"weight":{"name":"weight","type":"number","required":false},"to":{"name":"to","type":"string","required":true},"state":{"name":"state","type":"string","required":false,"values":["default","tree","relaxed","candidate","path"]}}}},"ariaLabelledby":{"type":"string","label":"Aria-labelledby","description":"Id of the element whose text names this one.","synonyms":"aria-labelledby","tier":"presentation"},"ariaCurrent":{"type":"string","label":"Aria-current","description":"Marks the current item in a set: the current page, step, location, date or time.","synonyms":"aria-current","tier":"presentation","values":["page","step","location","date","time","true","false"]},"isLoading":{"type":"boolean","label":"Is Loading","description":"isLoading prop","tier":"presentation"},"root":{"type":"string","label":"Root","description":"`tree` layout only: preferred root id. Falls back to the first indegree-0 node.","tier":"presentation"},"role":{"type":"string","label":"Role","description":"WAI-ARIA role when the element's native semantics don't describe it.","tier":"presentation","values":["alert","alertdialog","application","article","banner","blockquote","button","caption","cell","checkbox","code","columnheader","combobox","complementary","contentinfo","definition","deletion","dialog","document","emphasis","feed","figure","form","generic","grid","gridcell","group","heading","img","insertion","link","list","listbox","listitem","log","main","marquee","math","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","meter","navigation","none","note","option","paragraph","presentation","progressbar","radio","radiogroup","region","row","rowgroup","rowheader","scrollbar","search","searchbox","separator","slider","spinbutton","status","strong","subscript","superscript","switch","tab","table","tablist","tabpanel","term","textbox","time","timer","toolbar","tooltip","tree","treegrid","treeitem"]},"ariaBusy":{"type":"boolean","label":"Aria-busy","description":"This region is updating; assistive technology waits before announcing it.","synonyms":"aria-busy","tier":"presentation"},"skeleton":{"type":"string","label":"Skeleton","description":"Skeleton shown while this element's server render is in flight: a shape (`table`, `list`, …), `{ variant, rows?, columns?, fields? }`, or `none`.","tier":"presentation","values":["header","table","list","grid","detail","stats","form","card","text","none"]},"dir":{"type":"string","label":"Dir","description":"Text direction of this element's content.","tier":"presentation","values":["ltr","rtl","auto"]},"interactive":{"type":"boolean","default":false,"label":"Interactive","description":"interactive prop","tier":"presentation"},"lang":{"type":"string","label":"Lang","description":"Language of this element's content (BCP 47, e.g. ar, sl, en).","tier":"presentation"},"tabIndex":{"type":"number","label":"Tab Index","description":"0 puts the element in the Tab order; -1 makes it focusable only programmatically.","tier":"presentation"},"ariaDescribedby":{"type":"string","label":"Aria-describedby","description":"Id of the element whose text describes this one (help text, error).","synonyms":"aria-describedby","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"AlgoGraphCanvasPage","id":"pag_RGZVHY753TJHX861BEK62G6P36","path":"/algo-graph-canvas","traits":[{"ref":"AlgoGraphCanvasRender","refId":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"}]}],"types":{"AlgoGraphCanvasEdgesItem":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"weight","type":"number"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]},{"name":"color","type":"string"}],"AlgoGraphCanvasError":[{"name":"message","type":"string","required":true},{"name":"name","type":"string"},{"name":"code","type":"string"},{"name":"stack","type":"string"}],"AlgoGraphCanvasNODECLICKPayload":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"index","type":"number","required":true}],"AlgoGraphCanvasNodesItem":[{"name":"id","type":"string","required":true},{"name":"x","type":"number"},{"name":"y","type":"number"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]},{"name":"color","type":"string"},{"name":"radius","type":"number"},{"name":"badge","type":"object","properties":[{"name":"text","type":"string","required":true},{"name":"color","type":"string"}]}],"AlgoGraphCanvasNodesItemBadge":[{"name":"text","type":"string","required":true},{"name":"color","type":"string"}],"AlgoGraphCanvasSHAPECLICKPayload":[{"name":"id","type":"string"},{"name":"type","type":"string"},{"name":"index","type":"number","required":true}],"AlgoGraphCanvasShapesItem":[{"name":"tone","type":"string","values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},{"name":"fillTone","type":"string","values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},{"name":"stroke","type":"string","values":["thin","normal","bold"]},{"name":"textSize","type":"string","values":["xs","sm","base","lg","xl","2xl"]},{"name":"font","type":"string","values":["body","display","mono"]},{"name":"textCase","type":"string","values":["theme","verbatim"]},{"name":"fillStyle","type":"string","values":["solid","tint","outline","hatch"]},{"name":"type","type":"string","values":["line","arrow","circle","ellipse","rect","polygon","path","text","axis","grid","venn-region"],"required":true},{"name":"id","type":"string"},{"name":"x","type":"number"},{"name":"y","type":"number"},{"name":"x1","type":"number"},{"name":"y1","type":"number"},{"name":"x2","type":"number"},{"name":"y2","type":"number"},{"name":"radius","type":"number"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"points","type":"[object]","properties":[{"name":"x","type":"number","required":true},{"name":"y","type":"number","required":true}]},{"name":"path","type":"string"},{"name":"text","type":"string"},{"name":"label","type":"string"},{"name":"fontSize","type":"number"},{"name":"fontFamily","type":"string"},{"name":"align","type":"string","values":["left","center","right"]},{"name":"axis","type":"string","values":["x","y"]},{"name":"min","type":"number"},{"name":"max","type":"number"},{"name":"step","type":"number"},{"name":"color","type":"string"},{"name":"fill","type":"string"},{"name":"lineWidth","type":"number"},{"name":"opacity","type":"number"},{"name":"startAngle","type":"number"},{"name":"endAngle","type":"number"},{"name":"dash","type":"string","values":["solid","dashed","dotted"]},{"name":"inside","type":"[string]"},{"name":"outside","type":"[string]"}],"AlgoGraphCanvasShapesItemPointsItem":[{"name":"x","type":"number","required":true},{"name":"y","type":"number","required":true}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_J1RYJ6J43D21PPVKCYTK41SE6C":{"id":"ent_J1RYJ6J43D21PPVKCYTK41SE6C","kind":"entity","bakedName":"AlgoGraphCanvasItem","curName":"AlgoGraphCanvasItem","renames":[],"owner":"workspace"},"evt_9E0FQ792M2HA19DVXG50R1D6KC":{"id":"evt_9E0FQ792M2HA19DVXG50R1D6KC","kind":"event","bakedName":"@config.onShapeClick","curName":"@config.onShapeClick","renames":[],"owner":"workspace","parent":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"},"evt_N0BKFXAZ2BFH5T086NXZTDT0JB":{"id":"evt_N0BKFXAZ2BFH5T086NXZTDT0JB","kind":"event","bakedName":"@config.onNodeClick","curName":"@config.onNodeClick","renames":[],"owner":"workspace","parent":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"},"evt_XR2K9987023G1E0HKVEQN09XES":{"id":"evt_XR2K9987023G1E0HKVEQN09XES","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"},"orb_NVMW6T0R8KC49JYCBAF3AG0NFG":{"id":"orb_NVMW6T0R8KC49JYCBAF3AG0NFG","kind":"orbital","bakedName":"AlgoGraphCanvasOrbital","curName":"AlgoGraphCanvasOrbital","renames":[],"owner":"workspace"},"pag_RGZVHY753TJHX861BEK62G6P36":{"id":"pag_RGZVHY753TJHX861BEK62G6P36","kind":"page","bakedName":"AlgoGraphCanvasPage","curName":"AlgoGraphCanvasPage","renames":[],"owner":"workspace"},"trt_0KH68XZ27PH3VA7Q1X6KNT4469":{"id":"trt_0KH68XZ27PH3VA7Q1X6KNT4469","kind":"trait","bakedName":"AlgoGraphCanvasRender","curName":"AlgoGraphCanvasRender","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"ui-algo-graph-canvas","version":"1.0.0","description":"AlgoGraphCanvas — UI factory (1:1 with the @almadar/ui algo-graph-canvas pattern).","orbitals":[{"name":"AlgoGraphCanvasOrbital","id":"orb_NVMW6T0R8KC49JYCBAF3AG0NFG","entity":{"name":"AlgoGraphCanvasItem","id":"ent_J1RYJ6J43D21PPVKCYTK41SE6C","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"AlgoGraphCanvasRender","id":"trt_0KH68XZ27PH3VA7Q1X6KNT4469","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"AlgoGraphCanvasItem","linkedEntityId":"ent_J1RYJ6J43D21PPVKCYTK41SE6C","entityRefIds":{"AlgoGraphCanvasItem":"ent_J1RYJ6J43D21PPVKCYTK41SE6C"},"emits":[{"event":"@config.onShapeClick","eventId":"evt_9E0FQ792M2HA19DVXG50R1D6KC","description":"onShapeClick prop","tier":"essential","scope":"external","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string"},{"name":"type","type":"string"},{"name":"index","type":"number","required":true}]}],"definerKnob":"onShapeClick"},{"event":"@config.onNodeClick","eventId":"evt_N0BKFXAZ2BFH5T086NXZTDT0JB","description":"Fires when a node circle is clicked, alongside `onShapeClick`.","tier":"essential","scope":"external","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"index","type":"number","required":true}]}],"definerKnob":"onNodeClick"}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_XR2K9987023G1E0HKVEQN09XES","name":"Initialize"},{"key":"@config.onShapeClick","id":"evt_9E0FQ792M2HA19DVXG50R1D6KC","name":"@config.on shape click","description":"onShapeClick prop","tier":"essential","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string"},{"name":"type","type":"string"},{"name":"index","type":"number","required":true}]}]},{"key":"@config.onNodeClick","id":"evt_N0BKFXAZ2BFH5T086NXZTDT0JB","name":"@config.on node click","description":"Fires when a node circle is clicked, alongside `onShapeClick`.","tier":"essential","payloadSchema":[{"name":"payload","type":"object","properties":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"index","type":"number","required":true}]}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_XR2K9987023G1E0HKVEQN09XES","effects":[["render-ui","main",{"className":"@config.className","width":"@config.width","height":"@config.height","title":"@config.title","backgroundColor":"@config.backgroundColor","series":"@config.series","keyMap":"@config.keyMap","keyUpMap":"@config.keyUpMap","nodes":"@config.nodes","edges":"@config.edges","layout":"@config.layout","root":"@config.root","shapes":"@config.shapes","interactive":"@config.interactive","animate":"@config.animate","onShapeClick":"@config.onShapeClick","onNodeClick":"@config.onNodeClick","isLoading":"@config.isLoading","error":"@config.error","enter":"@config.enter","enterDelay":"@config.enterDelay","skeleton":"@config.skeleton","aria-label":"@config.ariaLabel","aria-labelledby":"@config.ariaLabelledby","aria-describedby":"@config.ariaDescribedby","aria-live":"@config.ariaLive","aria-current":"@config.ariaCurrent","aria-pressed":"@config.ariaPressed","aria-expanded":"@config.ariaExpanded","aria-selected":"@config.ariaSelected","aria-hidden":"@config.ariaHidden","aria-busy":"@config.ariaBusy","role":"@config.role","lang":"@config.lang","dir":"@config.dir","tabIndex":"@config.tabIndex","type":"algo-graph-canvas"}]]}]},"config":{"width":{"type":"number","default":600,"label":"Width","description":"width prop","tier":"presentation"},"ariaLabel":{"type":"string","label":"Aria-label","description":"Accessible name read by screen readers when the visible text is missing or not descriptive (e.g. an icon-only control).","synonyms":"aria-label","tier":"presentation"},"ariaBusy":{"type":"boolean","label":"Aria-busy","description":"This region is updating; assistive technology waits before announcing it.","synonyms":"aria-busy","tier":"presentation"},"isLoading":{"type":"boolean","label":"Is Loading","description":"isLoading prop","tier":"presentation"},"edges":{"type":"[AlgoGraphCanvasEdgesItem]","default":[],"label":"Edges","description":"edges prop","tier":"presentation","items":{"type":"object","properties":{"state":{"name":"state","type":"string","required":false,"values":["default","tree","relaxed","candidate","path"]},"from":{"name":"from","type":"string","required":true},"label":{"name":"label","type":"string","required":false},"weight":{"name":"weight","type":"number","required":false},"color":{"name":"color","type":"string","required":false},"directed":{"name":"directed","type":"boolean","required":false},"to":{"name":"to","type":"string","required":true}}}},"ariaLive":{"type":"string","label":"Aria-live","description":"Announce changes to this region: polite waits for a pause, assertive interrupts.","synonyms":"aria-live","tier":"presentation","values":["off","polite","assertive"]},"className":{"type":"string","label":"Class Name","description":"className prop","tier":"presentation"},"ariaLabelledby":{"type":"string","label":"Aria-labelledby","description":"Id of the element whose text names this one.","synonyms":"aria-labelledby","tier":"presentation"},"dir":{"type":"string","label":"Dir","description":"Text direction of this element's content.","tier":"presentation","values":["ltr","rtl","auto"]},"backgroundColor":{"type":"string","label":"Background Color","description":"backgroundColor prop","tier":"presentation"},"error":{"type":"AlgoGraphCanvasError","label":"Error","description":"error prop","tier":"presentation","properties":{"stack":{"name":"stack","type":"string","required":false},"name":{"name":"name","type":"string","required":false},"message":{"name":"message","type":"string","required":true},"code":{"name":"code","type":"string","required":false}}},"onNodeClick":{"type":"event","default":"NODE_CLICK","label":"On Node Click","description":"Fires when a node circle is clicked, alongside `onShapeClick`.","tier":"presentation"},"ariaSelected":{"type":"boolean","label":"Aria-selected","description":"Whether this item is selected (tabs, options, grid cells).","synonyms":"aria-selected","tier":"presentation"},"series":{"type":"[string]","default":[],"label":"Series","description":"Overrides the theme's categorical palette (`series-1…N`) for this canvas — real-world conventions like CPK atom colors or resistor bands. Unset, the theme's `--color-series-*` apply.","tier":"presentation","items":{"type":"string"}},"ariaDescribedby":{"type":"string","label":"Aria-describedby","description":"Id of the element whose text describes this one (help text, error).","synonyms":"aria-describedby","tier":"presentation"},"ariaExpanded":{"type":"boolean","label":"Aria-expanded","description":"Whether the element it controls is expanded.","synonyms":"aria-expanded","tier":"presentation"},"root":{"type":"string","label":"Root","description":"`tree` layout only: preferred root id. Falls back to the first indegree-0 node.","tier":"presentation"},"layout":{"type":"string","default":"manual","label":"Layout","description":"Deterministic layout to compute node positions; `manual` passes through `x`/`y`.","tier":"presentation","values":["manual","tree","layered","circle"]},"onShapeClick":{"type":"event","default":"SHAPE_CLICK","label":"On Shape Click","description":"onShapeClick prop","tier":"presentation"},"skeleton":{"type":"string","label":"Skeleton","description":"Skeleton shown while this element's server render is in flight: a shape (`table`, `list`, …), `{ variant, rows?, columns?, fields? }`, or `none`.","tier":"presentation","values":["header","table","list","grid","detail","stats","form","card","text","none"]},"interactive":{"type":"boolean","default":false,"label":"Interactive","description":"interactive prop","tier":"presentation"},"keyUpMap":{"type":"Map<string,string>","default":{"item":"INIT"},"label":"Key Up Map","description":"Maps a keyup `e.code` to a semantic event emitted as `UI:{event}`.","tier":"presentation","items":{"type":"string"}},"keyMap":{"type":"Map<string,string>","default":{"item":"INIT"},"label":"Key Map","description":"Maps a keydown `e.code` (optionally `Mod+`/`Shift+`/`Alt+` prefixed) to a SEMANTIC event emitted as `UI:{event}` — e.g. `{ Space: TOGGLE_RUN, ArrowRight: STEP, KeyR: RESET }`; keystrokes inside inputs never route.","tier":"presentation","items":{"type":"string"}},"ariaPressed":{"type":"string","label":"Aria-pressed","description":"Toggle-button state.","synonyms":"aria-pressed","tier":"presentation","values":["true","false","mixed"]},"height":{"type":"number","default":400,"label":"Height","description":"height prop","tier":"presentation"},"lang":{"type":"string","label":"Lang","description":"Language of this element's content (BCP 47, e.g. ar, sl, en).","tier":"presentation"},"title":{"type":"string","label":"Title","description":"title prop","tier":"presentation"},"tabIndex":{"type":"number","label":"Tab Index","description":"0 puts the element in the Tab order; -1 makes it focusable only programmatically.","tier":"presentation"},"role":{"type":"string","label":"Role","description":"WAI-ARIA role when the element's native semantics don't describe it.","tier":"presentation","values":["alert","alertdialog","application","article","banner","blockquote","button","caption","cell","checkbox","code","columnheader","combobox","complementary","contentinfo","definition","deletion","dialog","document","emphasis","feed","figure","form","generic","grid","gridcell","group","heading","img","insertion","link","list","listbox","listitem","log","main","marquee","math","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","meter","navigation","none","note","option","paragraph","presentation","progressbar","radio","radiogroup","region","row","rowgroup","rowheader","scrollbar","search","searchbox","separator","slider","spinbutton","status","strong","subscript","superscript","switch","tab","table","tablist","tabpanel","term","textbox","time","timer","toolbar","tooltip","tree","treegrid","treeitem"]},"enter":{"type":"string","label":"Enter","description":"How this element animates in when it mounts (theme-styled); overrides the theme's default slot entry. `none` opts out.","tier":"presentation","values":["none","fade","rise","scale","slide"]},"shapes":{"type":"[AlgoGraphCanvasShapesItem]","default":[],"label":"Shapes","description":"Extra declarative shapes in canvas pixel coordinates.","tier":"presentation","items":{"type":"object","properties":{"radius":{"name":"radius","type":"number","required":false},"x1":{"name":"x1","type":"number","required":false},"fill":{"name":"fill","type":"string","required":false},"type":{"name":"type","type":"string","required":true,"values":["line","arrow","circle","ellipse","rect","polygon","path","text","axis","grid","venn-region"]},"y1":{"name":"y1","type":"number","required":false},"min":{"name":"min","type":"number","required":false},"path":{"name":"path","type":"string","required":false},"color":{"name":"color","type":"string","required":false},"inside":{"name":"inside","type":"array","required":false,"items":{"type":"string"}},"y2":{"name":"y2","type":"number","required":false},"step":{"name":"step","type":"number","required":false},"max":{"name":"max","type":"number","required":false},"lineWidth":{"name":"lineWidth","type":"number","required":false},"dash":{"name":"dash","type":"string","required":false,"values":["solid","dashed","dotted"]},"textSize":{"name":"textSize","type":"string","required":false,"values":["xs","sm","base","lg","xl","2xl"]},"x":{"name":"x","type":"number","required":false},"stroke":{"name":"stroke","type":"string","required":false,"values":["thin","normal","bold"]},"width":{"name":"width","type":"number","required":false},"startAngle":{"name":"startAngle","type":"number","required":false},"id":{"name":"id","type":"string","required":false},"fontFamily":{"name":"fontFamily","type":"string","required":false},"x2":{"name":"x2","type":"number","required":false},"tone":{"name":"tone","type":"string","required":false,"values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},"height":{"name":"height","type":"number","required":false},"y":{"name":"y","type":"number","required":false},"font":{"name":"font","type":"string","required":false,"values":["body","display","mono"]},"label":{"name":"label","type":"string","required":false},"opacity":{"name":"opacity","type":"number","required":false},"outside":{"name":"outside","type":"array","required":false,"items":{"type":"string"}},"fillTone":{"name":"fillTone","type":"string","required":false,"values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},"text":{"name":"text","type":"string","required":false},"endAngle":{"name":"endAngle","type":"number","required":false},"align":{"name":"align","type":"string","required":false,"values":["left","center","right"]},"points":{"name":"points","type":"array","required":false,"items":{"type":"object","properties":{"y":{"name":"y","type":"number","required":true},"x":{"name":"x","type":"number","required":true}}}},"axis":{"name":"axis","type":"string","required":false,"values":["x","y"]},"fillStyle":{"name":"fillStyle","type":"string","required":false,"values":["solid","tint","outline","hatch"]},"fontSize":{"name":"fontSize","type":"number","required":false},"textCase":{"name":"textCase","type":"string","required":false,"values":["theme","verbatim"]}}}},"nodes":{"type":"[AlgoGraphCanvasNodesItem]","default":[],"label":"Nodes","description":"nodes prop","tier":"presentation","items":{"type":"object","properties":{"y":{"name":"y","type":"number","required":false},"badge":{"name":"badge","type":"object","required":false,"properties":{"color":{"name":"color","type":"string","required":false},"text":{"name":"text","type":"string","required":true}}},"state":{"name":"state","type":"string","required":false,"values":["unvisited","frontier","current","visited","goal","path"]},"x":{"name":"x","type":"number","required":false},"color":{"name":"color","type":"string","required":false},"radius":{"name":"radius","type":"number","required":false},"label":{"name":"label","type":"string","required":false},"id":{"name":"id","type":"string","required":true}}}},"enterDelay":{"type":"number","label":"Enter Delay","description":"Stagger step for the entry: waits this many `--motion-enter-stagger` steps before animating.","tier":"presentation"},"ariaHidden":{"type":"boolean","label":"Aria-hidden","description":"Hide from assistive technology (decorative content only).","synonyms":"aria-hidden","tier":"presentation"},"ariaCurrent":{"type":"string","label":"Aria-current","description":"Marks the current item in a set: the current page, step, location, date or time.","synonyms":"aria-current","tier":"presentation","values":["page","step","location","date","time","true","false"]},"animate":{"type":"boolean","default":false,"label":"Animate","description":"animate prop","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"AlgoGraphCanvasPage","id":"pag_RGZVHY753TJHX861BEK62G6P36","path":"/algo-graph-canvas","traits":[{"ref":"AlgoGraphCanvasRender","refId":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"}]}],"types":{"AlgoGraphCanvasEdgesItem":[{"name":"from","type":"string","required":true},{"name":"to","type":"string","required":true},{"name":"directed","type":"boolean"},{"name":"weight","type":"number"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["default","tree","relaxed","candidate","path"]},{"name":"color","type":"string"}],"AlgoGraphCanvasError":[{"name":"message","type":"string","required":true},{"name":"name","type":"string"},{"name":"code","type":"string"},{"name":"stack","type":"string"}],"AlgoGraphCanvasNODECLICKPayload":[{"name":"id","type":"string","required":true},{"name":"label","type":"string"},{"name":"index","type":"number","required":true}],"AlgoGraphCanvasNodesItem":[{"name":"id","type":"string","required":true},{"name":"x","type":"number"},{"name":"y","type":"number"},{"name":"label","type":"string"},{"name":"state","type":"string","values":["unvisited","frontier","current","visited","goal","path"]},{"name":"color","type":"string"},{"name":"radius","type":"number"},{"name":"badge","type":"object","properties":[{"name":"text","type":"string","required":true},{"name":"color","type":"string"}]}],"AlgoGraphCanvasNodesItemBadge":[{"name":"text","type":"string","required":true},{"name":"color","type":"string"}],"AlgoGraphCanvasSHAPECLICKPayload":[{"name":"id","type":"string"},{"name":"type","type":"string"},{"name":"index","type":"number","required":true}],"AlgoGraphCanvasShapesItem":[{"name":"tone","type":"string","values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},{"name":"fillTone","type":"string","values":["ink","label","guide","axis","grid","highlight","fill","series-1","series-2","series-3","series-4","series-5","series-6","series-7","series-8","primary","accent","success","warning","error","info","muted"]},{"name":"stroke","type":"string","values":["thin","normal","bold"]},{"name":"textSize","type":"string","values":["xs","sm","base","lg","xl","2xl"]},{"name":"font","type":"string","values":["body","display","mono"]},{"name":"textCase","type":"string","values":["theme","verbatim"]},{"name":"fillStyle","type":"string","values":["solid","tint","outline","hatch"]},{"name":"type","type":"string","values":["line","arrow","circle","ellipse","rect","polygon","path","text","axis","grid","venn-region"],"required":true},{"name":"id","type":"string"},{"name":"x","type":"number"},{"name":"y","type":"number"},{"name":"x1","type":"number"},{"name":"y1","type":"number"},{"name":"x2","type":"number"},{"name":"y2","type":"number"},{"name":"radius","type":"number"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"points","type":"[object]","properties":[{"name":"x","type":"number","required":true},{"name":"y","type":"number","required":true}]},{"name":"path","type":"string"},{"name":"text","type":"string"},{"name":"label","type":"string"},{"name":"fontSize","type":"number"},{"name":"fontFamily","type":"string"},{"name":"align","type":"string","values":["left","center","right"]},{"name":"axis","type":"string","values":["x","y"]},{"name":"min","type":"number"},{"name":"max","type":"number"},{"name":"step","type":"number"},{"name":"color","type":"string"},{"name":"fill","type":"string"},{"name":"lineWidth","type":"number"},{"name":"opacity","type":"number"},{"name":"startAngle","type":"number"},{"name":"endAngle","type":"number"},{"name":"dash","type":"string","values":["solid","dashed","dotted"]},{"name":"inside","type":"[string]"},{"name":"outside","type":"[string]"}],"AlgoGraphCanvasShapesItemPointsItem":[{"name":"x","type":"number","required":true},{"name":"y","type":"number","required":true}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_J1RYJ6J43D21PPVKCYTK41SE6C":{"id":"ent_J1RYJ6J43D21PPVKCYTK41SE6C","kind":"entity","bakedName":"AlgoGraphCanvasItem","curName":"AlgoGraphCanvasItem","renames":[],"owner":"workspace"},"evt_9E0FQ792M2HA19DVXG50R1D6KC":{"id":"evt_9E0FQ792M2HA19DVXG50R1D6KC","kind":"event","bakedName":"@config.onShapeClick","curName":"@config.onShapeClick","renames":[],"owner":"workspace","parent":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"},"evt_N0BKFXAZ2BFH5T086NXZTDT0JB":{"id":"evt_N0BKFXAZ2BFH5T086NXZTDT0JB","kind":"event","bakedName":"@config.onNodeClick","curName":"@config.onNodeClick","renames":[],"owner":"workspace","parent":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"},"evt_XR2K9987023G1E0HKVEQN09XES":{"id":"evt_XR2K9987023G1E0HKVEQN09XES","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_0KH68XZ27PH3VA7Q1X6KNT4469"},"orb_NVMW6T0R8KC49JYCBAF3AG0NFG":{"id":"orb_NVMW6T0R8KC49JYCBAF3AG0NFG","kind":"orbital","bakedName":"AlgoGraphCanvasOrbital","curName":"AlgoGraphCanvasOrbital","renames":[],"owner":"workspace"},"pag_RGZVHY753TJHX861BEK62G6P36":{"id":"pag_RGZVHY753TJHX861BEK62G6P36","kind":"page","bakedName":"AlgoGraphCanvasPage","curName":"AlgoGraphCanvasPage","renames":[],"owner":"workspace"},"trt_0KH68XZ27PH3VA7Q1X6KNT4469":{"id":"trt_0KH68XZ27PH3VA7Q1X6KNT4469","kind":"trait","bakedName":"AlgoGraphCanvasRender","curName":"AlgoGraphCanvasRender","renames":[],"owner":"workspace"}}}}
|