@almadar/std 16.173.0 → 16.175.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/behaviors/lolo/infra/atoms/std-cross-reference.lolo +2 -4
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +5 -9
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +8 -1
- package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-list.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/std-modal.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +2 -4
- package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +5 -13
- package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +2 -4
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-thread.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-vote.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-center.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +4 -9
- package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +9 -3
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +9 -3
- package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +7 -1
- package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-shape-layer.lolo +41 -9
- package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +40 -8
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite-layer.lolo +13 -3
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +12 -2
- package/behaviors/lolo/ui/game/atoms/ui-draw-text-layer.lolo +3 -3
- package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +2 -2
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +32 -2
- package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +133 -23
- package/behaviors/lolo/ui/learning/atoms/std-learn-compare.lolo +397 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +537 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +428 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +520 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +419 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +591 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +425 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +398 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-measure.lolo +325 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-perturb.lolo +494 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +408 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +805 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +307 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-sim-3d.lolo +318 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +336 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +409 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +186 -0
- package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +522 -0
- package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +192 -0
- package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +111 -2
- package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +193 -5
- package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +173 -5
- package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +48 -1
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +141 -1
- package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +242 -5
- package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +1 -1
- package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +1 -1
- package/behaviors/registry/agent/atoms/std-agent-session.orb +22 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +38 -2
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +38 -2
- package/behaviors/registry/agent/organisms/std-agent-rabit.orb +23 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +8 -16
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +31 -62
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +16 -32
- package/behaviors/registry/infra/atoms/std-cross-reference.orb +32 -4
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +8 -16
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +8 -16
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +14 -28
- package/behaviors/registry/infra/atoms/std-row-access-control.orb +30 -2
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -2
- package/behaviors/registry/ui/core/atoms/std-board.orb +19 -5
- package/behaviors/registry/ui/core/atoms/std-browse.orb +29 -7
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -2
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +3 -5
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +3 -6
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +17 -3
- package/behaviors/registry/ui/core/atoms/std-export.orb +2 -4
- package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gallery.orb +9 -18
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +15 -1
- package/behaviors/registry/ui/core/atoms/std-import.orb +2 -4
- package/behaviors/registry/ui/core/atoms/std-list.orb +4 -6
- package/behaviors/registry/ui/core/atoms/std-modal.orb +2 -2
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +16 -2
- package/behaviors/registry/ui/core/atoms/std-pagination.orb +15 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +19 -5
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +17 -3
- package/behaviors/registry/ui/core/atoms/std-rich-editor.orb +15 -1
- package/behaviors/registry/ui/core/atoms/std-scatter.orb +15 -1
- package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -2
- package/behaviors/registry/ui/core/atoms/std-stats.orb +15 -1
- package/behaviors/registry/ui/core/atoms/std-step-flow.orb +16 -2
- package/behaviors/registry/ui/core/atoms/std-thread.orb +2 -2
- package/behaviors/registry/ui/core/atoms/std-vote.orb +2 -2
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +17 -3
- package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-center.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-icon.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +4 -1
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +4 -1
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +4 -1
- package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +4 -1
- package/behaviors/registry/ui/core/molecules/ui-grid.orb +4 -1
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +4 -39
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +5 -2
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +5 -2
- package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +34 -2
- package/behaviors/registry/ui/core/organisms/ui-form.orb +34 -2
- package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +24 -2
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +4 -1
- package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-ui-slot-renderer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +35 -1
- package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +4 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +183 -13
- package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +104 -9
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +56 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +36 -4
- package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +21 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +19 -4
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +173 -2
- package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1288 -197
- package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +2814 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +3183 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +2512 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +3678 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +2394 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +3951 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +3458 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +2646 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1979 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +2994 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +2682 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +6539 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1842 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1648 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +2307 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +3118 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +986 -0
- package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +3333 -0
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +716 -0
- package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +679 -5
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +962 -18
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +919 -30
- package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +372 -1
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +936 -16
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1328 -43
- package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +1 -2
- package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +4 -1
- package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +4 -1
- package/dist/behaviors/exports-reader.js +3704 -2189
- package/dist/behaviors/functions/index.d.ts +2638 -254
- package/dist/behaviors/functions/index.js +3648 -2190
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +3705 -2190
- package/dist/behaviors/query.js +3704 -2189
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +289 -213
- package/dist/behaviors-registry.json +7900 -587
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3705 -2190
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
app ui-algo-graph-canvas "1.0.0"
|
|
2
|
+
"AlgoGraphCanvas — UI factory (1:1 with the @almadar/ui algo-graph-canvas pattern)."
|
|
3
|
+
orbital AlgoGraphCanvasOrbital {
|
|
4
|
+
type AlgoGraphCanvasNodesItem = {
|
|
5
|
+
id : string!
|
|
6
|
+
x : number
|
|
7
|
+
y : number
|
|
8
|
+
label : string
|
|
9
|
+
state : "unvisited" | "frontier" | "current" | "visited" | "goal" | "path"
|
|
10
|
+
color : string
|
|
11
|
+
radius : number
|
|
12
|
+
badge : AlgoGraphCanvasNodesItemBadge
|
|
13
|
+
}
|
|
14
|
+
type AlgoGraphCanvasNodesItemBadge = {
|
|
15
|
+
text : string!
|
|
16
|
+
color : string
|
|
17
|
+
}
|
|
18
|
+
type AlgoGraphCanvasEdgesItem = {
|
|
19
|
+
from : string!
|
|
20
|
+
to : string!
|
|
21
|
+
directed : boolean
|
|
22
|
+
weight : number
|
|
23
|
+
label : string
|
|
24
|
+
state : "default" | "tree" | "relaxed" | "candidate" | "path"
|
|
25
|
+
color : string
|
|
26
|
+
}
|
|
27
|
+
type AlgoGraphCanvasShapesItem = {
|
|
28
|
+
type : "line" | "arrow" | "circle" | "ellipse" | "rect" | "polygon" | "path" | "text" | "axis" | "grid" | "venn-region"!
|
|
29
|
+
id : string
|
|
30
|
+
x : number
|
|
31
|
+
y : number
|
|
32
|
+
x1 : number
|
|
33
|
+
y1 : number
|
|
34
|
+
x2 : number
|
|
35
|
+
y2 : number
|
|
36
|
+
radius : number
|
|
37
|
+
width : number
|
|
38
|
+
height : number
|
|
39
|
+
points : [AlgoGraphCanvasShapesItemPointsItem]
|
|
40
|
+
path : string
|
|
41
|
+
text : string
|
|
42
|
+
label : string
|
|
43
|
+
fontSize : number
|
|
44
|
+
align : "left" | "center" | "right"
|
|
45
|
+
axis : "x" | "y"
|
|
46
|
+
min : number
|
|
47
|
+
max : number
|
|
48
|
+
step : number
|
|
49
|
+
color : string
|
|
50
|
+
fill : string
|
|
51
|
+
lineWidth : number
|
|
52
|
+
opacity : number
|
|
53
|
+
startAngle : number
|
|
54
|
+
endAngle : number
|
|
55
|
+
dash : "dashed" | "dotted"
|
|
56
|
+
inside : [string]
|
|
57
|
+
outside : [string]
|
|
58
|
+
}
|
|
59
|
+
type AlgoGraphCanvasShapesItemPointsItem = {
|
|
60
|
+
x : number!
|
|
61
|
+
y : number!
|
|
62
|
+
}
|
|
63
|
+
type AlgoGraphCanvasError = {
|
|
64
|
+
message : string!
|
|
65
|
+
name : string
|
|
66
|
+
code : string
|
|
67
|
+
stack : string
|
|
68
|
+
}
|
|
69
|
+
type AlgoGraphCanvasSHAPECLICKPayload = {
|
|
70
|
+
id : string
|
|
71
|
+
type : string
|
|
72
|
+
index : number!
|
|
73
|
+
}
|
|
74
|
+
type AlgoGraphCanvasNODECLICKPayload = {
|
|
75
|
+
id : string!
|
|
76
|
+
label : string
|
|
77
|
+
index : number!
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
entity AlgoGraphCanvasItem [runtime] {
|
|
81
|
+
id : string!
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
trait AlgoGraphCanvasRender -> @rebindable AlgoGraphCanvasItem [interaction, instance] {
|
|
85
|
+
initial: idle
|
|
86
|
+
|
|
87
|
+
state idle {
|
|
88
|
+
INIT -> idle
|
|
89
|
+
(render-ui main {
|
|
90
|
+
className: @config.className
|
|
91
|
+
width: @config.width
|
|
92
|
+
height: @config.height
|
|
93
|
+
title: @config.title
|
|
94
|
+
backgroundColor: @config.backgroundColor
|
|
95
|
+
nodes: @config.nodes
|
|
96
|
+
edges: @config.edges
|
|
97
|
+
layout: @config.layout
|
|
98
|
+
root: @config.root
|
|
99
|
+
shapes: @config.shapes
|
|
100
|
+
interactive: @config.interactive
|
|
101
|
+
animate: @config.animate
|
|
102
|
+
onShapeClick: @config.onShapeClick
|
|
103
|
+
onNodeClick: @config.onNodeClick
|
|
104
|
+
isLoading: @config.isLoading
|
|
105
|
+
error: @config.error
|
|
106
|
+
type: algo-graph-canvas
|
|
107
|
+
})
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
emits {
|
|
111
|
+
@config.onShapeClick -> external {
|
|
112
|
+
payload : AlgoGraphCanvasSHAPECLICKPayload
|
|
113
|
+
}
|
|
114
|
+
@description "onShapeClick prop"
|
|
115
|
+
@tier "essential"
|
|
116
|
+
@config.onNodeClick -> external {
|
|
117
|
+
payload : AlgoGraphCanvasNODECLICKPayload
|
|
118
|
+
}
|
|
119
|
+
@description "Fires when a node circle is clicked, alongside `onShapeClick`."
|
|
120
|
+
@tier "essential"
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
config {
|
|
124
|
+
className : string
|
|
125
|
+
@label "Class Name"
|
|
126
|
+
@description "className prop"
|
|
127
|
+
@tier "presentation"
|
|
128
|
+
width : number = 600
|
|
129
|
+
@label "Width"
|
|
130
|
+
@description "width prop"
|
|
131
|
+
@tier "presentation"
|
|
132
|
+
height : number = 400
|
|
133
|
+
@label "Height"
|
|
134
|
+
@description "height prop"
|
|
135
|
+
@tier "presentation"
|
|
136
|
+
title : string
|
|
137
|
+
@label "Title"
|
|
138
|
+
@description "title prop"
|
|
139
|
+
@tier "presentation"
|
|
140
|
+
backgroundColor : string
|
|
141
|
+
@label "Background Color"
|
|
142
|
+
@description "backgroundColor prop"
|
|
143
|
+
@tier "presentation"
|
|
144
|
+
nodes : [AlgoGraphCanvasNodesItem] = []
|
|
145
|
+
@label "Nodes"
|
|
146
|
+
@description "nodes prop"
|
|
147
|
+
@tier "presentation"
|
|
148
|
+
edges : [AlgoGraphCanvasEdgesItem] = []
|
|
149
|
+
@label "Edges"
|
|
150
|
+
@description "edges prop"
|
|
151
|
+
@tier "presentation"
|
|
152
|
+
layout : "manual" | "tree" | "layered" | "circle" = manual
|
|
153
|
+
@label "Layout"
|
|
154
|
+
@description "Deterministic layout to compute node positions; `manual` passes through `x`/`y`."
|
|
155
|
+
@tier "presentation"
|
|
156
|
+
root : string
|
|
157
|
+
@label "Root"
|
|
158
|
+
@description "`tree` layout only: preferred root id. Falls back to the first indegree-0 node."
|
|
159
|
+
@tier "presentation"
|
|
160
|
+
shapes : [AlgoGraphCanvasShapesItem] = []
|
|
161
|
+
@label "Shapes"
|
|
162
|
+
@description "Extra declarative shapes in canvas pixel coordinates."
|
|
163
|
+
@tier "presentation"
|
|
164
|
+
interactive : boolean = false
|
|
165
|
+
@label "Interactive"
|
|
166
|
+
@description "interactive prop"
|
|
167
|
+
@tier "presentation"
|
|
168
|
+
animate : boolean = false
|
|
169
|
+
@label "Animate"
|
|
170
|
+
@description "animate prop"
|
|
171
|
+
@tier "presentation"
|
|
172
|
+
onShapeClick : string = "SHAPE_CLICK"
|
|
173
|
+
@label "On Shape Click"
|
|
174
|
+
@description "onShapeClick prop"
|
|
175
|
+
@tier "presentation"
|
|
176
|
+
onNodeClick : string = "NODE_CLICK"
|
|
177
|
+
@label "On Node Click"
|
|
178
|
+
@description "Fires when a node circle is clicked, alongside `onShapeClick`."
|
|
179
|
+
@tier "presentation"
|
|
180
|
+
isLoading : boolean
|
|
181
|
+
@label "Is Loading"
|
|
182
|
+
@description "isLoading prop"
|
|
183
|
+
@tier "presentation"
|
|
184
|
+
error : AlgoGraphCanvasError
|
|
185
|
+
@label "Error"
|
|
186
|
+
@description "error prop"
|
|
187
|
+
@tier "presentation"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
page "/algo-graph-canvas" as AlgoGraphCanvasPage -> AlgoGraphCanvasRender
|
|
192
|
+
}
|
|
@@ -12,14 +12,63 @@ orbital AlgorithmCanvasOrbital {
|
|
|
12
12
|
value : number
|
|
13
13
|
color : string
|
|
14
14
|
label : string
|
|
15
|
+
corner : AlgorithmCanvasCellsItemCorner
|
|
16
|
+
}
|
|
17
|
+
type AlgorithmCanvasCellsItemCorner = {
|
|
18
|
+
tl : string
|
|
19
|
+
tr : string
|
|
20
|
+
bl : string
|
|
21
|
+
br : string
|
|
15
22
|
}
|
|
16
23
|
type AlgorithmCanvasPointersItem = {
|
|
17
24
|
index : number!
|
|
18
25
|
label : string
|
|
19
26
|
color : string
|
|
20
27
|
}
|
|
28
|
+
type AlgorithmCanvasRangesItem = {
|
|
29
|
+
from : number!
|
|
30
|
+
to : number!
|
|
31
|
+
color : string
|
|
32
|
+
label : string
|
|
33
|
+
kind : "fill" | "bracket"
|
|
34
|
+
}
|
|
35
|
+
type AlgorithmCanvasSlotsItem = {
|
|
36
|
+
value : string
|
|
37
|
+
state : "empty" | "filled" | "highlight"
|
|
38
|
+
color : string
|
|
39
|
+
}
|
|
40
|
+
type AlgorithmCanvasFramesItem = {
|
|
41
|
+
label : string!
|
|
42
|
+
detail : string
|
|
43
|
+
state : "active" | "returning" | "done"
|
|
44
|
+
color : string
|
|
45
|
+
}
|
|
46
|
+
type AlgorithmCanvasBucketsItem = {
|
|
47
|
+
index : number!
|
|
48
|
+
entries : [AlgorithmCanvasBucketsItemEntriesItem]!
|
|
49
|
+
}
|
|
50
|
+
type AlgorithmCanvasBucketsItemEntriesItem = {
|
|
51
|
+
label : string!
|
|
52
|
+
state : "default" | "highlight" | "probing"
|
|
53
|
+
color : string
|
|
54
|
+
}
|
|
55
|
+
type AlgorithmCanvasAuxBarsItem = {
|
|
56
|
+
value : number!
|
|
57
|
+
color : string
|
|
58
|
+
label : string
|
|
59
|
+
}
|
|
60
|
+
type AlgorithmCanvasRowLabelsItem = {
|
|
61
|
+
index : number!
|
|
62
|
+
text : string!
|
|
63
|
+
color : string
|
|
64
|
+
}
|
|
65
|
+
type AlgorithmCanvasColLabelsItem = {
|
|
66
|
+
index : number!
|
|
67
|
+
text : string!
|
|
68
|
+
color : string
|
|
69
|
+
}
|
|
21
70
|
type AlgorithmCanvasShapesItem = {
|
|
22
|
-
type : "line" | "arrow" | "circle" | "rect" | "polygon" | "path" | "text" | "axis" | "grid"!
|
|
71
|
+
type : "line" | "arrow" | "circle" | "ellipse" | "rect" | "polygon" | "path" | "text" | "axis" | "grid" | "venn-region"!
|
|
23
72
|
id : string
|
|
24
73
|
x : number
|
|
25
74
|
y : number
|
|
@@ -44,6 +93,11 @@ orbital AlgorithmCanvasOrbital {
|
|
|
44
93
|
fill : string
|
|
45
94
|
lineWidth : number
|
|
46
95
|
opacity : number
|
|
96
|
+
startAngle : number
|
|
97
|
+
endAngle : number
|
|
98
|
+
dash : "dashed" | "dotted"
|
|
99
|
+
inside : [string]
|
|
100
|
+
outside : [string]
|
|
47
101
|
}
|
|
48
102
|
type AlgorithmCanvasShapesItemPointsItem = {
|
|
49
103
|
x : number!
|
|
@@ -79,6 +133,14 @@ orbital AlgorithmCanvasOrbital {
|
|
|
79
133
|
bars: @config.bars
|
|
80
134
|
cells: @config.cells
|
|
81
135
|
pointers: @config.pointers
|
|
136
|
+
ranges: @config.ranges
|
|
137
|
+
slots: @config.slots
|
|
138
|
+
slotOrientation: @config.slotOrientation
|
|
139
|
+
frames: @config.frames
|
|
140
|
+
buckets: @config.buckets
|
|
141
|
+
auxBars: @config.auxBars
|
|
142
|
+
rowLabels: @config.rowLabels
|
|
143
|
+
colLabels: @config.colLabels
|
|
82
144
|
shapes: @config.shapes
|
|
83
145
|
interactive: @config.interactive
|
|
84
146
|
animate: @config.animate
|
|
@@ -97,6 +159,14 @@ orbital AlgorithmCanvasOrbital {
|
|
|
97
159
|
bars: @payload.bars
|
|
98
160
|
cells: @payload.cells
|
|
99
161
|
pointers: @payload.pointers
|
|
162
|
+
ranges: @payload.ranges
|
|
163
|
+
slots: @payload.slots
|
|
164
|
+
slotOrientation: @config.slotOrientation
|
|
165
|
+
frames: @payload.frames
|
|
166
|
+
buckets: @payload.buckets
|
|
167
|
+
auxBars: @payload.auxBars
|
|
168
|
+
rowLabels: @payload.rowLabels
|
|
169
|
+
colLabels: @payload.colLabels
|
|
100
170
|
shapes: @payload.shapes
|
|
101
171
|
interactive: @config.interactive
|
|
102
172
|
animate: @config.animate
|
|
@@ -120,6 +190,13 @@ orbital AlgorithmCanvasOrbital {
|
|
|
120
190
|
bars : [AlgorithmCanvasBarsItem]
|
|
121
191
|
cells : [AlgorithmCanvasCellsItem]
|
|
122
192
|
pointers : [AlgorithmCanvasPointersItem]
|
|
193
|
+
ranges : [AlgorithmCanvasRangesItem]
|
|
194
|
+
slots : [AlgorithmCanvasSlotsItem]
|
|
195
|
+
frames : [AlgorithmCanvasFramesItem]
|
|
196
|
+
buckets : [AlgorithmCanvasBucketsItem]
|
|
197
|
+
auxBars : [AlgorithmCanvasAuxBarsItem]
|
|
198
|
+
rowLabels : [AlgorithmCanvasRowLabelsItem]
|
|
199
|
+
colLabels : [AlgorithmCanvasColLabelsItem]
|
|
123
200
|
shapes : [AlgorithmCanvasShapesItem]
|
|
124
201
|
}
|
|
125
202
|
@description "Live scene update; payload carries the current drawable state."
|
|
@@ -158,7 +235,39 @@ orbital AlgorithmCanvasOrbital {
|
|
|
158
235
|
@tier "presentation"
|
|
159
236
|
pointers : [AlgorithmCanvasPointersItem] = []
|
|
160
237
|
@label "Pointers"
|
|
161
|
-
@description "Index cursors (i/j/lo/hi/mid); drawn as markers beneath the referenced bar/
|
|
238
|
+
@description "Index cursors (i/j/lo/hi/mid); drawn as markers beneath the referenced bar/slot column."
|
|
239
|
+
@tier "presentation"
|
|
240
|
+
ranges : [AlgorithmCanvasRangesItem] = []
|
|
241
|
+
@label "Ranges"
|
|
242
|
+
@description "Highlighted index ranges over the bars panel (translucent fill bands or labeled brackets)."
|
|
243
|
+
@tier "presentation"
|
|
244
|
+
slots : [AlgorithmCanvasSlotsItem] = []
|
|
245
|
+
@label "Slots"
|
|
246
|
+
@description "Discrete value slots (registers/variables); laid out in a row or a vertical stack."
|
|
247
|
+
@tier "presentation"
|
|
248
|
+
slotOrientation : "horizontal" | "vertical" = horizontal
|
|
249
|
+
@label "Slot Orientation"
|
|
250
|
+
@description "Slot stack direction; horizontal lays slots left-to-right, vertical stacks bottom-up."
|
|
251
|
+
@tier "presentation"
|
|
252
|
+
frames : [AlgorithmCanvasFramesItem] = []
|
|
253
|
+
@label "Frames"
|
|
254
|
+
@description "Recursion/call-stack frames; laid out bottom-up like a real call stack."
|
|
255
|
+
@tier "presentation"
|
|
256
|
+
buckets : [AlgorithmCanvasBucketsItem] = []
|
|
257
|
+
@label "Buckets"
|
|
258
|
+
@description "Hash-table buckets; each row is an index chip plus its chained entries."
|
|
259
|
+
@tier "presentation"
|
|
260
|
+
auxBars : [AlgorithmCanvasAuxBarsItem] = []
|
|
261
|
+
@label "Aux Bars"
|
|
262
|
+
@description "Secondary bar strip inside the bars panel (e.g. a running total beside the primary values)."
|
|
263
|
+
@tier "presentation"
|
|
264
|
+
rowLabels : [AlgorithmCanvasRowLabelsItem] = []
|
|
265
|
+
@label "Row Labels"
|
|
266
|
+
@description "Row-header labels drawn to the left of the cells grid."
|
|
267
|
+
@tier "presentation"
|
|
268
|
+
colLabels : [AlgorithmCanvasColLabelsItem] = []
|
|
269
|
+
@label "Col Labels"
|
|
270
|
+
@description "Column-header labels drawn above the cells grid."
|
|
162
271
|
@tier "presentation"
|
|
163
272
|
shapes : [AlgorithmCanvasShapesItem] = []
|
|
164
273
|
@label "Shapes"
|
|
@@ -5,19 +5,83 @@ orbital BiologyCanvasOrbital {
|
|
|
5
5
|
id : string
|
|
6
6
|
x : number!
|
|
7
7
|
y : number!
|
|
8
|
+
z : number
|
|
8
9
|
radius : number
|
|
9
10
|
color : string
|
|
10
11
|
label : string
|
|
11
12
|
kind : "cell" | "organelle" | "molecule" | "organism"
|
|
13
|
+
shape : "box" | "sphere" | "capsule" | "cylinder" | "cone" | "torus" | "plane" | "circle" | "polyhedron"
|
|
14
|
+
opacity : number
|
|
15
|
+
state : "default" | "highlight" | "muted"
|
|
12
16
|
}
|
|
13
17
|
type BiologyCanvasEdgesItem = {
|
|
14
18
|
from : string!
|
|
15
19
|
to : string!
|
|
16
20
|
color : string
|
|
17
21
|
label : string
|
|
22
|
+
directed : boolean
|
|
23
|
+
}
|
|
24
|
+
type BiologyCanvasCompartmentsItem = {
|
|
25
|
+
x : number!
|
|
26
|
+
y : number!
|
|
27
|
+
width : number!
|
|
28
|
+
height : number!
|
|
29
|
+
label : string
|
|
30
|
+
color : string
|
|
31
|
+
fill : string
|
|
32
|
+
dash : "dashed" | "dotted"
|
|
33
|
+
lineWidth : number
|
|
34
|
+
}
|
|
35
|
+
type BiologyCanvasBandsItem = {
|
|
36
|
+
label : string
|
|
37
|
+
color : string
|
|
38
|
+
}
|
|
39
|
+
type BiologyCanvasStagesItem = {
|
|
40
|
+
label : string!
|
|
41
|
+
state : "pending" | "active" | "done"
|
|
42
|
+
color : string
|
|
43
|
+
}
|
|
44
|
+
type BiologyCanvasHelix = {
|
|
45
|
+
x : number
|
|
46
|
+
y : number
|
|
47
|
+
width : number
|
|
48
|
+
height : number
|
|
49
|
+
rungs : [BiologyCanvasHelixRungsItem]!
|
|
50
|
+
fork : number
|
|
51
|
+
colorA : string
|
|
52
|
+
colorB : string
|
|
53
|
+
rungColor : string
|
|
54
|
+
}
|
|
55
|
+
type BiologyCanvasHelixRungsItem = {
|
|
56
|
+
a : string
|
|
57
|
+
b : string
|
|
58
|
+
state : "paired" | "open" | "new"
|
|
59
|
+
color : string
|
|
60
|
+
}
|
|
61
|
+
type BiologyCanvasHelix3d = {
|
|
62
|
+
count : number
|
|
63
|
+
rungs : [BiologyCanvasHelix3dRungsItem]
|
|
64
|
+
radius : number
|
|
65
|
+
rise : number
|
|
66
|
+
twistDeg : number
|
|
67
|
+
strandAColor : string
|
|
68
|
+
strandBColor : string
|
|
69
|
+
backboneRadius : number
|
|
70
|
+
rungRadius : number
|
|
71
|
+
x : number
|
|
72
|
+
y : number
|
|
73
|
+
z : number
|
|
74
|
+
unwoundCount : number
|
|
75
|
+
unwindSpread : number
|
|
76
|
+
}
|
|
77
|
+
type BiologyCanvasHelix3dRungsItem = {
|
|
78
|
+
id : string
|
|
79
|
+
color : string
|
|
80
|
+
radius : number
|
|
81
|
+
label : string
|
|
18
82
|
}
|
|
19
83
|
type BiologyCanvasShapesItem = {
|
|
20
|
-
type : "line" | "arrow" | "circle" | "rect" | "polygon" | "path" | "text" | "axis" | "grid"!
|
|
84
|
+
type : "line" | "arrow" | "circle" | "ellipse" | "rect" | "polygon" | "path" | "text" | "axis" | "grid" | "venn-region"!
|
|
21
85
|
id : string
|
|
22
86
|
x : number
|
|
23
87
|
y : number
|
|
@@ -42,11 +106,42 @@ orbital BiologyCanvasOrbital {
|
|
|
42
106
|
fill : string
|
|
43
107
|
lineWidth : number
|
|
44
108
|
opacity : number
|
|
109
|
+
startAngle : number
|
|
110
|
+
endAngle : number
|
|
111
|
+
dash : "dashed" | "dotted"
|
|
112
|
+
inside : [string]
|
|
113
|
+
outside : [string]
|
|
45
114
|
}
|
|
46
115
|
type BiologyCanvasShapesItemPointsItem = {
|
|
47
116
|
x : number!
|
|
48
117
|
y : number!
|
|
49
118
|
}
|
|
119
|
+
type BiologyCanvasReadoutsItem = {
|
|
120
|
+
label : string!
|
|
121
|
+
value : string!
|
|
122
|
+
color : string
|
|
123
|
+
}
|
|
124
|
+
type BiologyCanvasTracesItem = {
|
|
125
|
+
x : number
|
|
126
|
+
y : number
|
|
127
|
+
width : number
|
|
128
|
+
height : number
|
|
129
|
+
series : [BiologyCanvasTracesItemSeriesItem]!
|
|
130
|
+
xLabel : string
|
|
131
|
+
yLabel : string
|
|
132
|
+
frameColor : string
|
|
133
|
+
backgroundColor : string
|
|
134
|
+
backgroundOpacity : number
|
|
135
|
+
}
|
|
136
|
+
type BiologyCanvasTracesItemSeriesItem = {
|
|
137
|
+
samples : [BiologyCanvasTracesItemSeriesItemSamplesItem]!
|
|
138
|
+
color : string
|
|
139
|
+
label : string
|
|
140
|
+
}
|
|
141
|
+
type BiologyCanvasTracesItemSeriesItemSamplesItem = {
|
|
142
|
+
x : number!
|
|
143
|
+
y : number!
|
|
144
|
+
}
|
|
50
145
|
type BiologyCanvasError = {
|
|
51
146
|
message : string!
|
|
52
147
|
name : string
|
|
@@ -74,9 +169,23 @@ orbital BiologyCanvasOrbital {
|
|
|
74
169
|
height: @config.height
|
|
75
170
|
title: @config.title
|
|
76
171
|
backgroundColor: @config.backgroundColor
|
|
172
|
+
mode: @config.mode
|
|
173
|
+
camera: @config.camera
|
|
174
|
+
lighting: @config.lighting
|
|
175
|
+
post: @config.post
|
|
77
176
|
nodes: @config.nodes
|
|
78
177
|
edges: @config.edges
|
|
178
|
+
compartments: @config.compartments
|
|
179
|
+
bands: @config.bands
|
|
180
|
+
stages: @config.stages
|
|
181
|
+
stageStyle: @config.stageStyle
|
|
182
|
+
helix: @config.helix
|
|
183
|
+
helix3d: @config.helix3d
|
|
79
184
|
shapes: @config.shapes
|
|
185
|
+
readouts: @config.readouts
|
|
186
|
+
traces: @config.traces
|
|
187
|
+
showGrid: @config.showGrid
|
|
188
|
+
shadows: @config.shadows
|
|
80
189
|
interactive: @config.interactive
|
|
81
190
|
animate: @config.animate
|
|
82
191
|
onShapeClick: @config.onShapeClick
|
|
@@ -91,9 +200,23 @@ orbital BiologyCanvasOrbital {
|
|
|
91
200
|
height: @config.height
|
|
92
201
|
title: @config.title
|
|
93
202
|
backgroundColor: @config.backgroundColor
|
|
203
|
+
mode: @config.mode
|
|
204
|
+
camera: @config.camera
|
|
205
|
+
lighting: @config.lighting
|
|
206
|
+
post: @config.post
|
|
94
207
|
nodes: @payload.nodes
|
|
95
208
|
edges: @payload.edges
|
|
209
|
+
compartments: @payload.compartments
|
|
210
|
+
bands: @payload.bands
|
|
211
|
+
stages: @payload.stages
|
|
212
|
+
stageStyle: @config.stageStyle
|
|
213
|
+
helix: @config.helix
|
|
214
|
+
helix3d: @config.helix3d
|
|
96
215
|
shapes: @payload.shapes
|
|
216
|
+
readouts: @payload.readouts
|
|
217
|
+
traces: @payload.traces
|
|
218
|
+
showGrid: @config.showGrid
|
|
219
|
+
shadows: @config.shadows
|
|
97
220
|
interactive: @config.interactive
|
|
98
221
|
animate: @config.animate
|
|
99
222
|
onShapeClick: @config.onShapeClick
|
|
@@ -115,7 +238,12 @@ orbital BiologyCanvasOrbital {
|
|
|
115
238
|
UPDATE {
|
|
116
239
|
nodes : [BiologyCanvasNodesItem]
|
|
117
240
|
edges : [BiologyCanvasEdgesItem]
|
|
241
|
+
compartments : [BiologyCanvasCompartmentsItem]
|
|
242
|
+
bands : [BiologyCanvasBandsItem]
|
|
243
|
+
stages : [BiologyCanvasStagesItem]
|
|
118
244
|
shapes : [BiologyCanvasShapesItem]
|
|
245
|
+
readouts : [BiologyCanvasReadoutsItem]
|
|
246
|
+
traces : [BiologyCanvasTracesItem]
|
|
119
247
|
}
|
|
120
248
|
@description "Live scene update; payload carries the current drawable state."
|
|
121
249
|
@synonyms "tick, redraw, animate, frame"
|
|
@@ -143,6 +271,22 @@ orbital BiologyCanvasOrbital {
|
|
|
143
271
|
@label "Background Color"
|
|
144
272
|
@description "backgroundColor prop"
|
|
145
273
|
@tier "presentation"
|
|
274
|
+
mode : "2d" | "3d" = "2d"
|
|
275
|
+
@label "Mode"
|
|
276
|
+
@description "Painter: 2D raster (default) or 3D mesh scene via the lazy three.js host."
|
|
277
|
+
@tier "presentation"
|
|
278
|
+
camera : json = {}
|
|
279
|
+
@label "Camera"
|
|
280
|
+
@description "3D only: neutral camera pose ({ mode, zoom, fov, azimuth, target })."
|
|
281
|
+
@tier "presentation"
|
|
282
|
+
lighting : json = {}
|
|
283
|
+
@label "Lighting"
|
|
284
|
+
@description "3D only: scene light rig as data."
|
|
285
|
+
@tier "presentation"
|
|
286
|
+
post : json = {}
|
|
287
|
+
@label "Post"
|
|
288
|
+
@description "3D only: post-processing stack (bloom/vignette)."
|
|
289
|
+
@tier "presentation"
|
|
146
290
|
nodes : [BiologyCanvasNodesItem] = []
|
|
147
291
|
@label "Nodes"
|
|
148
292
|
@description "nodes prop"
|
|
@@ -151,17 +295,61 @@ orbital BiologyCanvasOrbital {
|
|
|
151
295
|
@label "Edges"
|
|
152
296
|
@description "edges prop"
|
|
153
297
|
@tier "presentation"
|
|
298
|
+
compartments : [BiologyCanvasCompartmentsItem] = []
|
|
299
|
+
@label "Compartments"
|
|
300
|
+
@description "Organelle/membrane/cell-boundary ellipses (2D only)."
|
|
301
|
+
@synonyms "membrane, organelle region, cell boundary"
|
|
302
|
+
@tier "presentation"
|
|
303
|
+
bands : [BiologyCanvasBandsItem] = []
|
|
304
|
+
@label "Bands"
|
|
305
|
+
@description "Full-width horizontal background stripes, drawn first (2D only)."
|
|
306
|
+
@synonyms "trophic levels, zones, layers"
|
|
307
|
+
@tier "presentation"
|
|
308
|
+
stages : [BiologyCanvasStagesItem] = []
|
|
309
|
+
@label "Stages"
|
|
310
|
+
@description "Phase/step chips (2D only)."
|
|
311
|
+
@synonyms "phases, timeline, cycle"
|
|
312
|
+
@tier "presentation"
|
|
313
|
+
stageStyle : "timeline" | "ring" = timeline
|
|
314
|
+
@label "Stage Style"
|
|
315
|
+
@description "Layout for `stages`: a bottom timeline strip (default) or a radial ring."
|
|
316
|
+
@tier "presentation"
|
|
317
|
+
helix : BiologyCanvasHelix
|
|
318
|
+
@label "Helix"
|
|
319
|
+
@description "A DNA double-helix ladder panel (2D only)."
|
|
320
|
+
@synonyms "DNA ladder, replication fork, base pairs"
|
|
321
|
+
@tier "presentation"
|
|
322
|
+
helix3d : BiologyCanvasHelix3d
|
|
323
|
+
@label "Helix3d"
|
|
324
|
+
@description "A 3D DNA double-helix ladder. 3D only."
|
|
325
|
+
@tier "presentation"
|
|
154
326
|
shapes : [BiologyCanvasShapesItem] = []
|
|
155
327
|
@label "Shapes"
|
|
156
|
-
@description "Extra declarative shapes in canvas pixel coordinates."
|
|
328
|
+
@description "Extra declarative shapes in canvas pixel coordinates (2D mode only — ignored in 3D)."
|
|
329
|
+
@tier "presentation"
|
|
330
|
+
readouts : [BiologyCanvasReadoutsItem] = []
|
|
331
|
+
@label "Readouts"
|
|
332
|
+
@description "Top-right status chip row, forwarded to LearningCanvas verbatim."
|
|
333
|
+
@tier "presentation"
|
|
334
|
+
traces : [BiologyCanvasTracesItem] = []
|
|
335
|
+
@label "Traces"
|
|
336
|
+
@description "Inset sparkline panels, forwarded to LearningCanvas verbatim."
|
|
337
|
+
@tier "presentation"
|
|
338
|
+
showGrid : boolean
|
|
339
|
+
@label "Show Grid"
|
|
340
|
+
@description "3D only: show the ground grid (default off)."
|
|
341
|
+
@tier "presentation"
|
|
342
|
+
shadows : boolean
|
|
343
|
+
@label "Shadows"
|
|
344
|
+
@description "3D only: enable shadows. Omitted → the host default."
|
|
157
345
|
@tier "presentation"
|
|
158
|
-
interactive : boolean
|
|
346
|
+
interactive : boolean
|
|
159
347
|
@label "Interactive"
|
|
160
|
-
@description "
|
|
348
|
+
@description "2D: pointer interaction (click/hover). 3D: orbit camera controls."
|
|
161
349
|
@tier "presentation"
|
|
162
350
|
animate : boolean = false
|
|
163
351
|
@label "Animate"
|
|
164
|
-
@description "
|
|
352
|
+
@description "2D only: continuous redraw loop. 3D motion is entity-state driven."
|
|
165
353
|
@tier "presentation"
|
|
166
354
|
onShapeClick : string = "SHAPE_CLICK"
|
|
167
355
|
@label "On Shape Click"
|