@almadar/std 16.245.0 → 16.246.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/behaviors/behaviors-registry.json +534 -176
- package/behaviors/lolo/agent/atoms/std-agent-context.lolo +9 -4
- package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +9 -4
- package/behaviors/lolo/agent/atoms/std-agent-proposal.lolo +9 -4
- package/behaviors/lolo/agent/atoms/std-agent-session.lolo +9 -4
- package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +9 -4
- package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +9 -4
- package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +9 -4
- package/behaviors/lolo/ui/core/atoms/ui-svg-flow.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +3 -3
- package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +3 -3
- package/behaviors/lolo/ui/game/atoms/ui-draw-group.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-mesh.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-skinned-mesh.lolo +3 -3
- package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +3 -3
- package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +3 -3
- package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +3 -3
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/atoms/std-agent-context.orb +53 -67
- package/behaviors/registry/agent/atoms/std-agent-memory.orb +14 -51
- package/behaviors/registry/agent/atoms/std-agent-proposal.orb +50 -20
- package/behaviors/registry/agent/atoms/std-agent-session.orb +84 -91
- package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +61 -24
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +61 -45
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +63 -26
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +2 -2
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +2 -2
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +2 -2
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +2 -2
- package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +11 -4
- package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +3 -3
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +4 -4
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +4 -4
- package/behaviors/registry/ui/core/organisms/ui-form.orb +4 -4
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +136 -2
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +3 -2
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +51 -18
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +3 -3
- package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +12 -5
- package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +12 -5
- package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +39 -14
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +51 -18
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +51 -18
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +51 -18
- package/canonical-operators.json +5 -5
- package/dist/behaviors/exports-reader.js +228 -218
- package/dist/behaviors/functions/index.d.ts +8 -8
- package/dist/behaviors/functions/index.js +228 -218
- package/dist/behaviors/index.js +228 -218
- package/dist/behaviors/query.js +228 -218
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/behaviors-registry.json +534 -176
- package/dist/index.js +232 -222
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +7 -3
- package/dist/modules/array.js +4 -4
- package/dist/modules/index.js +4 -4
- package/dist/registry/factory-signatures.json +1 -1
- package/dist/registry.js +4 -4
- package/package.json +2 -2
|
@@ -5,11 +5,16 @@ type AgentChatMessage = {
|
|
|
5
5
|
role : "user" | "assistant"
|
|
6
6
|
content : string!
|
|
7
7
|
}
|
|
8
|
-
type
|
|
9
|
-
|
|
10
|
-
read : string
|
|
11
|
-
scope : "declared"
|
|
8
|
+
type AgentToolScope = {
|
|
9
|
+
scope : "declared"!
|
|
12
10
|
}
|
|
11
|
+
type AgentToolInput = {
|
|
12
|
+
event : EventAddress!
|
|
13
|
+
}
|
|
14
|
+
type AgentToolRead = {
|
|
15
|
+
read : string!
|
|
16
|
+
}
|
|
17
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
13
18
|
|
|
14
19
|
orbital AgentContextOrbital {
|
|
15
20
|
type ContextSummarized = Event { summary : string, keyPoints : [string] } "Fired when the older turns have been summarized"
|
|
@@ -5,11 +5,16 @@ type AgentChatMessage = {
|
|
|
5
5
|
role : "user" | "assistant"
|
|
6
6
|
content : string!
|
|
7
7
|
}
|
|
8
|
-
type
|
|
9
|
-
|
|
10
|
-
read : string
|
|
11
|
-
scope : "declared"
|
|
8
|
+
type AgentToolScope = {
|
|
9
|
+
scope : "declared"!
|
|
12
10
|
}
|
|
11
|
+
type AgentToolInput = {
|
|
12
|
+
event : EventAddress!
|
|
13
|
+
}
|
|
14
|
+
type AgentToolRead = {
|
|
15
|
+
read : string!
|
|
16
|
+
}
|
|
17
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
13
18
|
type AgentMemoryRow = {
|
|
14
19
|
id : string!
|
|
15
20
|
content : string!
|
|
@@ -2,11 +2,16 @@ app std-agent-proposal "1.0.0"
|
|
|
2
2
|
"std-agent-proposal — an agent that reads what the person hands over, works out a structured proposal, and commits nothing until they approve it. The app starts it with PROPOSAL_REQUESTED { input, context } (any trait emitting it, or the person typing into the start form when `showInputForm` is on). A second std-agent-tool-loop answers with `instructions`, `prompt` and `tools` as the signed-in person — `quiet`, its reply and failure renamed PROPOSAL_LOOP_REPLIED / PROPOSAL_LOOP_FAILED so they never reach the assistant's chat — and submits its proposal through one declared input, PROPOSE (its @description is the tool text): a summary and a list of items, each a flat map of scalar values the app names. The person reviews it (the summary, the items drawn with `itemPattern` and `itemFields`) and chooses: Approve emits PROPOSAL_APPROVED { proposal } for the app to commit (the app owns the commit; this atom writes nothing); Revise sends their written feedback back to the agent, which proposes again; Discard emits PROPOSAL_DISCARDED. Cancel while the agent works aborts its model call and emits PROPOSAL_CANCELLED. A run that fails, or ends without proposing, shows its error with Retry and Discard. The panel renders into `panelSlot`. Import the orbital once per app: `orbital Proposal = Proposal.orbitals.AgentProposalOrbital { config { instructions: \"…\", prompt: \"…\", itemFields: […] } }`, restating `tools` with PROPOSE addressed by its local orbital name (`{ event: Proposal.AgentProposalWorkflow.PROPOSE }`). Instructions, prompts, item fields and labels are the app's vocabulary, declared in config."
|
|
3
3
|
;; @capabilities "agent proposal, review before commit, human approval of agent output, approve or revise agent suggestions, structured proposal review, ai drafts for approval, extract then confirm"
|
|
4
4
|
|
|
5
|
-
type
|
|
6
|
-
|
|
7
|
-
read : string
|
|
8
|
-
scope : "declared"
|
|
5
|
+
type AgentToolScope = {
|
|
6
|
+
scope : "declared"!
|
|
9
7
|
}
|
|
8
|
+
type AgentToolInput = {
|
|
9
|
+
event : EventAddress!
|
|
10
|
+
}
|
|
11
|
+
type AgentToolRead = {
|
|
12
|
+
read : string!
|
|
13
|
+
}
|
|
14
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
10
15
|
type AgentChatMessage = {
|
|
11
16
|
role : "user" | "assistant"
|
|
12
17
|
content : string!
|
|
@@ -24,11 +24,16 @@ type AgentThreadRow = {
|
|
|
24
24
|
content : string!
|
|
25
25
|
createdAt : number
|
|
26
26
|
}
|
|
27
|
-
type
|
|
28
|
-
|
|
29
|
-
read : string
|
|
30
|
-
scope : "declared"
|
|
27
|
+
type AgentToolScope = {
|
|
28
|
+
scope : "declared"!
|
|
31
29
|
}
|
|
30
|
+
type AgentToolInput = {
|
|
31
|
+
event : EventAddress!
|
|
32
|
+
}
|
|
33
|
+
type AgentToolRead = {
|
|
34
|
+
read : string!
|
|
35
|
+
}
|
|
36
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
32
37
|
type AgentToolKind = "input" | "read" | "invalid"
|
|
33
38
|
type AgentMessageEntry = {
|
|
34
39
|
type : "message"!
|
|
@@ -2,11 +2,16 @@ app std-agent-suggestions "1.0.0"
|
|
|
2
2
|
"std-agent-suggestions — an agent that proactively proposes things to the signed-in person, who accepts or dismisses each one. The agent proposes through one declared input, PROPOSE_SUGGESTION (its @description is the tool text): a kind, a title, a body that gives its reasoning, an optional action (a name the app routes) with a payload, an optional href, and a subject (what it is about). A suggestion's signature is kind:action:subject; a signature that was ever proposed to this person, accepted or dismissed included, is never stored again (SUGGESTION_DUPLICATE), and no more than `maxPending` wait at once (SUGGESTION_LIMIT_REACHED). `kinds` and `actions`, when listed, are the only values accepted (SUGGESTION_REJECTED). The agent runs on its own: any trait emitting SUGGESTIONS_TRIGGERED (or an app event routed into AgentSuggestionTrigger's TRIGGERED by re-binding that trait in the import body with `omit { AgentSuggestionTrigger }` and its own `listens`) asks for a run, and once `cooldownMinutes` have passed since this person's last run a second std-agent-tool-loop answers `prompt` with `tools` as the signed-in person — `quiet`, so it streams no live steps and toasts no failure, and its reply and failure are renamed PROACTIVE_REPLIED / PROACTIVE_FAILED so they never reach the assistant's chat. AgentSuggestionInbox lists the pending suggestions with Accept and Dismiss and an empty state that offers to look again (SUGGESTIONS_ANALYZE_REQUESTED). Accept stores accepted, emits SUGGESTION_ACCEPTED { action, payload, href, … } for the app to route (and navigates to `href` when the suggestion has one); Dismiss stores dismissed and emits SUGGESTION_DISMISSED. The inbox renders into `panelSlot`: `main` inline (the content of a std-panel-launcher), or `modal`/`drawer` opened with OPEN and closed with CLOSE (set std-app-layout's notificationClickEvent, or a topBarActions event, to SUGGESTIONS_OPEN_REQUESTED). Import the orbital once per app: `orbital Suggestions = Suggest.orbitals.AgentSuggestionsOrbital { entity MySuggestion entities { AgentSuggestionRun: MySuggestionRun } config { … } }`, retargeting the records onto owner-scoped entities (`ownerId` a relation to your [identity] roster, with @read/@create/@update); a suggestion's proposer, inbox and trigger read only the rows whose ownerId is the signed-in person. PROPOSE_SUGGESTION's refusals (SUGGESTION_DUPLICATE, SUGGESTION_LIMIT_REACHED, SUGGESTION_REJECTED) are the agent's tool response; no trait listens to them. Suggestion kinds, actions and prompts are the app's vocabulary, declared in config."
|
|
3
3
|
;; @capabilities "proactive suggestions, agent recommendations, suggestion inbox, next best action, accept or dismiss suggestions, notification bell suggestions, agent proposals"
|
|
4
4
|
|
|
5
|
-
type
|
|
6
|
-
|
|
7
|
-
read : string
|
|
8
|
-
scope : "declared"
|
|
5
|
+
type AgentToolScope = {
|
|
6
|
+
scope : "declared"!
|
|
9
7
|
}
|
|
8
|
+
type AgentToolInput = {
|
|
9
|
+
event : EventAddress!
|
|
10
|
+
}
|
|
11
|
+
type AgentToolRead = {
|
|
12
|
+
read : string!
|
|
13
|
+
}
|
|
14
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
10
15
|
type AgentChatMessage = {
|
|
11
16
|
role : "user" | "assistant"
|
|
12
17
|
content : string!
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
app std-agent-tool-loop "2.0.0"
|
|
2
2
|
"std-agent-tool-loop — answers a conversation by operating the running app as the caller, through `call-service llm call-tools`. Its `tools` are `{ scope: declared }` (every declared external input plus a read over every persisted entity), or named declared inputs (addressed like a listens source: `Trait.EVENT`, `Orbital.Trait.EVENT`) and entities to read; each input fires as the signed-in user through the ordinary dispatch (guards and entity policies apply) and each read returns only the rows the caller may read. Headless: the conversation UI (std-agent-session) shows the reply; a failure shows as a toast, unless `quiet` is on (a background run nobody is watching: no live steps and no toast). CONVERSE carries the conversation (and optionally what std-agent-memory recalled); ASSISTANT_STEP carries each step live while it works (a model call, a tool it used, what the app answered) to the asking tab; ASSISTANT_REPLIED carries the reply, every step and the token usage; ASSISTANT_REPLY_FAILED carries the error. These names are the assistant contract std-agent-session's conversation hears from any orbital. Compose with std-agent-session (the conversation) and std-agent-trace (the step record)."
|
|
3
3
|
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
read : string
|
|
7
|
-
scope : "declared"
|
|
4
|
+
type AgentToolScope = {
|
|
5
|
+
scope : "declared"!
|
|
8
6
|
}
|
|
7
|
+
type AgentToolInput = {
|
|
8
|
+
event : EventAddress!
|
|
9
|
+
}
|
|
10
|
+
type AgentToolRead = {
|
|
11
|
+
read : string!
|
|
12
|
+
}
|
|
13
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
9
14
|
type AgentChatMessage = {
|
|
10
15
|
role : "user" | "assistant"
|
|
11
16
|
content : string!
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
app std-agent-assistant "2.0.0"
|
|
2
2
|
"std-agent-assistant — an in-app assistant that operates the running app for the signed-in user. Each section's floating button opens it in a side panel docked beside the page (std-panel-launcher; a side sheet on small screens), where the conversation shows every step the assistant takes live as it works; /assistant is the same conversation as a full page, in the app's own shell (pass `appName` and `navItems`); past conversations and what the assistant remembers open in place from its toolbar (Back returns to the chat), on either surface. One request flows down a chain of std agent atoms on the bus: the conversation (std-agent-session) SENDs → CONVERSE → std-agent-context bounds it → std-agent-memory adds what it recalls → std-agent-tool-loop answers it through `call-service llm call-tools`, firing only the inputs and reading only the entities its `tools` allow, as the signed-in user → ASSISTANT_REPLIED goes back to the conversation, to memory (remembered) and to std-agent-trace (the run record). By default the tools are the program's own declarations: every `-> external` input (its @description is the tool text) and a read over every persisted entity, so composing building blocks composes the assistant's abilities. Any section's page gets the assistant with two traits, `XAssistant = AgentSession.traits.AgentConversation` and a std-panel-launcher dock: the conversation speaks the ASSISTANT_* contract from any orbital, so the assistant needs no per-section wiring. Import the orbital once per app: `orbital Assistant = Agent.orbitals.AgentAssistantOrbital { config { instructions: \"…\" } }`. The conversation, memory and run records live in AgentRecordsOrbital; retarget them onto your own owner-scoped entities (`ownerId` a relation to your [identity] roster, with @read/@create) with `entities { AgentMessage: …, AgentMemory: …, AgentRun: …, AgentChat: … }`. The conversation is kept across pages and reloads (each person's most recently used conversation is the current one);"
|
|
3
3
|
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
read : string
|
|
7
|
-
scope : "declared"
|
|
4
|
+
type AgentToolScope = {
|
|
5
|
+
scope : "declared"!
|
|
8
6
|
}
|
|
7
|
+
type AgentToolInput = {
|
|
8
|
+
event : EventAddress!
|
|
9
|
+
}
|
|
10
|
+
type AgentToolRead = {
|
|
11
|
+
read : string!
|
|
12
|
+
}
|
|
13
|
+
type AgentTool = AgentToolScope | AgentToolInput | AgentToolRead
|
|
9
14
|
type AgentLink = {
|
|
10
15
|
label : string!
|
|
11
16
|
href : string!
|
|
@@ -52,7 +52,7 @@ orbital ImportProgressOrbital {
|
|
|
52
52
|
@label "Counts"
|
|
53
53
|
@description "Unit counts"
|
|
54
54
|
@tier "presentation"
|
|
55
|
-
labels : Map string string = {
|
|
55
|
+
labels : Map string string = { fetching: "Item" }
|
|
56
56
|
@label "Labels"
|
|
57
57
|
@description "Step label overrides"
|
|
58
58
|
@tier "presentation"
|
|
@@ -32,12 +32,12 @@ orbital CanvasOrbital {
|
|
|
32
32
|
type CanvasLightingAmbient = {
|
|
33
33
|
intensity : number
|
|
34
34
|
color : string
|
|
35
|
-
position : [number]
|
|
35
|
+
position : [number, number, number]
|
|
36
36
|
}
|
|
37
37
|
type CanvasLightingDirectional = {
|
|
38
38
|
intensity : number
|
|
39
39
|
color : string
|
|
40
|
-
position : [number]
|
|
40
|
+
position : [number, number, number]
|
|
41
41
|
}
|
|
42
42
|
type CanvasLightingHemisphere = {
|
|
43
43
|
intensity : number
|
|
@@ -47,7 +47,7 @@ orbital CanvasOrbital {
|
|
|
47
47
|
type CanvasLightingPointsItem = {
|
|
48
48
|
intensity : number
|
|
49
49
|
color : string
|
|
50
|
-
position : [number]!
|
|
50
|
+
position : [number, number, number]!
|
|
51
51
|
distance : number
|
|
52
52
|
decay : number
|
|
53
53
|
}
|
|
@@ -132,15 +132,15 @@ orbital ControlGridOrbital {
|
|
|
132
132
|
@label "Direction Event"
|
|
133
133
|
@description "Event-bus event emitted with `{ direction, pressed }` (kind='dpad')"
|
|
134
134
|
@tier "presentation"
|
|
135
|
-
directionEvents : Map string string = {
|
|
135
|
+
directionEvents : Map string string = { up: "INIT" }
|
|
136
136
|
@label "Direction Events"
|
|
137
137
|
@description "Per-direction PRESS → the board's SEMANTIC event (kind='dpad'), e.g. `{ left: 'LEFT', right: 'RIGHT', up: 'JUMP' }`. Lets the d-pad emit the SAME intent events as the keyboard so the FSM stays device-agnostic."
|
|
138
138
|
@tier "presentation"
|
|
139
|
-
directionReleaseEvents : Map string string = {
|
|
139
|
+
directionReleaseEvents : Map string string = { up: "INIT" }
|
|
140
140
|
@label "Direction Release Events"
|
|
141
141
|
@description "Per-direction RELEASE → semantic event, e.g. `{ left: 'STOP', right: 'STOP' }`. Omit a direction to ignore its release."
|
|
142
142
|
@tier "presentation"
|
|
143
|
-
directionAssets : Map string ControlGridDirectionAssetsValue = {
|
|
143
|
+
directionAssets : Map string ControlGridDirectionAssetsValue = { up: { url: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/features/sword.png", role: "item", category: "item", animations: ["static"], style: "pixel", dimension: "2d", aspect: "1:1", name: "item", thumbnailUrl: "" } }
|
|
144
144
|
@label "Direction Assets"
|
|
145
145
|
@description "Per-direction sprite assets for kind='dpad' buttons (e.g. Kenny arrow PNGs). Falls back to arrow emoji."
|
|
146
146
|
@tier "presentation"
|
|
@@ -64,7 +64,7 @@ orbital DrawGroupOrbital {
|
|
|
64
64
|
@label "Rotate"
|
|
65
65
|
@description "Rotation in radians (painter units)."
|
|
66
66
|
@tier "presentation"
|
|
67
|
-
rotation : [number
|
|
67
|
+
rotation : [number, number, number]
|
|
68
68
|
@label "Rotation"
|
|
69
69
|
@description "Euler rotation `[x, y, z]` in radians (world axes) — per-axis joint rotation for the 3D backend; a group placed at a joint with children authored joint-local IS a bone. The 2D painter applies only the in-plane `z` component, after `rotate`."
|
|
70
70
|
@tier "presentation"
|
|
@@ -144,7 +144,7 @@ orbital DrawMeshOrbital {
|
|
|
144
144
|
@label "Skin"
|
|
145
145
|
@description "`polyhedron` only: smooth-skinning weights binding the vertices to named bone groups. Vertices must then be authored in BIND POSE model space; the bones' animated transforms deform them."
|
|
146
146
|
@tier "presentation"
|
|
147
|
-
rotation : [number
|
|
147
|
+
rotation : [number, number, number]
|
|
148
148
|
@label "Rotation"
|
|
149
149
|
@description "Euler rotation `[x, y, z]` in radians."
|
|
150
150
|
@tier "presentation"
|
|
@@ -23,7 +23,7 @@ orbital DrawSkinnedMeshOrbital {
|
|
|
23
23
|
}
|
|
24
24
|
type DrawSkinnedMeshMesh = {
|
|
25
25
|
vertices : [DrawSkinnedMeshMeshVerticesItem]!
|
|
26
|
-
triangles : [[number]]!
|
|
26
|
+
triangles : [[number, number, number]]!
|
|
27
27
|
}
|
|
28
28
|
type DrawSkinnedMeshMeshVerticesItem = {
|
|
29
29
|
x : number!
|
|
@@ -39,8 +39,8 @@ orbital DrawSkinnedMeshOrbital {
|
|
|
39
39
|
type DrawSkinnedMeshBonesItem = {
|
|
40
40
|
name : string!
|
|
41
41
|
parent : string
|
|
42
|
-
pivot : [number]!
|
|
43
|
-
tip : [number]!
|
|
42
|
+
pivot : [number, number]!
|
|
43
|
+
tip : [number, number]!
|
|
44
44
|
}
|
|
45
45
|
type DrawSkinnedMeshClip = {
|
|
46
46
|
frames : [Map string number]!
|
|
@@ -32,12 +32,12 @@ orbital BiologyCanvasOrbital {
|
|
|
32
32
|
type BiologyCanvasLightingAmbient = {
|
|
33
33
|
intensity : number
|
|
34
34
|
color : string
|
|
35
|
-
position : [number]
|
|
35
|
+
position : [number, number, number]
|
|
36
36
|
}
|
|
37
37
|
type BiologyCanvasLightingDirectional = {
|
|
38
38
|
intensity : number
|
|
39
39
|
color : string
|
|
40
|
-
position : [number]
|
|
40
|
+
position : [number, number, number]
|
|
41
41
|
}
|
|
42
42
|
type BiologyCanvasLightingHemisphere = {
|
|
43
43
|
intensity : number
|
|
@@ -47,7 +47,7 @@ orbital BiologyCanvasOrbital {
|
|
|
47
47
|
type BiologyCanvasLightingPointsItem = {
|
|
48
48
|
intensity : number
|
|
49
49
|
color : string
|
|
50
|
-
position : [number]!
|
|
50
|
+
position : [number, number, number]!
|
|
51
51
|
distance : number
|
|
52
52
|
decay : number
|
|
53
53
|
}
|
|
@@ -32,12 +32,12 @@ orbital ChemistryCanvasOrbital {
|
|
|
32
32
|
type ChemistryCanvasLightingAmbient = {
|
|
33
33
|
intensity : number
|
|
34
34
|
color : string
|
|
35
|
-
position : [number]
|
|
35
|
+
position : [number, number, number]
|
|
36
36
|
}
|
|
37
37
|
type ChemistryCanvasLightingDirectional = {
|
|
38
38
|
intensity : number
|
|
39
39
|
color : string
|
|
40
|
-
position : [number]
|
|
40
|
+
position : [number, number, number]
|
|
41
41
|
}
|
|
42
42
|
type ChemistryCanvasLightingHemisphere = {
|
|
43
43
|
intensity : number
|
|
@@ -47,7 +47,7 @@ orbital ChemistryCanvasOrbital {
|
|
|
47
47
|
type ChemistryCanvasLightingPointsItem = {
|
|
48
48
|
intensity : number
|
|
49
49
|
color : string
|
|
50
|
-
position : [number]!
|
|
50
|
+
position : [number, number, number]!
|
|
51
51
|
distance : number
|
|
52
52
|
decay : number
|
|
53
53
|
}
|
|
@@ -32,12 +32,12 @@ orbital PhysicsCanvasOrbital {
|
|
|
32
32
|
type PhysicsCanvasLightingAmbient = {
|
|
33
33
|
intensity : number
|
|
34
34
|
color : string
|
|
35
|
-
position : [number]
|
|
35
|
+
position : [number, number, number]
|
|
36
36
|
}
|
|
37
37
|
type PhysicsCanvasLightingDirectional = {
|
|
38
38
|
intensity : number
|
|
39
39
|
color : string
|
|
40
|
-
position : [number]
|
|
40
|
+
position : [number, number, number]
|
|
41
41
|
}
|
|
42
42
|
type PhysicsCanvasLightingHemisphere = {
|
|
43
43
|
intensity : number
|
|
@@ -47,7 +47,7 @@ orbital PhysicsCanvasOrbital {
|
|
|
47
47
|
type PhysicsCanvasLightingPointsItem = {
|
|
48
48
|
intensity : number
|
|
49
49
|
color : string
|
|
50
|
-
position : [number]!
|
|
50
|
+
position : [number, number, number]!
|
|
51
51
|
distance : number
|
|
52
52
|
decay : number
|
|
53
53
|
}
|