@almadar/std 16.252.0 → 16.254.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-pool.lolo +355 -0
- package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +16 -2
- package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +152 -0
- package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +320 -26
- package/behaviors/lolo/ui/learning/atoms/std-learn-generate.lolo +6 -4
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-fix-loop.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -0
- 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/evals/eval-agent-builder.orb +1 -0
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
- package/behaviors/registry/agent/organisms/std-agent-builder.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-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-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-lookup.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-date-range.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-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-role-gate.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 +2 -2
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/knob-embeddings.hash.json +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-learn-estimate","version":"1.0.0","description":"Generic estimation drill — a config-declared prompt roster asks for a quantity, the learner commits an estimate on a slider and locks it in, and the guess is graded by relative-error band: within the exact band scores full points, within the close band partial, outside none, with the true answer and the learner's percentage error revealed after each lock-in and a running score across the round. All vocabulary and bands are config-declared, so the same mechanism serves any quantitative intuition: orders of magnitude, unit conversions, historical dates, population sizes, physical constants, probabilities. Standalone by default; behind a lab router set matchMode and it renders only when MODE_SELECTED matches.","orbitals":[{"name":"EstimateOrbital","id":"orb_RYYYKBC9BH4NRW9FJHAKX7DP6S","entity":{"name":"EstimateScene","id":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"active","type":"boolean","default":false},{"name":"title","type":"string"},{"name":"prompts","type":"array","items":{"type":"object","properties":{"unit":{"name":"unit","type":"string","required":false},"answer":{"name":"answer","type":"number","required":true},"hint":{"name":"hint","type":"string","required":false},"prompt":{"name":"prompt","type":"string","required":true}}}},{"name":"promptIndex","type":"number","default":0},{"name":"totalPrompts","type":"number","default":0},{"name":"estimate","type":"number","default":0},{"name":"locked","type":"boolean","default":false},{"name":"band","type":"string"},{"name":"score","type":"number","default":0},{"name":"done","type":"boolean","default":false},{"name":"promptText","type":"string"},{"name":"promptHint","type":"string"},{"name":"answer","type":"number","default":0},{"name":"unit","type":"string"},{"name":"feedback","type":"string"},{"name":"view","type":"array","items":{"type":"node"}}]},"traits":[{"name":"EstimateSim","id":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD","entityRebindable":true,"entityContract":{"requires":[],"provides":["active","answer","band","done","estimate","feedback","locked","promptHint","promptIndex","promptText","prompts","score","title","totalPrompts","unit","view"]},"effectRow":[{"kind":"emit","resource":"ESTIMATE_JUDGED"},{"kind":"emit","resource":"LEARN_ROUND_COMPLETE"},{"kind":"emit","resource":"PROMPT_ADVANCED"},{"kind":"emit","resource":"ROUND_RESTARTED"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.active"},{"kind":"set","resource":"@entity.answer"},{"kind":"set","resource":"@entity.band"},{"kind":"set","resource":"@entity.done"},{"kind":"set","resource":"@entity.estimate"},{"kind":"set","resource":"@entity.feedback"},{"kind":"set","resource":"@entity.locked"},{"kind":"set","resource":"@entity.promptHint"},{"kind":"set","resource":"@entity.promptIndex"},{"kind":"set","resource":"@entity.promptText"},{"kind":"set","resource":"@entity.prompts"},{"kind":"set","resource":"@entity.score"},{"kind":"set","resource":"@entity.title"},{"kind":"set","resource":"@entity.totalPrompts"},{"kind":"set","resource":"@entity.unit"},{"kind":"set","resource":"@entity.view"}],"category":"interaction","linkedEntity":"EstimateScene","linkedEntityId":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN","entityRefIds":{"EstimateScene":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN"},"emits":[{"event":"ESTIMATE_JUDGED","eventId":"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY","description":"The verdict of a lock-in: which error band the estimate landed in (exact, close, off), the guess, the truth, and the running score — a composed listener (coach, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"estimation, order of magnitude, guess the number, error band, quantitative intuition","tier":"domain","scope":"external","payloadSchema":[{"name":"band","type":"string"},{"name":"estimate","type":"number"},{"name":"answer","type":"number"},{"name":"score","type":"number"}]},{"event":"PROMPT_ADVANCED","eventId":"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D","description":"The learner moved to the next prompt (or completed the round) with the running score.","tier":"domain","scope":"external","payloadSchema":[{"name":"promptIndex","type":"number"},{"name":"done","type":"boolean"},{"name":"score","type":"number"}]},{"event":"ROUND_RESTARTED","eventId":"evt_BTKPQYQVF3XQHN82EE0BFPQ70H","description":"The learner restarted the round from scratch.","tier":"domain","scope":"external","payloadSchema":[{"name":"totalPrompts","type":"number"}]},{"event":"LEARN_ROUND_COMPLETE","eventId":"evt_KYVMR53J8ES475Q991FFJSWM38","description":"Fired once when the round finishes (advancing past the final prompt) — the standard learning completion broadcast a celebration/progression sibling (fx cues, badges) rides.","synonyms":"round complete, finished, done, completion","tier":"domain","scope":"external","payloadSchema":[{"name":"score","type":"number"},{"name":"total","type":"number"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_FJ0BXJ3M25T12P8T264SQCJHDA","name":"Initialize"},{"key":"MODE_SELECTED","id":"evt_9EXDH515WKJY9M9321Z1VBBBTA","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_XNTQMP2MX1AEGYW3RHV2QGQVVN","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 prompts is the prompt list; 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":"prompts","type":"[object]","required":true,"properties":[{"name":"prompt","type":"string","required":true},{"name":"answer","type":"number","required":true},{"name":"unit","type":"string"},{"name":"hint","type":"string"}]}],"listened":true},{"key":"SET_ESTIMATE","id":"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA","name":"Set Estimate","description":"Learner moved the estimate slider — value is the current guess, not yet graded.","tier":"domain","payloadSchema":[{"name":"value","type":"number"}],"listened":true},{"key":"LOCK_IN","id":"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ","name":"Lock In","description":"Learner committed the current estimate; it is graded against the true answer by relative-error band.","tier":"domain","listened":true},{"key":"NEXT","id":"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1","name":"Next","description":"Learner advanced to the next prompt after a lock-in; past the last prompt this completes the round.","tier":"domain","listened":true},{"key":"RETRY","id":"evt_93PG67YWGBE85STN54ZNZXNPNF","name":"Retry","description":"Learner restarted the round from the first prompt with a cleared score.","tier":"domain","listened":true},{"key":"ESTIMATE_JUDGED","id":"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY","name":"Estimate Judged","description":"The verdict of a lock-in: which error band the estimate landed in (exact, close, off), the guess, the truth, and the running score — a composed listener (coach, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"estimation, order of magnitude, guess the number, error band, quantitative intuition","tier":"domain","payloadSchema":[{"name":"band","type":"string"},{"name":"estimate","type":"number"},{"name":"answer","type":"number"},{"name":"score","type":"number"}]},{"key":"PROMPT_ADVANCED","id":"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D","name":"Prompt Advanced","description":"The learner moved to the next prompt (or completed the round) with the running score.","tier":"domain","payloadSchema":[{"name":"promptIndex","type":"number"},{"name":"done","type":"boolean"},{"name":"score","type":"number"}]},{"key":"ROUND_RESTARTED","id":"evt_BTKPQYQVF3XQHN82EE0BFPQ70H","name":"Round Restarted","description":"The learner restarted the round from scratch.","tier":"domain","payloadSchema":[{"name":"totalPrompts","type":"number"}]},{"key":"LEARN_ROUND_COMPLETE","id":"evt_KYVMR53J8ES475Q991FFJSWM38","name":"Learn Round Complete","description":"Fired once when the round finishes (advancing past the final prompt) — the standard learning completion broadcast a celebration/progression sibling (fx cues, badges) rides.","synonyms":"round complete, finished, done, completion","tier":"domain","payloadSchema":[{"name":"score","type":"number"},{"name":"total","type":"number"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_FJ0BXJ3M25T12P8T264SQCJHDA","guard":["and",["==","@config.matchMode",""],["==","@config.rosterSource","config"]],"effects":[["set","@entity.prompts","@config.prompts"],["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.promptIndex",0],["set","@entity.totalPrompts",["array/len","@entity.prompts"]],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_9EXDH515WKJY9M9321Z1VBBBTA","guard":["and",["not",["==","@config.matchMode",""]],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_9EXDH515WKJY9M9321Z1VBBBTA","guard":["and",["==","@payload.mode","@config.matchMode"],["==","@config.rosterSource","config"]],"effects":[["set","@entity.prompts","@config.prompts"],["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.promptIndex",0],["set","@entity.totalPrompts",["array/len","@entity.prompts"]],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN","guard":["and",["==","@config.rosterSource","event"],["and",["==","@payload.mode","@config.matchMode"],[">",["array/len","@payload.prompts"],0]]],"effects":[["set","@entity.prompts","@payload.prompts"],["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.promptIndex",0],["set","@entity.totalPrompts",["array/len","@entity.prompts"]],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN","guard":["and",["==","@config.rosterSource","event"],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"SET_ESTIMATE","eventId":"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA","guard":["and",["==","@entity.active",true],["and",["==","@entity.locked",false],["==","@entity.done",false]]],"effects":[["set","@entity.estimate",["math/clamp","@payload.value","@config.sliderMin","@config.sliderMax"]],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"LOCK_IN","eventId":"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ","guard":["and",["==","@entity.active",true],["and",["==","@entity.locked",false],["==","@entity.done",false]]],"effects":[["let",[["err",["math/abs",["-","@entity.estimate","@entity.answer"]]],["rel",["/","@err",["math/max",["math/abs","@entity.answer"],0.0001]]],["band",["if",["<=","@rel","@config.exactPct"],"exact",["if",["<=","@rel","@config.closePct"],"close","off"]]],["points",["if",["==","@band","exact"],"@config.exactPoints",["if",["==","@band","close"],"@config.closePoints",0]]]],["do",["set","@entity.locked",true],["set","@entity.band","@band"],["set","@entity.score",["+","@entity.score","@points"]],["set","@entity.feedback",["str/concat","Answer: ",["math/round","@entity.answer",2]," ","@entity.unit"," — you were off by ",["math/round","@err",2]," (",["math/round",["*","@rel",100],1],"%). +",["str/concat","","@points"]," points."]],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}],["emit","ESTIMATE_JUDGED",{"band":"@entity.band","estimate":"@entity.estimate","answer":"@entity.answer","score":"@entity.score"}]]},{"from":"idle","to":"idle","event":"NEXT","eventId":"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1","guard":["and",["==","@entity.active",true],["and",["==","@entity.locked",true],["==","@entity.done",false]]],"effects":[["if",[">=",["+","@entity.promptIndex",1],["array/len","@entity.prompts"]],["emit","LEARN_ROUND_COMPLETE",{"score":"@entity.score","total":["array/len","@entity.prompts"]}],null],["let",[["nextIndex",["+","@entity.promptIndex",1]],["finished",[">=","@nextIndex",["array/len","@entity.prompts"]]],["next",["array/nth","@entity.prompts",["math/min","@nextIndex",["-",["array/len","@entity.prompts"],1]]]]],["do",["set","@entity.promptIndex",["if","@finished","@entity.promptIndex","@nextIndex"]],["set","@entity.done",["if","@finished",true,false]],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.promptText",["if","@finished","@entity.promptText",["object/get","@next","prompt"]]],["set","@entity.promptHint",["if","@finished","@entity.promptHint",["object/get","@next","hint",""]]],["set","@entity.answer",["if","@finished","@entity.answer",["object/get","@next","answer"]]],["set","@entity.unit",["if","@finished","@entity.unit",["object/get","@next","unit",""]]],["set","@entity.feedback",""],["set","@entity.view",["if","@finished",[{"type":"typography","variant":"h4","content":"Round Complete"},{"type":"stat-display","label":"Final score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]},{"type":"button","action":"RETRY","label":"@config.retryLabel","icon":"rotate-ccw","variant":"primary"}],[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}],["emit","PROMPT_ADVANCED",{"promptIndex":"@entity.promptIndex","done":"@entity.done","score":"@entity.score"}]]},{"from":"idle","to":"idle","event":"RETRY","eventId":"evt_93PG67YWGBE85STN54ZNZXNPNF","guard":["and",["==","@entity.active",true],["==","@entity.done",true]],"effects":[["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.promptIndex",0],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}],["emit","ROUND_RESTARTED",{"totalPrompts":"@entity.totalPrompts"}]]}]},"config":{"rosterSource":{"type":"string","default":"config","label":"Roster Source","description":"Where the prompt roster comes from: config reads the prompts knob at INIT; event waits for ROSTER_LOADED and takes the roster from its payload.","tier":"domain","values":["config","event"]},"nextLabel":{"type":"string","default":"Next","label":"Next Label","tier":"presentation"},"sliderStep":{"type":"number","default":0.1,"label":"Slider Step","tier":"presentation"},"prompts":{"type":"[EstimatePrompt]","default":[{"prompt":"How many meters does light travel in one microsecond?","answer":300,"unit":"m","hint":"Light covers 300,000 km every second."},{"prompt":"What is the boiling point of water at sea level, in Fahrenheit?","answer":212,"unit":"°F","hint":"It is 100 °C."},{"prompt":"Roughly how many days is one million seconds?","answer":11.6,"unit":"days","hint":"A day is 86,400 seconds."}],"label":"Prompts","description":"The question roster; each prompt carries the true numeric answer, an optional unit, and an optional hint. Realizations declare their own subject's quantities here.","tier":"domain","items":{"type":"object","properties":{"prompt":{"name":"prompt","type":"string","required":true},"unit":{"name":"unit","type":"string","required":false},"answer":{"name":"answer","type":"number","required":true},"hint":{"name":"hint","type":"string","required":false}}}},"lockLabel":{"type":"string","default":"Lock In","label":"Lock Label","tier":"presentation"},"closePct":{"type":"number","default":0.25,"label":"Close Band","description":"Relative error at or below this fraction (but above the exact band) counts as close (partial points).","tier":"domain"},"exactPoints":{"type":"number","default":2,"label":"Exact Points","tier":"domain"},"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"},"closePoints":{"type":"number","default":1,"label":"Close Points","tier":"domain"},"retryLabel":{"type":"string","default":"Try Again","label":"Retry Label","tier":"presentation"},"sliderDefault":{"type":"number","default":100,"label":"Slider Default","description":"Starting position of the estimate slider for each prompt.","tier":"domain"},"exactPct":{"type":"number","default":0.05,"label":"Exact Band","description":"Relative error at or below this fraction counts as exact (full points).","tier":"domain"},"sliderMin":{"type":"number","default":0,"label":"Slider Min","description":"Lower bound of the estimate slider.","tier":"domain"},"title":{"type":"string","default":"Estimate It","label":"Title","description":"Title shown above the drill.","tier":"presentation"},"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"},"sliderMax":{"type":"number","default":500,"label":"Slider Max","description":"Upper bound of the estimate slider.","tier":"domain"}},"scope":"instance"}],"pages":[{"name":"EstimatePage","id":"pag_7E4EQRM0Q90BMJ2MJRXFGFKE3Q","path":"/learn-estimate","traits":[{"ref":"EstimateSim","refId":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"}]}],"types":{"EstimatePrompt":[{"name":"prompt","type":"string","required":true},{"name":"answer","type":"number","required":true},{"name":"unit","type":"string"},{"name":"hint","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_WWZWE2FQARVNC4H9YAZTDNV6VN":{"id":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN","kind":"entity","bakedName":"EstimateScene","curName":"EstimateScene","renames":[],"owner":"workspace"},"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY":{"id":"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY","kind":"event","bakedName":"ESTIMATE_JUDGED","curName":"ESTIMATE_JUDGED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_93PG67YWGBE85STN54ZNZXNPNF":{"id":"evt_93PG67YWGBE85STN54ZNZXNPNF","kind":"event","bakedName":"RETRY","curName":"RETRY","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_9EXDH515WKJY9M9321Z1VBBBTA":{"id":"evt_9EXDH515WKJY9M9321Z1VBBBTA","kind":"event","bakedName":"MODE_SELECTED","curName":"MODE_SELECTED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_BTKPQYQVF3XQHN82EE0BFPQ70H":{"id":"evt_BTKPQYQVF3XQHN82EE0BFPQ70H","kind":"event","bakedName":"ROUND_RESTARTED","curName":"ROUND_RESTARTED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_FJ0BXJ3M25T12P8T264SQCJHDA":{"id":"evt_FJ0BXJ3M25T12P8T264SQCJHDA","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D":{"id":"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D","kind":"event","bakedName":"PROMPT_ADVANCED","curName":"PROMPT_ADVANCED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_KYVMR53J8ES475Q991FFJSWM38":{"id":"evt_KYVMR53J8ES475Q991FFJSWM38","kind":"event","bakedName":"LEARN_ROUND_COMPLETE","curName":"LEARN_ROUND_COMPLETE","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1":{"id":"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1","kind":"event","bakedName":"NEXT","curName":"NEXT","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA":{"id":"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA","kind":"event","bakedName":"SET_ESTIMATE","curName":"SET_ESTIMATE","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN":{"id":"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN","kind":"event","bakedName":"ROSTER_LOADED","curName":"ROSTER_LOADED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ":{"id":"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ","kind":"event","bakedName":"LOCK_IN","curName":"LOCK_IN","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"orb_RYYYKBC9BH4NRW9FJHAKX7DP6S":{"id":"orb_RYYYKBC9BH4NRW9FJHAKX7DP6S","kind":"orbital","bakedName":"EstimateOrbital","curName":"EstimateOrbital","renames":[],"owner":"workspace"},"pag_7E4EQRM0Q90BMJ2MJRXFGFKE3Q":{"id":"pag_7E4EQRM0Q90BMJ2MJRXFGFKE3Q","kind":"page","bakedName":"EstimatePage","curName":"EstimatePage","renames":[],"owner":"workspace"},"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD":{"id":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD","kind":"trait","bakedName":"EstimateSim","curName":"EstimateSim","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-learn-estimate","version":"1.0.0","description":"Generic estimation drill — a config-declared prompt roster asks for a quantity, the learner commits an estimate on a slider and locks it in, and the guess is graded by relative-error band: within the exact band scores full points, within the close band partial, outside none, with the true answer and the learner's percentage error revealed after each lock-in and a running score across the round. All vocabulary and bands are config-declared, so the same mechanism serves any quantitative intuition: orders of magnitude, unit conversions, historical dates, population sizes, physical constants, probabilities. Standalone by default; behind a lab router set matchMode and it renders only when MODE_SELECTED matches.","orbitals":[{"name":"EstimateOrbital","id":"orb_RYYYKBC9BH4NRW9FJHAKX7DP6S","entity":{"name":"EstimateScene","id":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"active","type":"boolean","default":false},{"name":"title","type":"string"},{"name":"prompts","type":"array","items":{"type":"object","properties":{"prompt":{"name":"prompt","type":"string","required":true},"unit":{"name":"unit","type":"string","required":false},"answer":{"name":"answer","type":"number","required":true},"hint":{"name":"hint","type":"string","required":false}}}},{"name":"promptIndex","type":"number","default":0},{"name":"totalPrompts","type":"number","default":0},{"name":"estimate","type":"number","default":0},{"name":"locked","type":"boolean","default":false},{"name":"band","type":"string"},{"name":"score","type":"number","default":0},{"name":"done","type":"boolean","default":false},{"name":"promptText","type":"string"},{"name":"promptHint","type":"string"},{"name":"answer","type":"number","default":0},{"name":"unit","type":"string"},{"name":"feedback","type":"string"},{"name":"view","type":"array","items":{"type":"node"}}]},"traits":[{"name":"EstimateSim","id":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD","entityRebindable":true,"entityContract":{"requires":[],"provides":["active","answer","band","done","estimate","feedback","locked","promptHint","promptIndex","promptText","prompts","score","title","totalPrompts","unit","view"]},"effectRow":[{"kind":"emit","resource":"ESTIMATE_JUDGED"},{"kind":"emit","resource":"LEARN_ROUND_COMPLETE"},{"kind":"emit","resource":"PROMPT_ADVANCED"},{"kind":"emit","resource":"ROUND_RESTARTED"},{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.active"},{"kind":"set","resource":"@entity.answer"},{"kind":"set","resource":"@entity.band"},{"kind":"set","resource":"@entity.done"},{"kind":"set","resource":"@entity.estimate"},{"kind":"set","resource":"@entity.feedback"},{"kind":"set","resource":"@entity.locked"},{"kind":"set","resource":"@entity.promptHint"},{"kind":"set","resource":"@entity.promptIndex"},{"kind":"set","resource":"@entity.promptText"},{"kind":"set","resource":"@entity.prompts"},{"kind":"set","resource":"@entity.score"},{"kind":"set","resource":"@entity.title"},{"kind":"set","resource":"@entity.totalPrompts"},{"kind":"set","resource":"@entity.unit"},{"kind":"set","resource":"@entity.view"}],"category":"interaction","linkedEntity":"EstimateScene","linkedEntityId":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN","entityRefIds":{"EstimateScene":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN"},"emits":[{"event":"ESTIMATE_JUDGED","eventId":"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY","description":"The verdict of a lock-in: which error band the estimate landed in (exact, close, off), the guess, the truth, and the running score — a composed listener (coach, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"estimation, order of magnitude, guess the number, error band, quantitative intuition","tier":"domain","scope":"external","payloadSchema":[{"name":"band","type":"string"},{"name":"estimate","type":"number"},{"name":"answer","type":"number"},{"name":"score","type":"number"}]},{"event":"PROMPT_ADVANCED","eventId":"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D","description":"The learner moved to the next prompt (or completed the round) with the running score.","tier":"domain","scope":"external","payloadSchema":[{"name":"promptIndex","type":"number"},{"name":"done","type":"boolean"},{"name":"score","type":"number"}]},{"event":"ROUND_RESTARTED","eventId":"evt_BTKPQYQVF3XQHN82EE0BFPQ70H","description":"The learner restarted the round from scratch.","tier":"domain","scope":"external","payloadSchema":[{"name":"totalPrompts","type":"number"}]},{"event":"LEARN_ROUND_COMPLETE","eventId":"evt_KYVMR53J8ES475Q991FFJSWM38","description":"Fired once when the round finishes (advancing past the final prompt) — the standard learning completion broadcast a celebration/progression sibling (fx cues, badges) rides.","synonyms":"round complete, finished, done, completion","tier":"domain","scope":"external","payloadSchema":[{"name":"score","type":"number"},{"name":"total","type":"number"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_FJ0BXJ3M25T12P8T264SQCJHDA","name":"Initialize"},{"key":"MODE_SELECTED","id":"evt_9EXDH515WKJY9M9321Z1VBBBTA","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_XNTQMP2MX1AEGYW3RHV2QGQVVN","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 prompts is the prompt list; 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":"prompts","type":"[object]","required":true,"properties":[{"name":"prompt","type":"string","required":true},{"name":"answer","type":"number","required":true},{"name":"unit","type":"string"},{"name":"hint","type":"string"}]}],"listened":true},{"key":"SET_ESTIMATE","id":"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA","name":"Set Estimate","description":"Learner moved the estimate slider — value is the current guess, not yet graded.","tier":"domain","payloadSchema":[{"name":"value","type":"number"}],"listened":true},{"key":"LOCK_IN","id":"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ","name":"Lock In","description":"Learner committed the current estimate; it is graded against the true answer by relative-error band.","tier":"domain","listened":true},{"key":"NEXT","id":"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1","name":"Next","description":"Learner advanced to the next prompt after a lock-in; past the last prompt this completes the round.","tier":"domain","listened":true},{"key":"RETRY","id":"evt_93PG67YWGBE85STN54ZNZXNPNF","name":"Retry","description":"Learner restarted the round from the first prompt with a cleared score.","tier":"domain","listened":true},{"key":"ESTIMATE_JUDGED","id":"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY","name":"Estimate Judged","description":"The verdict of a lock-in: which error band the estimate landed in (exact, close, off), the guess, the truth, and the running score — a composed listener (coach, grader) can subscribe; a harmless no-op when the atom runs standalone.","synonyms":"estimation, order of magnitude, guess the number, error band, quantitative intuition","tier":"domain","payloadSchema":[{"name":"band","type":"string"},{"name":"estimate","type":"number"},{"name":"answer","type":"number"},{"name":"score","type":"number"}]},{"key":"PROMPT_ADVANCED","id":"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D","name":"Prompt Advanced","description":"The learner moved to the next prompt (or completed the round) with the running score.","tier":"domain","payloadSchema":[{"name":"promptIndex","type":"number"},{"name":"done","type":"boolean"},{"name":"score","type":"number"}]},{"key":"ROUND_RESTARTED","id":"evt_BTKPQYQVF3XQHN82EE0BFPQ70H","name":"Round Restarted","description":"The learner restarted the round from scratch.","tier":"domain","payloadSchema":[{"name":"totalPrompts","type":"number"}]},{"key":"LEARN_ROUND_COMPLETE","id":"evt_KYVMR53J8ES475Q991FFJSWM38","name":"Learn Round Complete","description":"Fired once when the round finishes (advancing past the final prompt) — the standard learning completion broadcast a celebration/progression sibling (fx cues, badges) rides.","synonyms":"round complete, finished, done, completion","tier":"domain","payloadSchema":[{"name":"score","type":"number"},{"name":"total","type":"number"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_FJ0BXJ3M25T12P8T264SQCJHDA","guard":["and",["==","@config.matchMode",""],["==","@config.rosterSource","config"]],"effects":[["set","@entity.prompts","@config.prompts"],["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.promptIndex",0],["set","@entity.totalPrompts",["array/len","@entity.prompts"]],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_9EXDH515WKJY9M9321Z1VBBBTA","guard":["and",["not",["==","@config.matchMode",""]],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"MODE_SELECTED","eventId":"evt_9EXDH515WKJY9M9321Z1VBBBTA","guard":["and",["==","@payload.mode","@config.matchMode"],["==","@config.rosterSource","config"]],"effects":[["set","@entity.prompts","@config.prompts"],["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.promptIndex",0],["set","@entity.totalPrompts",["array/len","@entity.prompts"]],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN","guard":["and",["==","@config.rosterSource","event"],["and",["==","@payload.mode","@config.matchMode"],[">",["array/len","@payload.prompts"],0]]],"effects":[["set","@entity.prompts","@payload.prompts"],["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.active",true],["set","@entity.title","@config.title"],["set","@entity.promptIndex",0],["set","@entity.totalPrompts",["array/len","@entity.prompts"]],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"ROSTER_LOADED","eventId":"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN","guard":["and",["==","@config.rosterSource","event"],["not",["==","@payload.mode","@config.matchMode"]]],"effects":[["set","@entity.active",false],["render-ui","main",null]]},{"from":"idle","to":"idle","event":"SET_ESTIMATE","eventId":"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA","guard":["and",["==","@entity.active",true],["and",["==","@entity.locked",false],["==","@entity.done",false]]],"effects":[["set","@entity.estimate",["math/clamp","@payload.value","@config.sliderMin","@config.sliderMax"]],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}]]},{"from":"idle","to":"idle","event":"LOCK_IN","eventId":"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ","guard":["and",["==","@entity.active",true],["and",["==","@entity.locked",false],["==","@entity.done",false]]],"effects":[["let",[["err",["math/abs",["-","@entity.estimate","@entity.answer"]]],["rel",["/","@err",["math/max",["math/abs","@entity.answer"],0.0001]]],["band",["if",["<=","@rel","@config.exactPct"],"exact",["if",["<=","@rel","@config.closePct"],"close","off"]]],["points",["if",["==","@band","exact"],"@config.exactPoints",["if",["==","@band","close"],"@config.closePoints",0]]]],["do",["set","@entity.locked",true],["set","@entity.band","@band"],["set","@entity.score",["+","@entity.score","@points"]],["set","@entity.feedback",["str/concat","Answer: ",["math/round","@entity.answer",2]," ","@entity.unit"," — you were off by ",["math/round","@err",2]," (",["math/round",["*","@rel",100],1],"%). +",["str/concat","","@points"]," points."]],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}],["emit","ESTIMATE_JUDGED",{"band":"@entity.band","estimate":"@entity.estimate","answer":"@entity.answer","score":"@entity.score"}]]},{"from":"idle","to":"idle","event":"NEXT","eventId":"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1","guard":["and",["==","@entity.active",true],["and",["==","@entity.locked",true],["==","@entity.done",false]]],"effects":[["if",[">=",["+","@entity.promptIndex",1],["array/len","@entity.prompts"]],["emit","LEARN_ROUND_COMPLETE",{"score":"@entity.score","total":["array/len","@entity.prompts"]}],null],["let",[["nextIndex",["+","@entity.promptIndex",1]],["finished",[">=","@nextIndex",["array/len","@entity.prompts"]]],["next",["array/nth","@entity.prompts",["math/min","@nextIndex",["-",["array/len","@entity.prompts"],1]]]]],["do",["set","@entity.promptIndex",["if","@finished","@entity.promptIndex","@nextIndex"]],["set","@entity.done",["if","@finished",true,false]],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.promptText",["if","@finished","@entity.promptText",["object/get","@next","prompt"]]],["set","@entity.promptHint",["if","@finished","@entity.promptHint",["object/get","@next","hint",""]]],["set","@entity.answer",["if","@finished","@entity.answer",["object/get","@next","answer"]]],["set","@entity.unit",["if","@finished","@entity.unit",["object/get","@next","unit",""]]],["set","@entity.feedback",""],["set","@entity.view",["if","@finished",[{"type":"typography","variant":"h4","content":"Round Complete"},{"type":"stat-display","label":"Final score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]},{"type":"button","action":"RETRY","label":"@config.retryLabel","icon":"rotate-ccw","variant":"primary"}],[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}],["emit","PROMPT_ADVANCED",{"promptIndex":"@entity.promptIndex","done":"@entity.done","score":"@entity.score"}]]},{"from":"idle","to":"idle","event":"RETRY","eventId":"evt_93PG67YWGBE85STN54ZNZXNPNF","guard":["and",["==","@entity.active",true],["==","@entity.done",true]],"effects":[["let",[["first",["array/nth","@entity.prompts",0]]],["do",["set","@entity.promptIndex",0],["set","@entity.estimate","@config.sliderDefault"],["set","@entity.locked",false],["set","@entity.band",""],["set","@entity.score",0],["set","@entity.done",false],["set","@entity.promptText",["object/get","@first","prompt"]],["set","@entity.promptHint",["object/get","@first","hint",""]],["set","@entity.answer",["object/get","@first","answer"]],["set","@entity.unit",["object/get","@first","unit",""]],["set","@entity.feedback",""],["set","@entity.view",[{"type":"card","variant":"bordered","padding":"md","children":[{"type":"typography","variant":"body","content":"@entity.promptText"},{"type":"typography","variant":"caption","color":"muted","content":"@entity.promptHint"}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","variant":"caption","content":["str/concat","Your estimate: ",["math/round","@entity.estimate",2]," ","@entity.unit"]},{"type":"range-slider","min":"@config.sliderMin","max":"@config.sliderMax","step":"@config.sliderStep","value":"@entity.estimate","showTooltip":true,"action":"SET_ESTIMATE"}]},{"type":"stack","direction":"horizontal","align":"center","gap":"sm","wrap":true,"children":[{"type":"button","action":"LOCK_IN","label":"@config.lockLabel","icon":"check","variant":"primary","disabled":["if","@entity.locked",true,false]},{"type":"button","action":"NEXT","label":"@config.nextLabel","icon":"chevron-right","variant":"secondary","disabled":["if","@entity.locked",false,true]}]},{"type":"stack","direction":"horizontal","gap":"xs","children":[{"type":"typography","variant":"body","content":"@entity.feedback"}]},{"type":"stat-display","label":"Score","value":"@entity.score","max":["*","@entity.totalPrompts","@config.exactPoints"]}]]]],["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.done","Complete",["if",["==","@entity.band","exact"],"Spot on",["if",["==","@entity.band","close"],"Close",["if",["==","@entity.band","off"],"Off","Estimating"]]]],"variant":["if","@entity.done","success",["if",["==","@entity.band","exact"],"success",["if",["==","@entity.band","close"],"warning",["if",["==","@entity.band","off"],"danger","neutral"]]]]}]},{"type":"progress-bar","value":["+","@entity.promptIndex",1],"max":"@entity.totalPrompts","showPercentage":false,"label":["str/concat","Prompt ",["str/concat","",["+","@entity.promptIndex",1]]," of ",["str/concat","","@entity.totalPrompts"]]},{"type":"stack","direction":"vertical","gap":"md","children":"@entity.view"}]}]}],["emit","ROUND_RESTARTED",{"totalPrompts":"@entity.totalPrompts"}]]}]},"config":{"closePoints":{"type":"number","default":1,"label":"Close Points","tier":"domain"},"sliderMax":{"type":"number","default":500,"label":"Slider Max","description":"Upper bound of the estimate slider.","tier":"domain"},"sliderMin":{"type":"number","default":0,"label":"Slider Min","description":"Lower bound of the estimate slider.","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"},"lockLabel":{"type":"string","default":"Lock In","label":"Lock Label","tier":"presentation"},"title":{"type":"string","default":"Estimate It","label":"Title","description":"Title shown above the drill.","tier":"presentation"},"sliderDefault":{"type":"number","default":100,"label":"Slider Default","description":"Starting position of the estimate slider for each prompt.","tier":"domain"},"closePct":{"type":"number","default":0.25,"label":"Close Band","description":"Relative error at or below this fraction (but above the exact band) counts as close (partial points).","tier":"domain"},"prompts":{"type":"[EstimatePrompt]","default":[{"prompt":"How many meters does light travel in one microsecond?","answer":300,"unit":"m","hint":"Light covers 300,000 km every second."},{"prompt":"What is the boiling point of water at sea level, in Fahrenheit?","answer":212,"unit":"°F","hint":"It is 100 °C."},{"prompt":"Roughly how many days is one million seconds?","answer":11.6,"unit":"days","hint":"A day is 86,400 seconds."}],"label":"Prompts","description":"The question roster; each prompt carries the true numeric answer, an optional unit, and an optional hint. Realizations declare their own subject's quantities here.","tier":"domain","items":{"type":"object","properties":{"hint":{"name":"hint","type":"string","required":false},"answer":{"name":"answer","type":"number","required":true},"unit":{"name":"unit","type":"string","required":false},"prompt":{"name":"prompt","type":"string","required":true}}}},"retryLabel":{"type":"string","default":"Try Again","label":"Retry Label","tier":"presentation"},"rosterSource":{"type":"string","default":"config","label":"Roster Source","description":"Where the prompt roster comes from: config reads the prompts knob at INIT; event waits for ROSTER_LOADED and takes the roster from its payload.","tier":"domain","values":["config","event"]},"exactPoints":{"type":"number","default":2,"label":"Exact Points","tier":"domain"},"exactPct":{"type":"number","default":0.05,"label":"Exact Band","description":"Relative error at or below this fraction counts as exact (full points).","tier":"domain"},"nextLabel":{"type":"string","default":"Next","label":"Next Label","tier":"presentation"},"sliderStep":{"type":"number","default":0.1,"label":"Slider Step","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"}},"scope":"instance"}],"pages":[{"name":"EstimatePage","id":"pag_7E4EQRM0Q90BMJ2MJRXFGFKE3Q","path":"/learn-estimate","traits":[{"ref":"EstimateSim","refId":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"}]}],"types":{"EstimatePrompt":[{"name":"prompt","type":"string","required":true},{"name":"answer","type":"number","required":true},{"name":"unit","type":"string"},{"name":"hint","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_WWZWE2FQARVNC4H9YAZTDNV6VN":{"id":"ent_WWZWE2FQARVNC4H9YAZTDNV6VN","kind":"entity","bakedName":"EstimateScene","curName":"EstimateScene","renames":[],"owner":"workspace"},"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY":{"id":"evt_7TQ25CBF0GQG8E2W9DTHKY3EEY","kind":"event","bakedName":"ESTIMATE_JUDGED","curName":"ESTIMATE_JUDGED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_93PG67YWGBE85STN54ZNZXNPNF":{"id":"evt_93PG67YWGBE85STN54ZNZXNPNF","kind":"event","bakedName":"RETRY","curName":"RETRY","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_9EXDH515WKJY9M9321Z1VBBBTA":{"id":"evt_9EXDH515WKJY9M9321Z1VBBBTA","kind":"event","bakedName":"MODE_SELECTED","curName":"MODE_SELECTED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_BTKPQYQVF3XQHN82EE0BFPQ70H":{"id":"evt_BTKPQYQVF3XQHN82EE0BFPQ70H","kind":"event","bakedName":"ROUND_RESTARTED","curName":"ROUND_RESTARTED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_FJ0BXJ3M25T12P8T264SQCJHDA":{"id":"evt_FJ0BXJ3M25T12P8T264SQCJHDA","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D":{"id":"evt_KEQ3MSKFFJQQSB8T71G8XNDG9D","kind":"event","bakedName":"PROMPT_ADVANCED","curName":"PROMPT_ADVANCED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_KYVMR53J8ES475Q991FFJSWM38":{"id":"evt_KYVMR53J8ES475Q991FFJSWM38","kind":"event","bakedName":"LEARN_ROUND_COMPLETE","curName":"LEARN_ROUND_COMPLETE","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1":{"id":"evt_NEWAZCWJQ99BMRYNTQZZ1MWQT1","kind":"event","bakedName":"NEXT","curName":"NEXT","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA":{"id":"evt_S2E4MV56DKK6SQ8FA9WGSAF7MA","kind":"event","bakedName":"SET_ESTIMATE","curName":"SET_ESTIMATE","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN":{"id":"evt_XNTQMP2MX1AEGYW3RHV2QGQVVN","kind":"event","bakedName":"ROSTER_LOADED","curName":"ROSTER_LOADED","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ":{"id":"evt_ZYWWQ4CFG57R2JDB646TKM8KMZ","kind":"event","bakedName":"LOCK_IN","curName":"LOCK_IN","renames":[],"owner":"workspace","parent":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD"},"orb_RYYYKBC9BH4NRW9FJHAKX7DP6S":{"id":"orb_RYYYKBC9BH4NRW9FJHAKX7DP6S","kind":"orbital","bakedName":"EstimateOrbital","curName":"EstimateOrbital","renames":[],"owner":"workspace"},"pag_7E4EQRM0Q90BMJ2MJRXFGFKE3Q":{"id":"pag_7E4EQRM0Q90BMJ2MJRXFGFKE3Q","kind":"page","bakedName":"EstimatePage","curName":"EstimatePage","renames":[],"owner":"workspace"},"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD":{"id":"trt_CV6J5TY2YH1F8M4KGHM5NCX0QD","kind":"trait","bakedName":"EstimateSim","curName":"EstimateSim","renames":[],"owner":"workspace"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-learn-fx-cues","version":"1.0.0","description":"Headless pedagogy→fx translator: rides the bare-event cascade of the graded learning instruments (ANSWER_JUDGED, TAP_JUDGED, ESTIMATE_JUDGED, CLASSIFY_UPDATED, ARRANGEMENT_CHECKED, GOAL_CHECKED, LEARN_ROUND_COMPLETE, TRACE_DONE) and emits BURST cues for std-fx-particles to hold and a composed fx-overlay to play — correct/wrong beats, streak glow at a threshold, and a celebration on completion. Cues are typed FxCue config values carrying their own style (position, ttl, screen effect, color), so a lab opts in with two `uses` lines plus an overlay node and restyles or disables any cue purely through config; the instruments never learn about visuals, and this atom never learns about subjects. A new judged event elsewhere in the substrate means a new arm here — this listens list is the closed extension point. Renders nothing.","orbitals":[{"name":"LearnFxCuesOrbital","id":"orb_Y63B6EPAZ25FHABQ3VSFK50HWX","entity":{"name":"LearnFxCuesScene","id":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"cueSeq","type":"number","default":0}],"shared":true},"traits":[{"name":"LearnFxCues","id":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3","entityRebindable":true,"entityContract":{"requires":[],"provides":["cueSeq"]},"effectRow":[{"kind":"emit","resource":"BURST"},{"kind":"set","resource":"@entity.cueSeq"}],"category":"lifecycle","linkedEntity":"LearnFxCuesScene","linkedEntityId":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8","entityRefIds":{"LearnFxCuesScene":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8"},"emits":[{"event":"BURST","eventId":"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A","description":"Spawned fx cues for a composed std-fx-particles sink (and the fx-overlay reading its entity list) — the same BURST channel the game mechanics use.","synonyms":"fx, cue, celebration, feedback burst, confetti, shake","tier":"domain","scope":"external","payloadSchema":[{"name":"particles","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"y","type":"number"},{"name":"message","type":"string"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"}],"entity":"Fx"}]}],"stateMachine":{"states":[{"name":"active","isInitial":true}],"events":[{"key":"INIT","id":"evt_TQ802DRTGQD8BV05E9SKCJKFH2","name":"Initialize"},{"key":"ANSWER_JUDGED","id":"evt_BZYM5KH3MFHT7Y1SK1383YQNTB","name":"Answer Judged","payloadSchema":[{"name":"correct","type":"boolean"},{"name":"timeLeftTenths","type":"number"},{"name":"score","type":"number"},{"name":"streak","type":"number"}],"listened":true},{"key":"TAP_JUDGED","id":"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE","name":"Tap Judged","payloadSchema":[{"name":"correct","type":"boolean"},{"name":"promptIndex","type":"number"},{"name":"tries","type":"number"}],"listened":true},{"key":"ESTIMATE_JUDGED","id":"evt_7AK2S9DCHDP8PTW7NWPBGVN07R","name":"Estimate Judged","payloadSchema":[{"name":"band","type":"string"},{"name":"estimate","type":"number"},{"name":"answer","type":"number"},{"name":"score","type":"number"}],"listened":true},{"key":"CLASSIFY_UPDATED","id":"evt_0VEQ8SMABE55QCXB75SWM9Q3YH","name":"Classify Updated","payloadSchema":[{"name":"itemIndex","type":"number"},{"name":"correctCount","type":"number"},{"name":"attemptedCount","type":"number"},{"name":"selectedCategory","type":"string"},{"name":"verdict","type":"string"},{"name":"roundComplete","type":"boolean"}],"listened":true},{"key":"ARRANGEMENT_CHECKED","id":"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB","name":"Arrangement Checked","payloadSchema":[{"name":"correctCount","type":"number"},{"name":"total","type":"number"}],"listened":true},{"key":"GOAL_CHECKED","id":"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB","name":"Goal Checked","payloadSchema":[{"name":"matched","type":"boolean"},{"name":"distance","type":"number"},{"name":"attempts","type":"number"}],"listened":true},{"key":"LEARN_ROUND_COMPLETE","id":"evt_DEBHV6KT1KX0SKYKQQ555BHG14","name":"Learn Round Complete","payloadSchema":[{"name":"score","type":"number"},{"name":"total","type":"number"}],"listened":true},{"key":"TRACE_DONE","id":"evt_HA81BDHTHEX8QA8T6EAND9H864","name":"Trace Done","payloadSchema":[{"name":"totalFrames","type":"number"}],"listened":true},{"key":"BURST","id":"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A","name":"Burst","description":"Spawned fx cues for a composed std-fx-particles sink (and the fx-overlay reading its entity list) — the same BURST channel the game mechanics use.","synonyms":"fx, cue, celebration, feedback burst, confetti, shake","tier":"domain","payloadSchema":[{"name":"particles","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"y","type":"number"},{"name":"message","type":"string"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"}],"entity":"Fx"}]}],"transitions":[{"from":"active","to":"active","event":"INIT","eventId":"evt_TQ802DRTGQD8BV05E9SKCJKFH2","effects":[["set","@entity.cueSeq",0]]},{"from":"active","to":"active","event":"ANSWER_JUDGED","eventId":"evt_BZYM5KH3MFHT7Y1SK1383YQNTB","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/concat",[["object/merge",["if","@payload.correct","@config.correctCue","@config.wrongCue"],{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]],["if",["and","@payload.correct",[">=","@payload.streak","@config.streakThreshold"]],[["object/merge","@config.streakCue",{"id":["str/concat","streak-",["+","@entity.cueSeq",1]]}]],[]]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"TAP_JUDGED","eventId":"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/map",[["if","@payload.correct","@config.correctCue","@config.wrongCue"]],["fn","c",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]],"type":["object/get","@c","type"],"x":["object/get","@c","x"],"z":["object/get","@c","z"],"ttl":["object/get","@c","ttl"],"space":["object/get","@c","space"],"effect":["object/get","@c","effect"],"color":["object/get","@c","color"],"size":["object/get","@c","size"],"particleCount":["object/get","@c","particleCount"],"message":["object/get","@c","message"]}]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"ESTIMATE_JUDGED","eventId":"evt_7AK2S9DCHDP8PTW7NWPBGVN07R","guard":"@config.running","effects":[["let",[["matched",["array/filter","@config.bandCues",["fn","b",["==",["object/get","@b","band"],"@payload.band"]]]]],["if",[">",["array/len","@matched"],0],["emit","BURST",{"particles":[["object/merge",["object/get",["array/first","@matched"],"cue"],{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null]],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"CLASSIFY_UPDATED","eventId":"evt_0VEQ8SMABE55QCXB75SWM9Q3YH","guard":"@config.running","effects":[["let",[["matched",["array/filter","@config.verdictCues",["fn","v",["==",["object/get","@v","band"],"@payload.verdict"]]]]],["if",[">",["array/len","@matched"],0],["emit","BURST",{"particles":[["object/merge",["object/get",["array/first","@matched"],"cue"],{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null]],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"ARRANGEMENT_CHECKED","eventId":"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB","guard":"@config.running","effects":[["if",["<","@payload.correctCount","@payload.total"],["emit","BURST",{"particles":[["object/merge","@config.progressCue",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"GOAL_CHECKED","eventId":"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB","guard":"@config.running","effects":[["if",["not","@payload.matched"],["emit","BURST",{"particles":[["object/merge","@config.wrongCue",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"LEARN_ROUND_COMPLETE","eventId":"evt_DEBHV6KT1KX0SKYKQQ555BHG14","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/map",["@config.celebrationCue"],["fn","c",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]],"type":["object/get","@c","type"],"x":["object/get","@c","x"],"z":["object/get","@c","z"],"ttl":["object/get","@c","ttl"],"space":["object/get","@c","space"],"effect":["object/get","@c","effect"],"color":["object/get","@c","color"],"size":["object/get","@c","size"],"particleCount":["object/get","@c","particleCount"],"message":["object/get","@c","message"]}]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"TRACE_DONE","eventId":"evt_HA81BDHTHEX8QA8T6EAND9H864","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/map",["@config.celebrationCue"],["fn","c",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]],"type":["object/get","@c","type"],"x":["object/get","@c","x"],"z":["object/get","@c","z"],"ttl":["object/get","@c","ttl"],"space":["object/get","@c","space"],"effect":["object/get","@c","effect"],"color":["object/get","@c","color"],"size":["object/get","@c","size"],"particleCount":["object/get","@c","particleCount"],"message":["object/get","@c","message"]}]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]}]},"config":{"correctCue":{"type":"FxCue","default":{"type":"correct","x":0.5,"z":0.35,"ttl":1.5,"space":"screen","effect":"sparkle","color":"#4ade80","particleCount":10},"label":"Correct Cue","description":"Cue spawned on a correct judged answer.","tier":"presentation","properties":{"type":{"name":"type","type":"string","required":true},"particleCount":{"name":"particleCount","type":"number","required":false},"color":{"name":"color","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"space":{"name":"space","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"size":{"name":"size","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false},"message":{"name":"message","type":"string","required":false},"x":{"name":"x","type":"number","required":true}}},"progressCue":{"type":"FxCue","default":{"type":"progress","x":0.5,"z":0.35,"ttl":1.5,"space":"screen","effect":"sparkle","color":"#a5b4fc","particleCount":4},"label":"Progress Cue","description":"Cue spawned on a partial arrangement check (some but not all slots correct).","tier":"presentation","properties":{"color":{"name":"color","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"x":{"name":"x","type":"number","required":true},"type":{"name":"type","type":"string","required":true},"message":{"name":"message","type":"string","required":false}}},"bandCues":{"type":"[FxBandCue]","default":[],"label":"Band Cues","description":"Per-band cues for ESTIMATE_JUDGED — one row per error band (exact/close/off); bands with no row spawn nothing.","tier":"presentation","items":{"type":"object","properties":{"band":{"name":"band","type":"string","required":true},"cue":{"name":"cue","type":"object","required":true,"properties":{"space":{"name":"space","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"type":{"name":"type","type":"string","required":true},"particleCount":{"name":"particleCount","type":"number","required":false},"size":{"name":"size","type":"number","required":false},"x":{"name":"x","type":"number","required":true},"effect":{"name":"effect","type":"string","required":false},"message":{"name":"message","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"color":{"name":"color","type":"string","required":false}}}}}},"streakThreshold":{"type":"number","default":3,"label":"Streak Threshold","description":"Minimum ANSWER_JUDGED streak that adds the streak cue on top of the correct cue.","tier":"domain"},"streakCue":{"type":"FxCue","default":{"type":"streak","x":0.5,"z":0.2,"ttl":2.5,"space":"screen","effect":"streak-glow","color":"#fbbf24"},"label":"Streak Cue","description":"Extra cue layered on the correct cue once the streak reaches the threshold.","tier":"presentation","properties":{"color":{"name":"color","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"x":{"name":"x","type":"number","required":true},"effect":{"name":"effect","type":"string","required":false},"message":{"name":"message","type":"string","required":false},"type":{"name":"type","type":"string","required":true},"ttl":{"name":"ttl","type":"number","required":true},"particleCount":{"name":"particleCount","type":"number","required":false},"size":{"name":"size","type":"number","required":false}}},"running":{"type":"boolean","default":true,"label":"Running","description":"When false every cue arm is inert — visual feedback fully disabled without unmounting.","tier":"domain"},"wrongCue":{"type":"FxCue","default":{"type":"wrong","x":0.5,"z":0.35,"ttl":1,"space":"screen","effect":"shake","color":"#fda4af"},"label":"Wrong Cue","description":"Cue spawned on a wrong judged answer (and an unmatched goal check).","tier":"presentation","properties":{"size":{"name":"size","type":"number","required":false},"message":{"name":"message","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"type":{"name":"type","type":"string","required":true},"color":{"name":"color","type":"string","required":false},"x":{"name":"x","type":"number","required":true},"z":{"name":"z","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false}}},"verdictCues":{"type":"[FxBandCue]","default":[],"label":"Verdict Cues","description":"Per-verdict cues for CLASSIFY_UPDATED — one row per verdict string; verdicts with no row spawn nothing.","tier":"presentation","items":{"type":"object","properties":{"cue":{"name":"cue","type":"object","required":true,"properties":{"z":{"name":"z","type":"number","required":false},"x":{"name":"x","type":"number","required":true},"ttl":{"name":"ttl","type":"number","required":true},"space":{"name":"space","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"message":{"name":"message","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"type":{"name":"type","type":"string","required":true},"effect":{"name":"effect","type":"string","required":false},"color":{"name":"color","type":"string","required":false}}},"band":{"name":"band","type":"string","required":true}}}},"celebrationCue":{"type":"FxCue","default":{"type":"celebration","x":0.5,"z":0.45,"ttl":5,"space":"screen","effect":"confetti","color":"#facc15","particleCount":40},"label":"Celebration Cue","description":"Cue spawned when a round completes (LEARN_ROUND_COMPLETE / TRACE_DONE).","tier":"presentation","properties":{"color":{"name":"color","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"message":{"name":"message","type":"string","required":false},"type":{"name":"type","type":"string","required":true},"z":{"name":"z","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false},"space":{"name":"space","type":"string","required":false},"x":{"name":"x","type":"number","required":true},"particleCount":{"name":"particleCount","type":"number","required":false},"size":{"name":"size","type":"number","required":false}}}},"scope":"instance"}],"pages":[{"name":"LearnFxCuesPage","id":"pag_EHAXSZ9A5MN2T17R3QZV1VKTSD","path":"/learn-fx-cues","traits":[{"ref":"LearnFxCues","refId":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"}]}],"types":{"Fx":[{"name":"id","type":"string","required":true},{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"y","type":"number"},{"name":"message","type":"string"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"}],"FxBandCue":[{"name":"band","type":"string","required":true},{"name":"cue","type":"object","required":true,"properties":[{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"},{"name":"message","type":"string"}]}],"FxCue":[{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"},{"name":"message","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_FAH7ZDC47523JWD4Q8PJM7X7N8":{"id":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8","kind":"entity","bakedName":"LearnFxCuesScene","curName":"LearnFxCuesScene","renames":[],"owner":"workspace"},"evt_0VEQ8SMABE55QCXB75SWM9Q3YH":{"id":"evt_0VEQ8SMABE55QCXB75SWM9Q3YH","kind":"event","bakedName":"CLASSIFY_UPDATED","curName":"CLASSIFY_UPDATED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB":{"id":"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB","kind":"event","bakedName":"GOAL_CHECKED","curName":"GOAL_CHECKED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE":{"id":"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE","kind":"event","bakedName":"TAP_JUDGED","curName":"TAP_JUDGED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_7AK2S9DCHDP8PTW7NWPBGVN07R":{"id":"evt_7AK2S9DCHDP8PTW7NWPBGVN07R","kind":"event","bakedName":"ESTIMATE_JUDGED","curName":"ESTIMATE_JUDGED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_BZYM5KH3MFHT7Y1SK1383YQNTB":{"id":"evt_BZYM5KH3MFHT7Y1SK1383YQNTB","kind":"event","bakedName":"ANSWER_JUDGED","curName":"ANSWER_JUDGED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_DEBHV6KT1KX0SKYKQQ555BHG14":{"id":"evt_DEBHV6KT1KX0SKYKQQ555BHG14","kind":"event","bakedName":"LEARN_ROUND_COMPLETE","curName":"LEARN_ROUND_COMPLETE","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A":{"id":"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A","kind":"event","bakedName":"BURST","curName":"BURST","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_HA81BDHTHEX8QA8T6EAND9H864":{"id":"evt_HA81BDHTHEX8QA8T6EAND9H864","kind":"event","bakedName":"TRACE_DONE","curName":"TRACE_DONE","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB":{"id":"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB","kind":"event","bakedName":"ARRANGEMENT_CHECKED","curName":"ARRANGEMENT_CHECKED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_TQ802DRTGQD8BV05E9SKCJKFH2":{"id":"evt_TQ802DRTGQD8BV05E9SKCJKFH2","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"orb_Y63B6EPAZ25FHABQ3VSFK50HWX":{"id":"orb_Y63B6EPAZ25FHABQ3VSFK50HWX","kind":"orbital","bakedName":"LearnFxCuesOrbital","curName":"LearnFxCuesOrbital","renames":[],"owner":"workspace"},"pag_EHAXSZ9A5MN2T17R3QZV1VKTSD":{"id":"pag_EHAXSZ9A5MN2T17R3QZV1VKTSD","kind":"page","bakedName":"LearnFxCuesPage","curName":"LearnFxCuesPage","renames":[],"owner":"workspace"},"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3":{"id":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3","kind":"trait","bakedName":"LearnFxCues","curName":"LearnFxCues","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-learn-fx-cues","version":"1.0.0","description":"Headless pedagogy→fx translator: rides the bare-event cascade of the graded learning instruments (ANSWER_JUDGED, TAP_JUDGED, ESTIMATE_JUDGED, CLASSIFY_UPDATED, ARRANGEMENT_CHECKED, GOAL_CHECKED, LEARN_ROUND_COMPLETE, TRACE_DONE) and emits BURST cues for std-fx-particles to hold and a composed fx-overlay to play — correct/wrong beats, streak glow at a threshold, and a celebration on completion. Cues are typed FxCue config values carrying their own style (position, ttl, screen effect, color), so a lab opts in with two `uses` lines plus an overlay node and restyles or disables any cue purely through config; the instruments never learn about visuals, and this atom never learns about subjects. A new judged event elsewhere in the substrate means a new arm here — this listens list is the closed extension point. Renders nothing.","orbitals":[{"name":"LearnFxCuesOrbital","id":"orb_Y63B6EPAZ25FHABQ3VSFK50HWX","entity":{"name":"LearnFxCuesScene","id":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"cueSeq","type":"number","default":0}],"shared":true},"traits":[{"name":"LearnFxCues","id":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3","entityRebindable":true,"entityContract":{"requires":[],"provides":["cueSeq"]},"effectRow":[{"kind":"emit","resource":"BURST"},{"kind":"set","resource":"@entity.cueSeq"}],"category":"lifecycle","linkedEntity":"LearnFxCuesScene","linkedEntityId":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8","entityRefIds":{"LearnFxCuesScene":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8"},"emits":[{"event":"BURST","eventId":"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A","description":"Spawned fx cues for a composed std-fx-particles sink (and the fx-overlay reading its entity list) — the same BURST channel the game mechanics use.","synonyms":"fx, cue, celebration, feedback burst, confetti, shake","tier":"domain","scope":"external","payloadSchema":[{"name":"particles","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"y","type":"number"},{"name":"message","type":"string"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"}],"entity":"Fx"}]}],"stateMachine":{"states":[{"name":"active","isInitial":true}],"events":[{"key":"INIT","id":"evt_TQ802DRTGQD8BV05E9SKCJKFH2","name":"Initialize"},{"key":"ANSWER_JUDGED","id":"evt_BZYM5KH3MFHT7Y1SK1383YQNTB","name":"Answer Judged","payloadSchema":[{"name":"correct","type":"boolean"},{"name":"timeLeftTenths","type":"number"},{"name":"score","type":"number"},{"name":"streak","type":"number"}],"listened":true},{"key":"TAP_JUDGED","id":"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE","name":"Tap Judged","payloadSchema":[{"name":"correct","type":"boolean"},{"name":"promptIndex","type":"number"},{"name":"tries","type":"number"}],"listened":true},{"key":"ESTIMATE_JUDGED","id":"evt_7AK2S9DCHDP8PTW7NWPBGVN07R","name":"Estimate Judged","payloadSchema":[{"name":"band","type":"string"},{"name":"estimate","type":"number"},{"name":"answer","type":"number"},{"name":"score","type":"number"}],"listened":true},{"key":"CLASSIFY_UPDATED","id":"evt_0VEQ8SMABE55QCXB75SWM9Q3YH","name":"Classify Updated","payloadSchema":[{"name":"itemIndex","type":"number"},{"name":"correctCount","type":"number"},{"name":"attemptedCount","type":"number"},{"name":"selectedCategory","type":"string"},{"name":"verdict","type":"string"},{"name":"roundComplete","type":"boolean"}],"listened":true},{"key":"ARRANGEMENT_CHECKED","id":"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB","name":"Arrangement Checked","payloadSchema":[{"name":"correctCount","type":"number"},{"name":"total","type":"number"}],"listened":true},{"key":"GOAL_CHECKED","id":"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB","name":"Goal Checked","payloadSchema":[{"name":"matched","type":"boolean"},{"name":"distance","type":"number"},{"name":"attempts","type":"number"}],"listened":true},{"key":"LEARN_ROUND_COMPLETE","id":"evt_DEBHV6KT1KX0SKYKQQ555BHG14","name":"Learn Round Complete","payloadSchema":[{"name":"score","type":"number"},{"name":"total","type":"number"}],"listened":true},{"key":"TRACE_DONE","id":"evt_HA81BDHTHEX8QA8T6EAND9H864","name":"Trace Done","payloadSchema":[{"name":"totalFrames","type":"number"}],"listened":true},{"key":"BURST","id":"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A","name":"Burst","description":"Spawned fx cues for a composed std-fx-particles sink (and the fx-overlay reading its entity list) — the same BURST channel the game mechanics use.","synonyms":"fx, cue, celebration, feedback burst, confetti, shake","tier":"domain","payloadSchema":[{"name":"particles","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"y","type":"number"},{"name":"message","type":"string"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"}],"entity":"Fx"}]}],"transitions":[{"from":"active","to":"active","event":"INIT","eventId":"evt_TQ802DRTGQD8BV05E9SKCJKFH2","effects":[["set","@entity.cueSeq",0]]},{"from":"active","to":"active","event":"ANSWER_JUDGED","eventId":"evt_BZYM5KH3MFHT7Y1SK1383YQNTB","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/concat",[["object/merge",["if","@payload.correct","@config.correctCue","@config.wrongCue"],{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]],["if",["and","@payload.correct",[">=","@payload.streak","@config.streakThreshold"]],[["object/merge","@config.streakCue",{"id":["str/concat","streak-",["+","@entity.cueSeq",1]]}]],[]]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"TAP_JUDGED","eventId":"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/map",[["if","@payload.correct","@config.correctCue","@config.wrongCue"]],["fn","c",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]],"type":["object/get","@c","type"],"x":["object/get","@c","x"],"z":["object/get","@c","z"],"ttl":["object/get","@c","ttl"],"space":["object/get","@c","space"],"effect":["object/get","@c","effect"],"color":["object/get","@c","color"],"size":["object/get","@c","size"],"particleCount":["object/get","@c","particleCount"],"message":["object/get","@c","message"]}]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"ESTIMATE_JUDGED","eventId":"evt_7AK2S9DCHDP8PTW7NWPBGVN07R","guard":"@config.running","effects":[["let",[["matched",["array/filter","@config.bandCues",["fn","b",["==",["object/get","@b","band"],"@payload.band"]]]]],["if",[">",["array/len","@matched"],0],["emit","BURST",{"particles":[["object/merge",["object/get",["array/first","@matched"],"cue"],{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null]],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"CLASSIFY_UPDATED","eventId":"evt_0VEQ8SMABE55QCXB75SWM9Q3YH","guard":"@config.running","effects":[["let",[["matched",["array/filter","@config.verdictCues",["fn","v",["==",["object/get","@v","band"],"@payload.verdict"]]]]],["if",[">",["array/len","@matched"],0],["emit","BURST",{"particles":[["object/merge",["object/get",["array/first","@matched"],"cue"],{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null]],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"ARRANGEMENT_CHECKED","eventId":"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB","guard":"@config.running","effects":[["if",["<","@payload.correctCount","@payload.total"],["emit","BURST",{"particles":[["object/merge","@config.progressCue",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"GOAL_CHECKED","eventId":"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB","guard":"@config.running","effects":[["if",["not","@payload.matched"],["emit","BURST",{"particles":[["object/merge","@config.wrongCue",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]]}]]}],null],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"LEARN_ROUND_COMPLETE","eventId":"evt_DEBHV6KT1KX0SKYKQQ555BHG14","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/map",["@config.celebrationCue"],["fn","c",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]],"type":["object/get","@c","type"],"x":["object/get","@c","x"],"z":["object/get","@c","z"],"ttl":["object/get","@c","ttl"],"space":["object/get","@c","space"],"effect":["object/get","@c","effect"],"color":["object/get","@c","color"],"size":["object/get","@c","size"],"particleCount":["object/get","@c","particleCount"],"message":["object/get","@c","message"]}]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]},{"from":"active","to":"active","event":"TRACE_DONE","eventId":"evt_HA81BDHTHEX8QA8T6EAND9H864","guard":"@config.running","effects":[["emit","BURST",{"particles":["array/map",["@config.celebrationCue"],["fn","c",{"id":["str/concat","cue-",["+","@entity.cueSeq",1]],"type":["object/get","@c","type"],"x":["object/get","@c","x"],"z":["object/get","@c","z"],"ttl":["object/get","@c","ttl"],"space":["object/get","@c","space"],"effect":["object/get","@c","effect"],"color":["object/get","@c","color"],"size":["object/get","@c","size"],"particleCount":["object/get","@c","particleCount"],"message":["object/get","@c","message"]}]]}],["set","@entity.cueSeq",["+","@entity.cueSeq",1]]]}]},"config":{"streakThreshold":{"type":"number","default":3,"label":"Streak Threshold","description":"Minimum ANSWER_JUDGED streak that adds the streak cue on top of the correct cue.","tier":"domain"},"bandCues":{"type":"[FxBandCue]","default":[],"label":"Band Cues","description":"Per-band cues for ESTIMATE_JUDGED — one row per error band (exact/close/off); bands with no row spawn nothing.","tier":"presentation","items":{"type":"object","properties":{"band":{"name":"band","type":"string","required":true},"cue":{"name":"cue","type":"object","required":true,"properties":{"color":{"name":"color","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"message":{"name":"message","type":"string","required":false},"type":{"name":"type","type":"string","required":true},"ttl":{"name":"ttl","type":"number","required":true},"x":{"name":"x","type":"number","required":true},"effect":{"name":"effect","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false}}}}}},"celebrationCue":{"type":"FxCue","default":{"type":"celebration","x":0.5,"z":0.45,"ttl":5,"space":"screen","effect":"confetti","color":"#facc15","particleCount":40},"label":"Celebration Cue","description":"Cue spawned when a round completes (LEARN_ROUND_COMPLETE / TRACE_DONE).","tier":"presentation","properties":{"z":{"name":"z","type":"number","required":false},"color":{"name":"color","type":"string","required":false},"effect":{"name":"effect","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"message":{"name":"message","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"type":{"name":"type","type":"string","required":true},"x":{"name":"x","type":"number","required":true}}},"progressCue":{"type":"FxCue","default":{"type":"progress","x":0.5,"z":0.35,"ttl":1.5,"space":"screen","effect":"sparkle","color":"#a5b4fc","particleCount":4},"label":"Progress Cue","description":"Cue spawned on a partial arrangement check (some but not all slots correct).","tier":"presentation","properties":{"message":{"name":"message","type":"string","required":false},"x":{"name":"x","type":"number","required":true},"ttl":{"name":"ttl","type":"number","required":true},"type":{"name":"type","type":"string","required":true},"space":{"name":"space","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"color":{"name":"color","type":"string","required":false},"size":{"name":"size","type":"number","required":false}}},"running":{"type":"boolean","default":true,"label":"Running","description":"When false every cue arm is inert — visual feedback fully disabled without unmounting.","tier":"domain"},"wrongCue":{"type":"FxCue","default":{"type":"wrong","x":0.5,"z":0.35,"ttl":1,"space":"screen","effect":"shake","color":"#fda4af"},"label":"Wrong Cue","description":"Cue spawned on a wrong judged answer (and an unmatched goal check).","tier":"presentation","properties":{"particleCount":{"name":"particleCount","type":"number","required":false},"size":{"name":"size","type":"number","required":false},"x":{"name":"x","type":"number","required":true},"ttl":{"name":"ttl","type":"number","required":true},"space":{"name":"space","type":"string","required":false},"color":{"name":"color","type":"string","required":false},"z":{"name":"z","type":"number","required":false},"type":{"name":"type","type":"string","required":true},"effect":{"name":"effect","type":"string","required":false},"message":{"name":"message","type":"string","required":false}}},"verdictCues":{"type":"[FxBandCue]","default":[],"label":"Verdict Cues","description":"Per-verdict cues for CLASSIFY_UPDATED — one row per verdict string; verdicts with no row spawn nothing.","tier":"presentation","items":{"type":"object","properties":{"band":{"name":"band","type":"string","required":true},"cue":{"name":"cue","type":"object","required":true,"properties":{"color":{"name":"color","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"x":{"name":"x","type":"number","required":true},"type":{"name":"type","type":"string","required":true},"z":{"name":"z","type":"number","required":false},"message":{"name":"message","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"effect":{"name":"effect","type":"string","required":false}}}}}},"correctCue":{"type":"FxCue","default":{"type":"correct","x":0.5,"z":0.35,"ttl":1.5,"space":"screen","effect":"sparkle","color":"#4ade80","particleCount":10},"label":"Correct Cue","description":"Cue spawned on a correct judged answer.","tier":"presentation","properties":{"space":{"name":"space","type":"string","required":false},"x":{"name":"x","type":"number","required":true},"z":{"name":"z","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false},"size":{"name":"size","type":"number","required":false},"type":{"name":"type","type":"string","required":true},"message":{"name":"message","type":"string","required":false},"color":{"name":"color","type":"string","required":false},"particleCount":{"name":"particleCount","type":"number","required":false},"ttl":{"name":"ttl","type":"number","required":true}}},"streakCue":{"type":"FxCue","default":{"type":"streak","x":0.5,"z":0.2,"ttl":2.5,"space":"screen","effect":"streak-glow","color":"#fbbf24"},"label":"Streak Cue","description":"Extra cue layered on the correct cue once the streak reaches the threshold.","tier":"presentation","properties":{"z":{"name":"z","type":"number","required":false},"effect":{"name":"effect","type":"string","required":false},"type":{"name":"type","type":"string","required":true},"x":{"name":"x","type":"number","required":true},"size":{"name":"size","type":"number","required":false},"space":{"name":"space","type":"string","required":false},"message":{"name":"message","type":"string","required":false},"ttl":{"name":"ttl","type":"number","required":true},"particleCount":{"name":"particleCount","type":"number","required":false},"color":{"name":"color","type":"string","required":false}}}},"scope":"instance"}],"pages":[{"name":"LearnFxCuesPage","id":"pag_EHAXSZ9A5MN2T17R3QZV1VKTSD","path":"/learn-fx-cues","traits":[{"ref":"LearnFxCues","refId":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"}]}],"types":{"Fx":[{"name":"id","type":"string","required":true},{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"y","type":"number"},{"name":"message","type":"string"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"}],"FxBandCue":[{"name":"band","type":"string","required":true},{"name":"cue","type":"object","required":true,"properties":[{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"},{"name":"message","type":"string"}]}],"FxCue":[{"name":"type","type":"string","required":true},{"name":"x","type":"number","required":true},{"name":"z","type":"number"},{"name":"ttl","type":"number","required":true},{"name":"space","type":"string"},{"name":"effect","type":"string"},{"name":"color","type":"string"},{"name":"size","type":"number"},{"name":"particleCount","type":"number"},{"name":"message","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_FAH7ZDC47523JWD4Q8PJM7X7N8":{"id":"ent_FAH7ZDC47523JWD4Q8PJM7X7N8","kind":"entity","bakedName":"LearnFxCuesScene","curName":"LearnFxCuesScene","renames":[],"owner":"workspace"},"evt_0VEQ8SMABE55QCXB75SWM9Q3YH":{"id":"evt_0VEQ8SMABE55QCXB75SWM9Q3YH","kind":"event","bakedName":"CLASSIFY_UPDATED","curName":"CLASSIFY_UPDATED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB":{"id":"evt_2KJEAZNZ5WZJY74E4Q0PQN8BYB","kind":"event","bakedName":"GOAL_CHECKED","curName":"GOAL_CHECKED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE":{"id":"evt_666CKV9QRGVW8DMZHE6ZJ6PCVE","kind":"event","bakedName":"TAP_JUDGED","curName":"TAP_JUDGED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_7AK2S9DCHDP8PTW7NWPBGVN07R":{"id":"evt_7AK2S9DCHDP8PTW7NWPBGVN07R","kind":"event","bakedName":"ESTIMATE_JUDGED","curName":"ESTIMATE_JUDGED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_BZYM5KH3MFHT7Y1SK1383YQNTB":{"id":"evt_BZYM5KH3MFHT7Y1SK1383YQNTB","kind":"event","bakedName":"ANSWER_JUDGED","curName":"ANSWER_JUDGED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_DEBHV6KT1KX0SKYKQQ555BHG14":{"id":"evt_DEBHV6KT1KX0SKYKQQ555BHG14","kind":"event","bakedName":"LEARN_ROUND_COMPLETE","curName":"LEARN_ROUND_COMPLETE","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A":{"id":"evt_EXS85Y0MEYA7F3ZCW94G4ZM81A","kind":"event","bakedName":"BURST","curName":"BURST","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_HA81BDHTHEX8QA8T6EAND9H864":{"id":"evt_HA81BDHTHEX8QA8T6EAND9H864","kind":"event","bakedName":"TRACE_DONE","curName":"TRACE_DONE","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB":{"id":"evt_RD3DMP9HJ8RS4CZENF4SFA7BCB","kind":"event","bakedName":"ARRANGEMENT_CHECKED","curName":"ARRANGEMENT_CHECKED","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"evt_TQ802DRTGQD8BV05E9SKCJKFH2":{"id":"evt_TQ802DRTGQD8BV05E9SKCJKFH2","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3"},"orb_Y63B6EPAZ25FHABQ3VSFK50HWX":{"id":"orb_Y63B6EPAZ25FHABQ3VSFK50HWX","kind":"orbital","bakedName":"LearnFxCuesOrbital","curName":"LearnFxCuesOrbital","renames":[],"owner":"workspace"},"pag_EHAXSZ9A5MN2T17R3QZV1VKTSD":{"id":"pag_EHAXSZ9A5MN2T17R3QZV1VKTSD","kind":"page","bakedName":"LearnFxCuesPage","curName":"LearnFxCuesPage","renames":[],"owner":"workspace"},"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3":{"id":"trt_6T0Z693VBCXNP27VQ1MV0ZNJE3","kind":"trait","bakedName":"LearnFxCues","curName":"LearnFxCues","renames":[],"owner":"workspace"}}}}
|