@aura3d/scripting 1.0.6

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.
Files changed (139) hide show
  1. package/README.md +16 -0
  2. package/dist/AdaptiveDifficultyFixtures.d.ts +58 -0
  3. package/dist/AdaptiveDifficultyFixtures.d.ts.map +1 -0
  4. package/dist/AdaptiveDifficultyFixtures.js +228 -0
  5. package/dist/AdaptiveDifficultyFixtures.js.map +1 -0
  6. package/dist/AnalyticsPrivacyFixtures.d.ts +63 -0
  7. package/dist/AnalyticsPrivacyFixtures.d.ts.map +1 -0
  8. package/dist/AnalyticsPrivacyFixtures.js +120 -0
  9. package/dist/AnalyticsPrivacyFixtures.js.map +1 -0
  10. package/dist/Behavior.d.ts +10 -0
  11. package/dist/Behavior.d.ts.map +1 -0
  12. package/dist/Behavior.js +2 -0
  13. package/dist/Behavior.js.map +1 -0
  14. package/dist/BehaviorHost.d.ts +17 -0
  15. package/dist/BehaviorHost.d.ts.map +1 -0
  16. package/dist/BehaviorHost.js +39 -0
  17. package/dist/BehaviorHost.js.map +1 -0
  18. package/dist/BehaviorRegistry.d.ts +8 -0
  19. package/dist/BehaviorRegistry.d.ts.map +1 -0
  20. package/dist/BehaviorRegistry.js +17 -0
  21. package/dist/BehaviorRegistry.js.map +1 -0
  22. package/dist/BehaviorSystem.d.ts +26 -0
  23. package/dist/BehaviorSystem.d.ts.map +1 -0
  24. package/dist/BehaviorSystem.js +76 -0
  25. package/dist/BehaviorSystem.js.map +1 -0
  26. package/dist/BehaviorTree.d.ts +75 -0
  27. package/dist/BehaviorTree.d.ts.map +1 -0
  28. package/dist/BehaviorTree.js +204 -0
  29. package/dist/BehaviorTree.js.map +1 -0
  30. package/dist/CloudServiceFixtures.d.ts +81 -0
  31. package/dist/CloudServiceFixtures.d.ts.map +1 -0
  32. package/dist/CloudServiceFixtures.js +144 -0
  33. package/dist/CloudServiceFixtures.js.map +1 -0
  34. package/dist/CulturalBehaviorFixtures.d.ts +75 -0
  35. package/dist/CulturalBehaviorFixtures.d.ts.map +1 -0
  36. package/dist/CulturalBehaviorFixtures.js +180 -0
  37. package/dist/CulturalBehaviorFixtures.js.map +1 -0
  38. package/dist/DecisionTree.d.ts +42 -0
  39. package/dist/DecisionTree.d.ts.map +1 -0
  40. package/dist/DecisionTree.js +125 -0
  41. package/dist/DecisionTree.js.map +1 -0
  42. package/dist/GOAP.d.ts +51 -0
  43. package/dist/GOAP.d.ts.map +1 -0
  44. package/dist/GOAP.js +105 -0
  45. package/dist/GOAP.js.map +1 -0
  46. package/dist/HTN.d.ts +58 -0
  47. package/dist/HTN.d.ts.map +1 -0
  48. package/dist/HTN.js +115 -0
  49. package/dist/HTN.js.map +1 -0
  50. package/dist/LearningAgentFixtures.d.ts +60 -0
  51. package/dist/LearningAgentFixtures.d.ts.map +1 -0
  52. package/dist/LearningAgentFixtures.js +122 -0
  53. package/dist/LearningAgentFixtures.js.map +1 -0
  54. package/dist/NetworkReplicationFixtures.d.ts +82 -0
  55. package/dist/NetworkReplicationFixtures.d.ts.map +1 -0
  56. package/dist/NetworkReplicationFixtures.js +330 -0
  57. package/dist/NetworkReplicationFixtures.js.map +1 -0
  58. package/dist/Perception.d.ts +58 -0
  59. package/dist/Perception.d.ts.map +1 -0
  60. package/dist/Perception.js +111 -0
  61. package/dist/Perception.js.map +1 -0
  62. package/dist/PlayerBehaviorTelemetryFixtures.d.ts +74 -0
  63. package/dist/PlayerBehaviorTelemetryFixtures.d.ts.map +1 -0
  64. package/dist/PlayerBehaviorTelemetryFixtures.js +189 -0
  65. package/dist/PlayerBehaviorTelemetryFixtures.js.map +1 -0
  66. package/dist/ProceduralContentAdaptationFixtures.d.ts +52 -0
  67. package/dist/ProceduralContentAdaptationFixtures.d.ts.map +1 -0
  68. package/dist/ProceduralContentAdaptationFixtures.js +149 -0
  69. package/dist/ProceduralContentAdaptationFixtures.js.map +1 -0
  70. package/dist/ScriptContext.d.ts +18 -0
  71. package/dist/ScriptContext.d.ts.map +1 -0
  72. package/dist/ScriptContext.js +21 -0
  73. package/dist/ScriptContext.js.map +1 -0
  74. package/dist/StateMachine.d.ts +52 -0
  75. package/dist/StateMachine.d.ts.map +1 -0
  76. package/dist/StateMachine.js +117 -0
  77. package/dist/StateMachine.js.map +1 -0
  78. package/dist/UtilityAI.d.ts +55 -0
  79. package/dist/UtilityAI.d.ts.map +1 -0
  80. package/dist/UtilityAI.js +113 -0
  81. package/dist/UtilityAI.js.map +1 -0
  82. package/dist/VisualGraph.d.ts +20 -0
  83. package/dist/VisualGraph.d.ts.map +1 -0
  84. package/dist/VisualGraph.js +191 -0
  85. package/dist/VisualGraph.js.map +1 -0
  86. package/dist/VisualGraphContext.d.ts +123 -0
  87. package/dist/VisualGraphContext.d.ts.map +1 -0
  88. package/dist/VisualGraphContext.js +2 -0
  89. package/dist/VisualGraphContext.js.map +1 -0
  90. package/dist/VisualGraphExecutor.d.ts +16 -0
  91. package/dist/VisualGraphExecutor.d.ts.map +1 -0
  92. package/dist/VisualGraphExecutor.js +571 -0
  93. package/dist/VisualGraphExecutor.js.map +1 -0
  94. package/dist/VisualNode.d.ts +17 -0
  95. package/dist/VisualNode.d.ts.map +1 -0
  96. package/dist/VisualNode.js +24 -0
  97. package/dist/VisualNode.js.map +1 -0
  98. package/dist/VisualNodeCatalog.d.ts +14 -0
  99. package/dist/VisualNodeCatalog.d.ts.map +1 -0
  100. package/dist/VisualNodeCatalog.js +142 -0
  101. package/dist/VisualNodeCatalog.js.map +1 -0
  102. package/dist/WeaponSystem.d.ts +228 -0
  103. package/dist/WeaponSystem.d.ts.map +1 -0
  104. package/dist/WeaponSystem.js +530 -0
  105. package/dist/WeaponSystem.js.map +1 -0
  106. package/dist/index.d.ts +51 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +25 -0
  109. package/dist/index.js.map +1 -0
  110. package/package.json +13 -0
  111. package/src/AdaptiveDifficultyFixtures.ts +324 -0
  112. package/src/AnalyticsPrivacyFixtures.ts +182 -0
  113. package/src/Behavior.ts +11 -0
  114. package/src/BehaviorHost.ts +51 -0
  115. package/src/BehaviorRegistry.ts +22 -0
  116. package/src/BehaviorSystem.ts +103 -0
  117. package/src/BehaviorTree.ts +234 -0
  118. package/src/CloudServiceFixtures.ts +225 -0
  119. package/src/CulturalBehaviorFixtures.ts +262 -0
  120. package/src/DecisionTree.ts +162 -0
  121. package/src/GOAP.ts +150 -0
  122. package/src/HTN.ts +178 -0
  123. package/src/LearningAgentFixtures.ts +184 -0
  124. package/src/NetworkReplicationFixtures.ts +440 -0
  125. package/src/Perception.ts +163 -0
  126. package/src/PlayerBehaviorTelemetryFixtures.ts +257 -0
  127. package/src/ProceduralContentAdaptationFixtures.ts +205 -0
  128. package/src/ScriptContext.ts +34 -0
  129. package/src/StateMachine.ts +138 -0
  130. package/src/UtilityAI.ts +158 -0
  131. package/src/VisualGraph.ts +236 -0
  132. package/src/VisualGraphContext.ts +138 -0
  133. package/src/VisualGraphExecutor.ts +663 -0
  134. package/src/VisualNode.ts +44 -0
  135. package/src/VisualNodeCatalog.ts +195 -0
  136. package/src/WeaponSystem.ts +793 -0
  137. package/src/index.ts +175 -0
  138. package/tests/scripting.test.ts +229 -0
  139. package/tsconfig.json +7 -0
@@ -0,0 +1,24 @@
1
+ export function validateNode(node) {
2
+ const errors = [];
3
+ const ports = new Set();
4
+ if (node.id.length === 0) {
5
+ errors.push("Node id is required");
6
+ }
7
+ for (const port of node.ports) {
8
+ if (port.id.length === 0) {
9
+ errors.push(`Port id is required on node ${node.id}`);
10
+ }
11
+ if (ports.has(port.id)) {
12
+ errors.push(`Duplicate port id on node ${node.id}: ${port.id}`);
13
+ }
14
+ ports.add(port.id);
15
+ if (port.direction !== "input" && port.direction !== "output") {
16
+ errors.push(`Invalid port direction on node ${node.id}.${port.id}`);
17
+ }
18
+ if (!["flow", "number", "boolean", "string", "object", "any"].includes(port.type)) {
19
+ errors.push(`Invalid port type on node ${node.id}.${port.id}`);
20
+ }
21
+ }
22
+ return errors;
23
+ }
24
+ //# sourceMappingURL=VisualNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualNode.js","sourceRoot":"","sources":["../../../../packages/scripting/src/VisualNode.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type VisualNode, type VisualPort } from "./VisualNode";
2
+ export type VisualNodeCategory = "value" | "math" | "logic" | "flow" | "debug" | "runtime" | "input" | "animation" | "physics" | "combat" | "camera" | "evidence";
3
+ export interface VisualNodeDefinition {
4
+ readonly kind: string;
5
+ readonly category: VisualNodeCategory;
6
+ readonly title: string;
7
+ readonly description: string;
8
+ readonly ports: readonly VisualPort[];
9
+ readonly oldBranchSource: readonly string[];
10
+ }
11
+ export declare function listVisualNodeDefinitions(): readonly VisualNodeDefinition[];
12
+ export declare function getVisualNodeDefinition(kind: string): VisualNodeDefinition | undefined;
13
+ export declare function createVisualNode(kind: string, id: string, data?: Readonly<Record<string, unknown>>): VisualNode;
14
+ //# sourceMappingURL=VisualNodeCatalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualNodeCatalog.d.ts","sourceRoot":"","sources":["../../../../packages/scripting/src/VisualNodeCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,GACP,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAyFD,wBAAgB,yBAAyB,IAAI,SAAS,oBAAoB,EAAE,CAM3E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAGtF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU,CAS/G"}
@@ -0,0 +1,142 @@
1
+ import {} from "./VisualNode.js";
2
+ const definitions = [
3
+ define("const", "value", "Constant", "Constant value node.", [], [{ id: "out", direction: "output", type: "any" }], ["src/scripting/nodes/VariableNodes.ts"]),
4
+ define("log", "debug", "Log", "Pass-through debug log value.", [{ id: "in", direction: "input", type: "any", optional: true }], [{ id: "out", direction: "output", type: "any" }], ["src/scripting/nodes/DebugNodes.ts"]),
5
+ define("add", "math", "Add", "Add all connected numeric inputs.", [{ id: "in", direction: "input", type: "number", defaultValue: 0 }], [{ id: "out", direction: "output", type: "number" }], ["src/scripting/nodes/MathNodes.ts"]),
6
+ define("subtract", "math", "Subtract", "Subtract b from a.", numericBinaryInputs(), numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
7
+ define("multiply", "math", "Multiply", "Multiply a by b.", numericBinaryInputs(1, 1), numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
8
+ define("divide", "math", "Divide", "Divide a by b with zero division rejection.", numericBinaryInputs(1, 1), numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
9
+ define("power", "math", "Power", "Raise base to exponent.", [{ id: "base", direction: "input", type: "number", defaultValue: 2 }, { id: "exponent", direction: "input", type: "number", defaultValue: 2 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
10
+ define("sqrt", "math", "Square Root", "Calculate square root with negative input rejection.", [{ id: "value", direction: "input", type: "number", defaultValue: 4 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
11
+ define("abs", "math", "Absolute", "Absolute numeric value.", numericUnaryInputs(), numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
12
+ define("sin", "math", "Sine", "Sine in radians.", [{ id: "angle", direction: "input", type: "number", defaultValue: 0 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
13
+ define("cos", "math", "Cosine", "Cosine in radians.", [{ id: "angle", direction: "input", type: "number", defaultValue: 0 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
14
+ define("tan", "math", "Tangent", "Tangent in radians.", [{ id: "angle", direction: "input", type: "number", defaultValue: 0 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
15
+ define("min", "math", "Minimum", "Minimum of two numbers.", numericBinaryInputs(), numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
16
+ define("max", "math", "Maximum", "Maximum of two numbers.", numericBinaryInputs(), numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
17
+ define("clamp", "math", "Clamp", "Clamp value between min and max.", [{ id: "value", direction: "input", type: "number", defaultValue: 0 }, { id: "min", direction: "input", type: "number", defaultValue: 0 }, { id: "max", direction: "input", type: "number", defaultValue: 1 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
18
+ define("lerp", "math", "Lerp", "Linear interpolation.", [{ id: "a", direction: "input", type: "number", defaultValue: 0 }, { id: "b", direction: "input", type: "number", defaultValue: 1 }, { id: "t", direction: "input", type: "number", defaultValue: 0.5 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
19
+ define("inverseLerp", "math", "Inverse Lerp", "Calculate interpolation factor for value between a and b.", [{ id: "a", direction: "input", type: "number", defaultValue: 0 }, { id: "b", direction: "input", type: "number", defaultValue: 1 }, { id: "value", direction: "input", type: "number", defaultValue: 0.5 }], numberOutput(), ["src/scripting/nodes/MathNodes.ts"]),
20
+ define("and", "logic", "AND", "Boolean AND.", booleanBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
21
+ define("or", "logic", "OR", "Boolean OR.", booleanBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
22
+ define("not", "logic", "NOT", "Boolean NOT.", [{ id: "value", direction: "input", type: "boolean", defaultValue: false }], booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
23
+ define("xor", "logic", "XOR", "Boolean exclusive OR.", booleanBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
24
+ define("equal", "logic", "Equal", "Strict equality comparison.", anyBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
25
+ define("notEqual", "logic", "Not Equal", "Strict inequality comparison.", anyBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
26
+ define("greater", "logic", "Greater", "Numeric greater-than comparison.", numericBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
27
+ define("less", "logic", "Less", "Numeric less-than comparison.", numericBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
28
+ define("greaterEqual", "logic", "Greater Equal", "Numeric greater-or-equal comparison.", numericBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
29
+ define("lessEqual", "logic", "Less Equal", "Numeric less-or-equal comparison.", numericBinaryInputs(), booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
30
+ define("isNull", "logic", "Is Null", "Null or undefined check.", [{ id: "value", direction: "input", type: "any", optional: true }], booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
31
+ define("isValid", "logic", "Is Valid", "Non-null and non-undefined check.", [{ id: "value", direction: "input", type: "any", optional: true }], booleanOutput(), ["src/scripting/nodes/LogicNodes.ts"]),
32
+ define("select", "logic", "Select", "Ternary select by condition.", [{ id: "condition", direction: "input", type: "boolean", defaultValue: false }, { id: "ifTrue", direction: "input", type: "any", optional: true }, { id: "ifFalse", direction: "input", type: "any", optional: true }], [{ id: "out", direction: "output", type: "any" }], ["src/scripting/nodes/LogicNodes.ts"]),
33
+ define("branch", "flow", "Branch", "Choose true or false flow path from a boolean condition.", [{ id: "in", direction: "input", type: "flow", optional: true }, { id: "condition", direction: "input", type: "boolean", defaultValue: false }], [{ id: "true", direction: "output", type: "flow" }, { id: "false", direction: "output", type: "flow" }, { id: "selected", direction: "output", type: "string" }], ["src/scripting/nodes/FlowNodes.ts"]),
34
+ define("switch", "flow", "Switch", "Choose a numbered case or default path.", [{ id: "in", direction: "input", type: "flow", optional: true }, { id: "value", direction: "input", type: "number", defaultValue: 0 }, { id: "caseCount", direction: "input", type: "number", defaultValue: 3 }], [{ id: "case0", direction: "output", type: "flow" }, { id: "case1", direction: "output", type: "flow" }, { id: "case2", direction: "output", type: "flow" }, { id: "default", direction: "output", type: "flow" }, { id: "selected", direction: "output", type: "string" }], ["src/scripting/nodes/FlowNodes.ts"]),
35
+ define("sequence", "flow", "Sequence", "Publish a deterministic ordered flow-output list.", [{ id: "in", direction: "input", type: "flow", optional: true }, { id: "count", direction: "input", type: "number", defaultValue: 3 }], [{ id: "out0", direction: "output", type: "flow" }, { id: "out1", direction: "output", type: "flow" }, { id: "out2", direction: "output", type: "flow" }, { id: "outputs", direction: "output", type: "object" }], ["src/scripting/nodes/FlowNodes.ts"]),
36
+ define("forRange", "flow", "For Range", "Summarize bounded integer loop iterations.", [{ id: "in", direction: "input", type: "flow", optional: true }, { id: "startIndex", direction: "input", type: "number", defaultValue: 0 }, { id: "endIndex", direction: "input", type: "number", defaultValue: 10 }], [{ id: "body", direction: "output", type: "flow" }, { id: "completed", direction: "output", type: "flow" }, { id: "index", direction: "output", type: "number" }, { id: "indices", direction: "output", type: "object" }], ["src/scripting/nodes/FlowNodes.ts"]),
37
+ define("gate", "flow", "Gate", "Allow or block flow with an initial open/closed state.", [{ id: "in", direction: "input", type: "flow", optional: true }, { id: "startClosed", direction: "input", type: "boolean", defaultValue: false }], [{ id: "out", direction: "output", type: "flow" }, { id: "isOpen", direction: "output", type: "boolean" }], ["src/scripting/nodes/FlowNodes.ts"]),
38
+ define("onStart", "runtime", "On Start", "Emit flow when the deterministic frame context is at start.", [], [{ id: "out", direction: "output", type: "flow" }, { id: "active", direction: "output", type: "boolean" }], ["src/scripting/nodes/RuntimeNodes.ts"]),
39
+ define("onFrame", "runtime", "On Frame", "Emit deterministic frame timing from app.onFrame or app.step context.", [], [{ id: "out", direction: "output", type: "flow" }, { id: "dt", direction: "output", type: "number" }, { id: "time", direction: "output", type: "number" }, { id: "frame", direction: "output", type: "number" }, { id: "context", direction: "output", type: "object" }], ["src/scripting/nodes/RuntimeNodes.ts"]),
40
+ define("getNode", "runtime", "Get Runtime Node", "Read a runtime node snapshot by id.", [stringInput("nodeId")], [{ id: "node", direction: "output", type: "object" }, { id: "nodeId", direction: "output", type: "string" }, { id: "exists", direction: "output", type: "boolean" }, { id: "position", direction: "output", type: "object" }], ["src/scripting/nodes/RuntimeNodes.ts"]),
41
+ define("setPosition", "runtime", "Set Position", "Create a deterministic runtime node position command.", [flowInput(), stringInput("nodeId"), objectInput("position")], commandOutputs(), ["src/scripting/nodes/RuntimeNodes.ts"]),
42
+ define("translate", "runtime", "Translate", "Create a deterministic runtime node translation command.", [flowInput(), stringInput("nodeId"), objectInput("delta")], commandOutputs(), ["src/scripting/nodes/RuntimeNodes.ts"]),
43
+ define("rotate", "runtime", "Rotate", "Create a deterministic runtime node rotation command.", [flowInput(), stringInput("nodeId"), objectInput("rotation")], commandOutputs(), ["src/scripting/nodes/RuntimeNodes.ts"]),
44
+ define("setVisible", "runtime", "Set Visible", "Create a deterministic runtime node visibility command.", [flowInput(), stringInput("nodeId"), booleanInput("visible", true)], commandOutputs(), ["src/scripting/nodes/RuntimeNodes.ts"]),
45
+ define("setMaterial", "runtime", "Set Material", "Create a deterministic runtime node material override command.", [flowInput(), stringInput("nodeId"), objectInput("material")], commandOutputs(), ["src/scripting/nodes/RuntimeNodes.ts"]),
46
+ define("pressed", "input", "Pressed", "Read a deterministic pressed input action snapshot.", [stringInput("action")], booleanOutput(), ["src/scripting/nodes/InputNodes.ts"]),
47
+ define("held", "input", "Held", "Read a deterministic held input action snapshot.", [stringInput("action")], booleanOutput(), ["src/scripting/nodes/InputNodes.ts"]),
48
+ define("released", "input", "Released", "Read a deterministic released input action snapshot.", [stringInput("action")], booleanOutput(), ["src/scripting/nodes/InputNodes.ts"]),
49
+ define("axis", "input", "Axis", "Read a deterministic input axis snapshot.", [stringInput("axis")], numberOutput(), ["src/scripting/nodes/InputNodes.ts"]),
50
+ define("buffered", "input", "Buffered", "Read a deterministic buffered input action snapshot.", [stringInput("action")], booleanOutput(), ["src/scripting/nodes/InputNodes.ts"]),
51
+ define("combo", "input", "Combo", "Read a deterministic combo match snapshot.", [stringInput("combo")], booleanOutput(), ["src/scripting/nodes/InputNodes.ts"]),
52
+ define("playClip", "animation", "Play Clip", "Create an animation play command for a named clip.", [flowInput(), stringInput("controllerId"), stringInput("clip"), booleanInput("loop", true)], commandOutputs(), ["src/scripting/nodes/AnimationNodes.ts"]),
53
+ define("restartClip", "animation", "Restart Clip", "Create an animation restart command for a named clip.", [flowInput(), stringInput("controllerId"), stringInput("clip")], commandOutputs(), ["src/scripting/nodes/AnimationNodes.ts"]),
54
+ define("crossFade", "animation", "Cross Fade", "Create an animation crossfade command for a named clip.", [flowInput(), stringInput("controllerId"), stringInput("clip"), numberInput("duration", 0.12), booleanInput("restart", false), stringInput("layer", true)], commandOutputs(), ["src/scripting/nodes/AnimationNodes.ts"]),
55
+ define("setLayerWeight", "animation", "Set Layer Weight", "Create an animation layer weight command.", [flowInput(), stringInput("controllerId"), stringInput("layer"), numberInput("weight", 1)], commandOutputs(), ["src/scripting/nodes/AnimationNodes.ts"]),
56
+ define("onAnimationEvent", "animation", "On Animation Event", "Read a deterministic animation event emitted from clip-local time.", [stringInput("controllerId"), stringInput("eventType"), stringInput("clip", true)], [{ id: "out", direction: "output", type: "flow" }, { id: "fired", direction: "output", type: "boolean" }, { id: "event", direction: "output", type: "object" }], ["src/scripting/nodes/AnimationNodes.ts"]),
57
+ define("setMorphTarget", "animation", "Set Morph Target", "Create a morph target weight command.", [flowInput(), stringInput("controllerId"), stringInput("morphTarget"), numberInput("weight", 0)], commandOutputs(), ["src/scripting/nodes/AnimationNodes.ts"]),
58
+ define("setMorphTargets", "animation", "Set Morph Targets", "Create a batch morph target weight command.", [flowInput(), stringInput("controllerId"), objectInput("weights")], commandOutputs(), ["src/scripting/nodes/AnimationNodes.ts"]),
59
+ define("getClipTime", "animation", "Get Clip Time", "Read deterministic animation clip time from a controller snapshot.", [stringInput("controllerId")], [{ id: "out", direction: "output", type: "number" }, { id: "clip", direction: "output", type: "string" }], ["src/scripting/nodes/AnimationNodes.ts"]),
60
+ define("setVelocity", "physics", "Set Velocity", "Create a kinematic body velocity command.", [flowInput(), stringInput("bodyId"), objectInput("velocity")], commandOutputs(), ["src/scripting/nodes/PhysicsNodes.ts"]),
61
+ define("jump", "physics", "Jump", "Create a kinematic jump command.", [flowInput(), stringInput("bodyId"), numberInput("impulse", 1)], commandOutputs(), ["src/scripting/nodes/PhysicsNodes.ts"]),
62
+ define("dash", "physics", "Dash", "Create a kinematic dash command.", [flowInput(), stringInput("bodyId"), objectInput("direction"), numberInput("speed", 1)], commandOutputs(), ["src/scripting/nodes/PhysicsNodes.ts"]),
63
+ define("onCollisionEnter", "physics", "On Collision Enter", "Read a deterministic collision-enter event snapshot.", [stringInput("bodyId"), stringInput("otherBodyId", true)], [{ id: "out", direction: "output", type: "flow" }, { id: "collided", direction: "output", type: "boolean" }, { id: "event", direction: "output", type: "object" }], ["src/scripting/nodes/PhysicsNodes.ts"]),
64
+ define("onCollisionExit", "physics", "On Collision Exit", "Read a deterministic collision-exit event snapshot.", [stringInput("bodyId"), stringInput("otherBodyId", true)], [{ id: "out", direction: "output", type: "flow" }, { id: "collided", direction: "output", type: "boolean" }, { id: "event", direction: "output", type: "object" }], ["src/scripting/nodes/PhysicsNodes.ts"]),
65
+ define("raycast", "physics", "Raycast", "Read a deterministic raycast result by query id.", [stringInput("queryId")], [{ id: "hit", direction: "output", type: "boolean" }, { id: "result", direction: "output", type: "object" }], ["src/scripting/nodes/PhysicsNodes.ts"]),
66
+ define("overlap", "physics", "Overlap", "Read a deterministic overlap result by query id.", [stringInput("queryId")], [{ id: "hit", direction: "output", type: "boolean" }, { id: "result", direction: "output", type: "object" }], ["src/scripting/nodes/PhysicsNodes.ts"]),
67
+ define("openHitbox", "combat", "Open Hitbox", "Create a combat hitbox-open command.", [flowInput(), stringInput("hitboxId"), stringInput("ownerId"), numberInput("damage", 0), objectInput("payload", true)], commandOutputs(), ["src/scripting/nodes/CombatNodes.ts"]),
68
+ define("closeHitbox", "combat", "Close Hitbox", "Create a combat hitbox-close command.", [flowInput(), stringInput("hitboxId")], commandOutputs(), ["src/scripting/nodes/CombatNodes.ts"]),
69
+ define("setHurtbox", "combat", "Set Hurtbox", "Create a combat hurtbox command.", [flowInput(), stringInput("hurtboxId"), stringInput("ownerId"), objectInput("payload", true)], commandOutputs(), ["src/scripting/nodes/CombatNodes.ts"]),
70
+ define("onHit", "combat", "On Hit", "Read a deterministic combat hit event snapshot.", [stringInput("actorId", true), stringInput("hitboxId", true)], [{ id: "out", direction: "output", type: "flow" }, { id: "hit", direction: "output", type: "boolean" }, { id: "event", direction: "output", type: "object" }], ["src/scripting/nodes/CombatNodes.ts"]),
71
+ define("applyDamage", "combat", "Apply Damage", "Create a deterministic damage command.", [flowInput(), stringInput("targetId"), numberInput("amount", 0), stringInput("sourceId", true)], commandOutputs(), ["src/scripting/nodes/CombatNodes.ts"]),
72
+ define("applyKnockback", "combat", "Apply Knockback", "Create a deterministic knockback command.", [flowInput(), stringInput("targetId"), objectInput("velocity"), stringInput("sourceId", true)], commandOutputs(), ["src/scripting/nodes/CombatNodes.ts"]),
73
+ define("follow", "camera", "Follow", "Create a camera follow command.", [flowInput(), stringInput("targetId"), numberInput("stiffness", 1)], commandOutputs(), ["src/scripting/nodes/CameraNodes.ts"]),
74
+ define("frameTargets", "camera", "Frame Targets", "Create a camera framing command for a deterministic target list.", [flowInput(), objectInput("targetIds"), numberInput("padding", 0)], commandOutputs(), ["src/scripting/nodes/CameraNodes.ts"]),
75
+ define("shake", "camera", "Shake", "Create a deterministic camera shake command.", [flowInput(), numberInput("intensity", 0.2), numberInput("duration", 0.12)], commandOutputs(), ["src/scripting/nodes/CameraNodes.ts"]),
76
+ define("cutTo", "camera", "Cut To", "Create a camera cut command.", [flowInput(), objectInput("position"), objectInput("target", true)], commandOutputs(), ["src/scripting/nodes/CameraNodes.ts"]),
77
+ define("captureSnapshot", "evidence", "Capture Snapshot", "Create an evidence snapshot command from deterministic graph context.", [flowInput(), stringInput("label", true)], [{ id: "out", direction: "output", type: "flow" }, { id: "snapshot", direction: "output", type: "object" }], ["src/scripting/nodes/EvidenceNodes.ts"]),
78
+ define("markProof", "evidence", "Mark Proof", "Create a deterministic proof marker command.", [flowInput(), stringInput("proofId"), objectInput("details", true)], commandOutputs(), ["src/scripting/nodes/EvidenceNodes.ts"]),
79
+ define("assertState", "evidence", "Assert State", "Compare actual and expected values for deterministic evidence.", [{ id: "actual", direction: "input", type: "any", optional: true }, { id: "expected", direction: "input", type: "any", optional: true }, stringInput("operator", true)], [{ id: "out", direction: "output", type: "flow" }, { id: "passed", direction: "output", type: "boolean" }, { id: "assertion", direction: "output", type: "object" }], ["src/scripting/nodes/EvidenceNodes.ts"])
80
+ ];
81
+ export function listVisualNodeDefinitions() {
82
+ return definitions.map((definition) => ({
83
+ ...definition,
84
+ ports: definition.ports.map((port) => ({ ...port })),
85
+ oldBranchSource: [...definition.oldBranchSource]
86
+ }));
87
+ }
88
+ export function getVisualNodeDefinition(kind) {
89
+ const definition = definitions.find((entry) => entry.kind === kind);
90
+ return definition ? { ...definition, ports: definition.ports.map((port) => ({ ...port })), oldBranchSource: [...definition.oldBranchSource] } : undefined;
91
+ }
92
+ export function createVisualNode(kind, id, data) {
93
+ const definition = getVisualNodeDefinition(kind);
94
+ if (!definition)
95
+ throw new Error(`Unknown visual node kind: ${kind}`);
96
+ return {
97
+ id,
98
+ kind,
99
+ ports: definition.ports.map((port) => ({ ...port })),
100
+ ...(data ? { data: { ...data } } : {})
101
+ };
102
+ }
103
+ function define(kind, category, title, description, inputs, outputs, oldBranchSource) {
104
+ return { kind, category, title, description, ports: [...inputs, ...outputs], oldBranchSource };
105
+ }
106
+ function numericUnaryInputs(defaultValue = 0) {
107
+ return [{ id: "value", direction: "input", type: "number", defaultValue }];
108
+ }
109
+ function numericBinaryInputs(a = 0, b = 0) {
110
+ return [{ id: "a", direction: "input", type: "number", defaultValue: a }, { id: "b", direction: "input", type: "number", defaultValue: b }];
111
+ }
112
+ function booleanBinaryInputs() {
113
+ return [{ id: "a", direction: "input", type: "boolean", defaultValue: false }, { id: "b", direction: "input", type: "boolean", defaultValue: false }];
114
+ }
115
+ function anyBinaryInputs() {
116
+ return [{ id: "a", direction: "input", type: "any", optional: true }, { id: "b", direction: "input", type: "any", optional: true }];
117
+ }
118
+ function numberOutput() {
119
+ return [{ id: "out", direction: "output", type: "number" }];
120
+ }
121
+ function booleanOutput() {
122
+ return [{ id: "out", direction: "output", type: "boolean" }];
123
+ }
124
+ function flowInput() {
125
+ return { id: "in", direction: "input", type: "flow", optional: true };
126
+ }
127
+ function stringInput(id, optional = false) {
128
+ return { id, direction: "input", type: "string", ...(optional ? { optional: true } : {}) };
129
+ }
130
+ function numberInput(id, defaultValue) {
131
+ return { id, direction: "input", type: "number", defaultValue };
132
+ }
133
+ function booleanInput(id, defaultValue) {
134
+ return { id, direction: "input", type: "boolean", defaultValue };
135
+ }
136
+ function objectInput(id, optional = false) {
137
+ return { id, direction: "input", type: "object", ...(optional ? { optional: true } : {}) };
138
+ }
139
+ function commandOutputs() {
140
+ return [{ id: "out", direction: "output", type: "flow" }, { id: "command", direction: "output", type: "object" }];
141
+ }
142
+ //# sourceMappingURL=VisualNodeCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualNodeCatalog.js","sourceRoot":"","sources":["../../../../packages/scripting/src/VisualNodeCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ export type WeaponKind = "laser" | "missile" | "plasma";
2
+ export type FpsWeaponType = "pistol" | "rifle" | "shotgun";
3
+ export type FpsFiringMode = "single" | "auto" | "burst";
4
+ export type FpsEnemyTacticalState = "idle" | "patrol" | "chase" | "attack" | "flee" | "take_cover" | "investigate" | "dead";
5
+ export type FpsPickupType = "health" | "ammo";
6
+ export type SpaceShooterEnemyType = "fighter" | "bomber" | "turret" | "carrier" | "boss";
7
+ export type SpaceShooterFormation = "line" | "v-formation" | "surround" | "random" | "sides";
8
+ export type SpaceShooterPowerUpType = "health" | "shield" | "weapon" | "speed" | "life" | "multiplier";
9
+ export interface WeaponBurstInput {
10
+ readonly kind: WeaponKind;
11
+ readonly level?: number;
12
+ readonly x?: number;
13
+ readonly y?: number;
14
+ readonly angle?: number;
15
+ readonly secondary?: boolean;
16
+ readonly ammo?: number;
17
+ }
18
+ export interface WeaponProjectile {
19
+ readonly x: number;
20
+ readonly y: number;
21
+ readonly vx: number;
22
+ readonly vy: number;
23
+ readonly damage: number;
24
+ readonly lifetime: number;
25
+ }
26
+ export interface WeaponBurst {
27
+ readonly kind: WeaponKind;
28
+ readonly level: number;
29
+ readonly secondary: boolean;
30
+ readonly projectileCount: number;
31
+ readonly ammoSpent: number;
32
+ readonly totalDamage: number;
33
+ readonly spreadRadians: number;
34
+ readonly projectiles: readonly WeaponProjectile[];
35
+ readonly source: "origin-master-space-shooter-weapons-adapted";
36
+ readonly claimBoundary: string;
37
+ }
38
+ export interface FpsWeaponCycleInput {
39
+ readonly weapon: FpsWeaponType;
40
+ readonly elapsedSeconds?: number;
41
+ readonly triggerHeld?: boolean;
42
+ readonly reloadRequested?: boolean;
43
+ readonly currentAmmo?: number;
44
+ readonly reserveAmmo?: number;
45
+ readonly fireTimer?: number;
46
+ readonly seed?: number;
47
+ }
48
+ export interface FpsWeaponCycleSample {
49
+ readonly weapon: FpsWeaponType;
50
+ readonly name: string;
51
+ readonly firingMode: FpsFiringMode;
52
+ readonly fired: boolean;
53
+ readonly emptyClick: boolean;
54
+ readonly reloading: boolean;
55
+ readonly reloadComplete: boolean;
56
+ readonly currentAmmo: number;
57
+ readonly reserveAmmo: number;
58
+ readonly ammoSpent: number;
59
+ readonly bulletsPerShot: number;
60
+ readonly totalDamage: number;
61
+ readonly range: number;
62
+ readonly spreadDegrees: number;
63
+ readonly recoilX: number;
64
+ readonly recoilY: number;
65
+ readonly fireCooldown: number;
66
+ readonly muzzleFlashSeconds: number;
67
+ readonly shellEjectionSeconds: number;
68
+ readonly source: "origin-master-fps-weapon-adapted";
69
+ readonly claimBoundary: string;
70
+ }
71
+ export interface FpsEnemyTacticsInput {
72
+ readonly currentState?: FpsEnemyTacticalState;
73
+ readonly playerAlive?: boolean;
74
+ readonly distanceToPlayer: number;
75
+ readonly angleToPlayerDegrees?: number;
76
+ readonly health?: number;
77
+ readonly maxHealth?: number;
78
+ readonly attackTimer?: number;
79
+ readonly stateTimer?: number;
80
+ readonly hasCover?: boolean;
81
+ readonly distanceToCover?: number;
82
+ readonly hasLastKnownPlayerPosition?: boolean;
83
+ readonly distanceToLastKnownPlayerPosition?: number;
84
+ }
85
+ export interface FpsEnemyTacticsSample {
86
+ readonly state: FpsEnemyTacticalState;
87
+ readonly canSeePlayer: boolean;
88
+ readonly canHearPlayer: boolean;
89
+ readonly targetAcquired: boolean;
90
+ readonly movementSpeed: number;
91
+ readonly attackReady: boolean;
92
+ readonly pathRefreshRequested: boolean;
93
+ readonly coverRequested: boolean;
94
+ readonly inCover: boolean;
95
+ readonly nextAction: "wait" | "patrol" | "chase" | "attack" | "flee" | "move_to_cover" | "investigate" | "die";
96
+ readonly source: "origin-master-fps-enemy-ai-adapted";
97
+ readonly claimBoundary: string;
98
+ }
99
+ export interface FpsLevelLayoutInput {
100
+ readonly seed?: number;
101
+ readonly roomCount?: number;
102
+ readonly gridSize?: number;
103
+ }
104
+ export interface FpsLevelRoom {
105
+ readonly id: string;
106
+ readonly x: number;
107
+ readonly z: number;
108
+ readonly width: number;
109
+ readonly depth: number;
110
+ }
111
+ export interface FpsLevelCorridor {
112
+ readonly from: string;
113
+ readonly to: string;
114
+ readonly length: number;
115
+ readonly width: number;
116
+ }
117
+ export interface FpsLevelPoint {
118
+ readonly id: string;
119
+ readonly x: number;
120
+ readonly z: number;
121
+ }
122
+ export interface FpsLevelPickup extends FpsLevelPoint {
123
+ readonly type: FpsPickupType;
124
+ }
125
+ export interface FpsLevelLayoutSample {
126
+ readonly rooms: readonly FpsLevelRoom[];
127
+ readonly corridors: readonly FpsLevelCorridor[];
128
+ readonly coverPoints: readonly FpsLevelPoint[];
129
+ readonly patrolPoints: readonly FpsLevelPoint[];
130
+ readonly enemySpawnPoints: readonly FpsLevelPoint[];
131
+ readonly pickupSpawnPoints: readonly FpsLevelPickup[];
132
+ readonly playerSpawnPoint: FpsLevelPoint;
133
+ readonly navMeshPointCount: number;
134
+ readonly averageRoomArea: number;
135
+ readonly totalCorridorLength: number;
136
+ readonly source: "origin-master-fps-level-adapted";
137
+ readonly claimBoundary: string;
138
+ }
139
+ export interface FpsHudOverlayInput {
140
+ readonly health: number;
141
+ readonly maxHealth?: number;
142
+ readonly ammo: number;
143
+ readonly reserveAmmo: number;
144
+ readonly score?: number;
145
+ readonly wave?: number;
146
+ readonly enemiesRemaining?: number;
147
+ readonly recentDamage?: number;
148
+ readonly hitMarker?: boolean;
149
+ readonly damageAngleDegrees?: number;
150
+ readonly minimapFriendlyCount?: number;
151
+ readonly minimapEnemyCount?: number;
152
+ readonly killFeedCount?: number;
153
+ }
154
+ export interface FpsHudOverlaySample {
155
+ readonly healthPercent: number;
156
+ readonly healthBarPixels: number;
157
+ readonly lowHealth: boolean;
158
+ readonly damageFlashAlpha: number;
159
+ readonly ammoText: string;
160
+ readonly ammoWarning: boolean;
161
+ readonly crosshairSpreadPixels: number;
162
+ readonly hitMarkerVisible: boolean;
163
+ readonly damageIndicatorAngleDegrees: number;
164
+ readonly minimapBlips: number;
165
+ readonly killFeedVisible: boolean;
166
+ readonly waveText: string;
167
+ readonly source: "origin-master-fps-hud-adapted";
168
+ readonly claimBoundary: string;
169
+ }
170
+ export interface SpaceShooterWaveInput {
171
+ readonly wave: number;
172
+ readonly width?: number;
173
+ readonly height?: number;
174
+ readonly seed?: number;
175
+ }
176
+ export interface SpaceShooterSpawn {
177
+ readonly enemyType: SpaceShooterEnemyType;
178
+ readonly x: number;
179
+ readonly y: number;
180
+ readonly health: number;
181
+ readonly radius: number;
182
+ readonly scoreValue: number;
183
+ }
184
+ export interface SpaceShooterWaveSample {
185
+ readonly wave: number;
186
+ readonly enemyType: SpaceShooterEnemyType;
187
+ readonly formation: SpaceShooterFormation;
188
+ readonly count: number;
189
+ readonly delay: number;
190
+ readonly bossWave: boolean;
191
+ readonly difficultyScale: number;
192
+ readonly totalScoreValue: number;
193
+ readonly spawns: readonly SpaceShooterSpawn[];
194
+ readonly powerUpType: SpaceShooterPowerUpType;
195
+ readonly powerUpWeight: number;
196
+ readonly source: "origin-master-space-shooter-wave-powerup-adapted";
197
+ readonly claimBoundary: string;
198
+ }
199
+ export interface PowerUpEffectInput {
200
+ readonly type: SpaceShooterPowerUpType;
201
+ readonly health?: number;
202
+ readonly maxHealth?: number;
203
+ readonly shield?: number;
204
+ readonly maxShield?: number;
205
+ readonly weaponLevel?: number;
206
+ readonly speed?: number;
207
+ readonly lives?: number;
208
+ readonly multiplier?: number;
209
+ }
210
+ export interface PowerUpEffectSample {
211
+ readonly type: SpaceShooterPowerUpType;
212
+ readonly health: number;
213
+ readonly shield: number;
214
+ readonly weaponLevel: number;
215
+ readonly speed: number;
216
+ readonly lives: number;
217
+ readonly multiplier: number;
218
+ readonly changedFields: readonly string[];
219
+ readonly source: "origin-master-space-shooter-powerup-effects-adapted";
220
+ }
221
+ export declare function sampleWeaponBurst(input: WeaponBurstInput): WeaponBurst;
222
+ export declare function sampleFpsWeaponCycle(input: FpsWeaponCycleInput): FpsWeaponCycleSample;
223
+ export declare function sampleFpsEnemyTactics(input: FpsEnemyTacticsInput): FpsEnemyTacticsSample;
224
+ export declare function sampleFpsLevelLayout(input?: FpsLevelLayoutInput): FpsLevelLayoutSample;
225
+ export declare function sampleFpsHudOverlay(input: FpsHudOverlayInput): FpsHudOverlaySample;
226
+ export declare function sampleSpaceShooterWave(input: SpaceShooterWaveInput): SpaceShooterWaveSample;
227
+ export declare function samplePowerUpEffect(input: PowerUpEffectInput): PowerUpEffectSample;
228
+ //# sourceMappingURL=WeaponSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WeaponSystem.d.ts","sourceRoot":"","sources":["../../../../packages/scripting/src/WeaponSystem.ts"],"names":[],"mappings":"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"}