@almadar/std 16.181.0 → 16.183.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-calendar-sync.lolo +290 -0
- package/behaviors/lolo/infra/atoms/std-migration-job.lolo +2 -2
- package/behaviors/lolo/infra/atoms/std-notification-center.lolo +290 -0
- package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +238 -40
- package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +180 -3
- package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +6 -0
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +4 -4
- package/behaviors/lolo/ui/game/.hand-authored.json +1 -1
- package/behaviors/lolo/ui/game/atoms/std-fx-trail.lolo +63 -0
- package/behaviors/lolo/ui/game/atoms/std-gate-lock.lolo +96 -0
- package/behaviors/lolo/ui/game/atoms/std-lives.lolo +121 -0
- package/behaviors/lolo/ui/game/atoms/std-patrol-hazard.lolo +96 -0
- package/behaviors/lolo/ui/game/atoms/std-tutorial-overlay.lolo +164 -0
- package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +5 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +5 -0
- package/behaviors/lolo/ui/game/templates/ui-game-shell.lolo +5 -5
- package/behaviors/lolo/ui/learning/atoms/std-learn-slope-probe.lolo +117 -0
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +18 -0
- package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1643 -0
- package/behaviors/registry/infra/atoms/std-migration-job.orb +2 -2
- package/behaviors/registry/infra/atoms/std-notification-center.orb +1621 -0
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1734 -169
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +846 -2
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +9 -0
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +4 -2
- package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +376 -0
- package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +852 -0
- package/behaviors/registry/ui/game/atoms/std-lives.orb +739 -0
- package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +768 -0
- package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1060 -0
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +13 -1
- package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +13 -1
- package/behaviors/registry/ui/game/templates/ui-game-shell.orb +5 -5
- package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +908 -0
- package/canonical-operators.json +21 -1
- package/dist/behaviors/exports-reader.js +9021 -3497
- package/dist/behaviors/functions/index.d.ts +1001 -10
- package/dist/behaviors/functions/index.js +18568 -13079
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +9022 -3498
- package/dist/behaviors/query.js +9021 -3497
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +347 -315
- package/dist/behaviors-registry.json +2694 -56
- package/dist/index.d.ts +3 -3
- package/dist/index.js +8502 -2941
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +1 -1
- package/dist/modules/anim.d.ts +1 -1
- package/dist/modules/array.d.ts +1 -1
- package/dist/modules/async.d.ts +1 -1
- package/dist/modules/behavior.d.ts +1 -1
- package/dist/modules/browser.d.ts +1 -1
- package/dist/modules/browser.js +21 -0
- package/dist/modules/composition.d.ts +1 -1
- package/dist/modules/contract.d.ts +1 -1
- package/dist/modules/core.d.ts +1 -1
- package/dist/modules/core.js +18 -2
- package/dist/modules/data.d.ts +1 -1
- package/dist/modules/ease.d.ts +1 -1
- package/dist/modules/format.d.ts +1 -1
- package/dist/modules/geo.d.ts +1 -1
- package/dist/modules/graph.d.ts +1 -1
- package/dist/modules/grid.d.ts +1 -1
- package/dist/modules/index.d.ts +1 -1
- package/dist/modules/index.js +39 -2
- package/dist/modules/integration.d.ts +1 -1
- package/dist/modules/llm.d.ts +1 -1
- package/dist/modules/math.d.ts +1 -1
- package/dist/modules/memory.d.ts +1 -1
- package/dist/modules/nn.d.ts +1 -1
- package/dist/modules/noise.d.ts +1 -1
- package/dist/modules/object.d.ts +1 -1
- package/dist/modules/os.d.ts +1 -1
- package/dist/modules/path.d.ts +1 -1
- package/dist/modules/prob.d.ts +1 -1
- package/dist/modules/session.d.ts +1 -1
- package/dist/modules/str.d.ts +1 -1
- package/dist/modules/tensor.d.ts +1 -1
- package/dist/modules/time.d.ts +1 -1
- package/dist/modules/trace.d.ts +1 -1
- package/dist/modules/train.d.ts +1 -1
- package/dist/modules/validate.d.ts +1 -1
- package/dist/modules/vector.d.ts +1 -1
- package/dist/modules/workspace.d.ts +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.js +39 -2
- package/dist/{types-DGJ6Y6nW.d.ts → types-BXWzEjFm.d.ts} +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
app std-learn-slope-probe "1.0.0"
|
|
2
|
+
"Headless derivative probe for graph-riding learning boards: while the body authority's BODY_MOVED reports its `skating` flag (body riding the curve), it brackets the configured curve around the body's x and derives the local calculus readout — the slope dy/dx, a tangent-line segment of half-width `window` centered on the contact point, a rise-over-run triangle (run `triRun`, rise slope·run), and the glow window of curve samples around the contact — all written to a [runtime, shared] entity so the board renders the math the player is physically riding. Emits the sparse SLOPE_CHANGED signal only when the slope crosses a 0.5 bucket boundary, so fx and HUD meters react to *changes* in steepness without paying a per-tick event. The curve is the same sample table the body skates and the canvas draws — one source, three views. Renders nothing."
|
|
3
|
+
orbital LearnSlopeProbeOrbital {
|
|
4
|
+
type ProbeSample = {
|
|
5
|
+
x : number!
|
|
6
|
+
y : number!
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
entity SlopeProbeState [runtime, shared] {
|
|
10
|
+
id : string!
|
|
11
|
+
probing : boolean = false
|
|
12
|
+
x : number = 0
|
|
13
|
+
y : number = 0
|
|
14
|
+
slope : number = 0
|
|
15
|
+
tax : number = 0
|
|
16
|
+
tay : number = 0
|
|
17
|
+
tbx : number = 0
|
|
18
|
+
tby : number = 0
|
|
19
|
+
triAx : number = 0
|
|
20
|
+
triAy : number = 0
|
|
21
|
+
triBx : number = 0
|
|
22
|
+
triBy : number = 0
|
|
23
|
+
triCx : number = 0
|
|
24
|
+
triCy : number = 0
|
|
25
|
+
segment : [ProbeSample] = []
|
|
26
|
+
bucket : number = 9999
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
trait LearnSlopeProbe -> @rebindable SlopeProbeState [lifecycle] {
|
|
30
|
+
initial: idle
|
|
31
|
+
|
|
32
|
+
state idle {
|
|
33
|
+
INIT -> idle
|
|
34
|
+
(set @entity.probing false)
|
|
35
|
+
(set @entity.segment [])
|
|
36
|
+
(set @entity.bucket 9999)
|
|
37
|
+
|
|
38
|
+
BODY_MOVED -> idle when @config.running
|
|
39
|
+
(let ((on (and @payload.skating (> (array/len @config.curve) 1))))
|
|
40
|
+
(let ((inRange (and @on (and (>= @payload.x (object/get (array/first @config.curve) x)) (<= @payload.x (object/get (array/last @config.curve) x))))))
|
|
41
|
+
(if @inRange
|
|
42
|
+
(let ((leftSamp (array/last (array/filter @config.curve (fn s (<= (object/get @s x) @payload.x)))))
|
|
43
|
+
(rightSamp (array/first (array/filter @config.curve (fn s (> (object/get @s x) @payload.x))))))
|
|
44
|
+
(let ((slope (if (== @rightSamp null) 0 (/ (- (object/get @rightSamp y) (object/get @leftSamp y)) (- (object/get @rightSamp x) (object/get @leftSamp x))))))
|
|
45
|
+
(let ((curveY (if (== @rightSamp null) (object/get @leftSamp y) (+ (object/get @leftSamp y) (* @slope (- @payload.x (object/get @leftSamp x)))))))
|
|
46
|
+
(let ((norm (math/sqrt (+ 1 (* @slope @slope)))))
|
|
47
|
+
(let ((dx (/ @config.window @norm)) (dy (/ (* @slope @config.window) @norm)))
|
|
48
|
+
(let ((newBucket (* (math/round (* @slope 2) 0) 0.5)))
|
|
49
|
+
(do
|
|
50
|
+
(set @entity.probing true)
|
|
51
|
+
(set @entity.x @payload.x)
|
|
52
|
+
(set @entity.y @curveY)
|
|
53
|
+
(set @entity.slope @slope)
|
|
54
|
+
(set @entity.tax (- @payload.x @dx))
|
|
55
|
+
(set @entity.tay (- @curveY @dy))
|
|
56
|
+
(set @entity.tbx (+ @payload.x @dx))
|
|
57
|
+
(set @entity.tby (+ @curveY @dy))
|
|
58
|
+
(set @entity.triAx @payload.x)
|
|
59
|
+
(set @entity.triAy @curveY)
|
|
60
|
+
(set @entity.triBx (+ @payload.x @config.triRun))
|
|
61
|
+
(set @entity.triBy @curveY)
|
|
62
|
+
(set @entity.triCx (+ @payload.x @config.triRun))
|
|
63
|
+
(set @entity.triCy (+ @curveY (* @slope @config.triRun)))
|
|
64
|
+
(set @entity.segment (array/filter @config.curve (fn s (and (>= (object/get @s x) (- @payload.x @config.window)) (<= (object/get @s x) (+ @payload.x @config.window))))))
|
|
65
|
+
(if (!= @newBucket @entity.bucket)
|
|
66
|
+
(do
|
|
67
|
+
(set @entity.bucket @newBucket)
|
|
68
|
+
(emit SLOPE_CHANGED { slope: @slope, bucket: @newBucket }))
|
|
69
|
+
null))))))))
|
|
70
|
+
(if @entity.probing
|
|
71
|
+
(do
|
|
72
|
+
(set @entity.probing false)
|
|
73
|
+
(set @entity.segment []))
|
|
74
|
+
null))))
|
|
75
|
+
|
|
76
|
+
RESTART -> idle
|
|
77
|
+
(set @entity.probing false)
|
|
78
|
+
(set @entity.segment [])
|
|
79
|
+
(set @entity.bucket 9999)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
emits {
|
|
83
|
+
SLOPE_CHANGED -> external {
|
|
84
|
+
slope : number!
|
|
85
|
+
bucket : number!
|
|
86
|
+
}
|
|
87
|
+
@description "The local dy/dx crossed a 0.5 bucket boundary while the probe was active; slope is exact, bucket is the rounded step — fx/HUD scale with steepness without paying per-tick events."
|
|
88
|
+
@tier "domain"
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
listens {
|
|
92
|
+
BODY_MOVED { x : number!, y : number!, vx : number!, vy : number!, grounded : boolean!, skating : boolean!, speed : number! }
|
|
93
|
+
RESTART { id : string }
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
config {
|
|
97
|
+
running : boolean = true
|
|
98
|
+
@label "Running"
|
|
99
|
+
@description "When true the probe derives the readout off BODY_MOVED; toggle to freeze it (the board hides the tangent overlays when probing goes stale)."
|
|
100
|
+
@tier "domain"
|
|
101
|
+
curve : [ProbeSample] = []
|
|
102
|
+
@label "Curve"
|
|
103
|
+
@description "Surface samples (x strictly increasing) of the graph being ridden — the same table the body skates and the canvas draws, so the readout matches what is underfoot."
|
|
104
|
+
@tier "domain"
|
|
105
|
+
window : number = 1.5
|
|
106
|
+
@label "Tangent Window"
|
|
107
|
+
@description "Half-length (world units along the tangent) of the tangent segment and of the glow sample window around the contact point."
|
|
108
|
+
@tier "presentation"
|
|
109
|
+
triRun : number = 1
|
|
110
|
+
@label "Triangle Run"
|
|
111
|
+
@description "Horizontal leg of the rise-over-run triangle; the vertical leg is slope × triRun, so triRun = 1 reads the slope directly."
|
|
112
|
+
@tier "presentation"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
page "/learn-slope-probe" as LearnSlopeProbePage -> LearnSlopeProbe
|
|
117
|
+
}
|
|
@@ -168,6 +168,9 @@ orbital MathCanvasOrbital {
|
|
|
168
168
|
showAxes: @config.showAxes
|
|
169
169
|
showGrid: @config.showGrid
|
|
170
170
|
gridStep: @config.gridStep
|
|
171
|
+
backgroundColor: @config.backgroundColor
|
|
172
|
+
gridColor: @config.gridColor
|
|
173
|
+
axisColor: @config.axisColor
|
|
171
174
|
showTickLabels: @config.showTickLabels
|
|
172
175
|
showCurveLabels: @config.showCurveLabels
|
|
173
176
|
curves: @config.curves
|
|
@@ -203,6 +206,9 @@ orbital MathCanvasOrbital {
|
|
|
203
206
|
showAxes: @config.showAxes
|
|
204
207
|
showGrid: @config.showGrid
|
|
205
208
|
gridStep: @config.gridStep
|
|
209
|
+
backgroundColor: @config.backgroundColor
|
|
210
|
+
gridColor: @config.gridColor
|
|
211
|
+
axisColor: @config.axisColor
|
|
206
212
|
showTickLabels: @config.showTickLabels
|
|
207
213
|
showCurveLabels: @config.showCurveLabels
|
|
208
214
|
curves: @payload.curves
|
|
@@ -299,6 +305,18 @@ orbital MathCanvasOrbital {
|
|
|
299
305
|
@label "Grid Step"
|
|
300
306
|
@description "gridStep prop"
|
|
301
307
|
@tier "presentation"
|
|
308
|
+
backgroundColor : string
|
|
309
|
+
@label "Background Color"
|
|
310
|
+
@description "Canvas fill color; accepts theme-token refs like var(--color-background, transparent) — resolved against the active theme at draw time. Default transparent."
|
|
311
|
+
@tier "presentation"
|
|
312
|
+
gridColor : string = "var(--color-border, #9ca3af)"
|
|
313
|
+
@label "Grid Color"
|
|
314
|
+
@description "Grid line color; theme-token aware (defaults to the active theme's border color at 35% opacity, falling back to neutral gray)."
|
|
315
|
+
@tier "presentation"
|
|
316
|
+
axisColor : string = "var(--color-muted-foreground, #374151)"
|
|
317
|
+
@label "Axis Color"
|
|
318
|
+
@description "Axis line color; theme-token aware (defaults to the active theme's muted-foreground, falling back to slate)."
|
|
319
|
+
@tier "presentation"
|
|
302
320
|
showTickLabels : boolean = false
|
|
303
321
|
@label "Show Tick Labels"
|
|
304
322
|
@description "Draw numeric labels on grid lines (default false)."
|