@zylem/behaviors 0.8.9 → 0.8.11

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 (168) hide show
  1. package/dist/acrobatics-2d.d.ts +25 -0
  2. package/dist/acrobatics-2d.js +37 -0
  3. package/dist/action-rpg.d.ts +21 -0
  4. package/dist/action-rpg.js +39 -0
  5. package/dist/adventure-tools.d.ts +22 -0
  6. package/dist/adventure-tools.js +39 -0
  7. package/dist/behavior-descriptor-NS_qnzzp.d.ts +4527 -0
  8. package/dist/behavior-metadata-Drm1zxI2.d.ts +13 -0
  9. package/dist/catalog.d.ts +2143 -0
  10. package/dist/catalog.js +9 -0
  11. package/dist/chunk-2BE5BW7D.js +130 -0
  12. package/dist/{chunk-CTSYM56P.js → chunk-2QCCLHJC.js} +10 -6
  13. package/dist/chunk-2UGT4MIF.js +94 -0
  14. package/dist/chunk-3J3ISPFQ.js +99 -0
  15. package/dist/chunk-3LBGEWT6.js +124 -0
  16. package/dist/{chunk-UUMH3DC3.js → chunk-3QBNWT7B.js} +5 -1
  17. package/dist/chunk-3T44EDXU.js +114 -0
  18. package/dist/chunk-5AJJ44QK.js +129 -0
  19. package/dist/{chunk-YDLO5M7S.js → chunk-5SMXQ6AU.js} +1 -0
  20. package/dist/chunk-5VJIP535.js +71 -0
  21. package/dist/chunk-6DTIJB7B.js +166 -0
  22. package/dist/chunk-73MHJY6R.js +78 -0
  23. package/dist/chunk-73YASAYS.js +137 -0
  24. package/dist/{chunk-LLDLVVG4.js → chunk-7HGDADLB.js} +25 -9
  25. package/dist/chunk-7IOQEXYR.js +92 -0
  26. package/dist/{chunk-OU2SW4U5.js → chunk-APAM55J3.js} +10 -6
  27. package/dist/chunk-BLTBZJPG.js +126 -0
  28. package/dist/chunk-BN6QZDR5.js +90 -0
  29. package/dist/chunk-BR33KT4Z.js +3186 -0
  30. package/dist/chunk-C5AYL42A.js +138 -0
  31. package/dist/{chunk-OBF6BIA2.js → chunk-CBQSC6W3.js} +2 -2
  32. package/dist/chunk-DDLZLJ7W.js +8 -0
  33. package/dist/chunk-DRIXFB4C.js +132 -0
  34. package/dist/{chunk-7CE6OHLW.js → chunk-DTLUKSX2.js} +6 -2
  35. package/dist/{chunk-TK3AXXXI.js → chunk-EMEA45JQ.js} +10 -6
  36. package/dist/chunk-EQFLPRF7.js +130 -0
  37. package/dist/{chunk-M25QJBDN.js → chunk-GNRMH7D3.js} +18 -6
  38. package/dist/chunk-GYEKT5AY.js +102 -0
  39. package/dist/{chunk-SHZZ2QRV.js → chunk-HCWLIPXP.js} +5 -1
  40. package/dist/{chunk-WHKPWIQO.js → chunk-HMVEQB2T.js} +1 -0
  41. package/dist/chunk-HQ2UFI3S.js +116 -0
  42. package/dist/chunk-I52PC5IU.js +128 -0
  43. package/dist/{chunk-CB3C7CRD.js → chunk-IAIJG2PB.js} +10 -6
  44. package/dist/{chunk-NDJO56BB.js → chunk-IJILTFEL.js} +5 -1
  45. package/dist/{chunk-7GGR26YA.js → chunk-IRNU4JGV.js} +10 -6
  46. package/dist/chunk-IRPBFVAK.js +141 -0
  47. package/dist/chunk-JFBR4FNX.js +140 -0
  48. package/dist/{chunk-ERS6SNA5.js → chunk-K34N2CBL.js} +5 -1
  49. package/dist/chunk-LMMF7KXF.js +178 -0
  50. package/dist/chunk-LWGJ3QQZ.js +107 -0
  51. package/dist/chunk-MPNGQLHZ.js +132 -0
  52. package/dist/chunk-OH5LJAEJ.js +135 -0
  53. package/dist/{chunk-57GLKGEX.js → chunk-P6TMZSWF.js} +32 -7
  54. package/dist/chunk-PDHHOVVQ.js +126 -0
  55. package/dist/{chunk-7TIIRJKF.js → chunk-RUBKGAPS.js} +5 -1
  56. package/dist/chunk-S44ZHYE6.js +1912 -0
  57. package/dist/chunk-SFMJNAW3.js +128 -0
  58. package/dist/{chunk-E2MOFIDH.js → chunk-SKKVOH6D.js} +13 -7
  59. package/dist/{chunk-RR3XNDKG.js → chunk-T2LAQQDS.js} +1 -1
  60. package/dist/chunk-TSYXRRS4.js +125 -0
  61. package/dist/chunk-TZHO6P22.js +150 -0
  62. package/dist/chunk-V26L6MY6.js +127 -0
  63. package/dist/chunk-V4M46BF6.js +105 -0
  64. package/dist/chunk-VSFWETXS.js +127 -0
  65. package/dist/chunk-VU4LTE2X.js +147 -0
  66. package/dist/chunk-WF6HC5U3.js +8 -0
  67. package/dist/chunk-WG5NCDS4.js +99 -0
  68. package/dist/{chunk-7LHXAEOZ.js → chunk-WUYHS6JZ.js} +6 -2
  69. package/dist/chunk-XNRY6NOC.js +120 -0
  70. package/dist/{chunk-55CFXXZH.js → chunk-XT47QZQ6.js} +32 -7
  71. package/dist/chunk-Y5CCNMJI.js +58 -0
  72. package/dist/chunk-YVVB6YMG.js +133 -0
  73. package/dist/chunk-ZZXTGVGN.js +131 -0
  74. package/dist/combat-ai.d.ts +21 -0
  75. package/dist/combat-ai.js +41 -0
  76. package/dist/{components--RTwuT4S.d.ts → components-ClmBORMP.d.ts} +1 -1
  77. package/dist/cooldown.d.ts +2 -8
  78. package/dist/cooldown.js +3 -2
  79. package/dist/coordinators/boundary-ricochet-3d.d.ts +3 -2
  80. package/dist/coordinators/boundary-ricochet-3d.js +2 -2
  81. package/dist/coordinators/boundary-ricochet.d.ts +3 -2
  82. package/dist/coordinators/boundary-ricochet.js +2 -2
  83. package/dist/coordinators/multidirectional-space-shooter.d.ts +3 -2
  84. package/dist/coordinators/multidirectional-space-shooter.js +2 -2
  85. package/dist/coordinators/top-down-shooter.d.ts +3 -2
  86. package/dist/coordinators/top-down-shooter.js +2 -2
  87. package/dist/core.d.ts +387 -26
  88. package/dist/core.js +1583 -6
  89. package/dist/destructible-3d.d.ts +3 -2
  90. package/dist/destructible-3d.js +3 -2
  91. package/dist/destructible-prebake.d.ts +1 -1
  92. package/dist/environmental-locomotion.d.ts +23 -0
  93. package/dist/environmental-locomotion.js +35 -0
  94. package/dist/first-person.d.ts +3 -2
  95. package/dist/first-person.js +25 -4
  96. package/dist/golf-racket.d.ts +21 -0
  97. package/dist/golf-racket.js +37 -0
  98. package/dist/index.d.ts +28 -6
  99. package/dist/index.js +766 -82
  100. package/dist/jumper-2d.d.ts +2 -1
  101. package/dist/jumper-2d.js +25 -4
  102. package/dist/jumper-3d.d.ts +2 -1
  103. package/dist/jumper-3d.js +25 -4
  104. package/dist/lane-defense.d.ts +21 -0
  105. package/dist/lane-defense.js +39 -0
  106. package/dist/life-simulation.d.ts +21 -0
  107. package/dist/life-simulation.js +39 -0
  108. package/dist/matching-pinball.d.ts +21 -0
  109. package/dist/matching-pinball.js +39 -0
  110. package/dist/melee-combat.d.ts +22 -0
  111. package/dist/melee-combat.js +45 -0
  112. package/dist/{moveable-CFOHmblC.d.ts → moveable-CXK2wEZL.d.ts} +2 -2
  113. package/dist/particle-emitter/presets.d.ts +1 -1
  114. package/dist/particle-emitter.d.ts +5 -4
  115. package/dist/particle-emitter.js +3 -2
  116. package/dist/{payload-BQzu-oY_.d.ts → payload-WEzfgjSL.d.ts} +1 -1
  117. package/dist/platformer-2d.d.ts +2 -1
  118. package/dist/platformer-2d.js +25 -4
  119. package/dist/platformer-3d.d.ts +2 -1
  120. package/dist/platformer-3d.js +25 -4
  121. package/dist/racing-vehicles.d.ts +21 -0
  122. package/dist/racing-vehicles.js +37 -0
  123. package/dist/rhythm-performance.d.ts +21 -0
  124. package/dist/rhythm-performance.js +39 -0
  125. package/dist/ricochet-2d.d.ts +2 -1
  126. package/dist/ricochet-2d.js +25 -4
  127. package/dist/ricochet-3d.d.ts +2 -1
  128. package/dist/ricochet-3d.js +25 -4
  129. package/dist/runtime-2d.d.ts +2 -1
  130. package/dist/runtime-2d.js +10 -1
  131. package/dist/screen-visibility.d.ts +2 -1
  132. package/dist/screen-visibility.js +3 -2
  133. package/dist/screen-wrap.d.ts +2 -7
  134. package/dist/screen-wrap.js +4 -3
  135. package/dist/shooter-2d.d.ts +3 -2
  136. package/dist/shooter-2d.js +3 -2
  137. package/dist/skate-snowboard.d.ts +21 -0
  138. package/dist/skate-snowboard.js +37 -0
  139. package/dist/{spark-C4Tp-52_.d.ts → spark-VoQoemz_.d.ts} +1 -1
  140. package/dist/spatial-puzzles.d.ts +21 -0
  141. package/dist/spatial-puzzles.js +35 -0
  142. package/dist/squad-rts.d.ts +21 -0
  143. package/dist/squad-rts.js +39 -0
  144. package/dist/stealth-city.d.ts +21 -0
  145. package/dist/stealth-city.js +41 -0
  146. package/dist/survival-resources.d.ts +21 -0
  147. package/dist/survival-resources.js +37 -0
  148. package/dist/tactical-grid.d.ts +21 -0
  149. package/dist/tactical-grid.js +39 -0
  150. package/dist/thruster.d.ts +2 -1
  151. package/dist/thruster.js +4 -3
  152. package/dist/top-down-movement.d.ts +2 -1
  153. package/dist/top-down-movement.js +24 -3
  154. package/dist/turn-based-rpg.d.ts +21 -0
  155. package/dist/turn-based-rpg.js +39 -0
  156. package/dist/{vector-DjhLUrak.d.ts → vector-s7GbCrVn.d.ts} +1 -1
  157. package/dist/weapon-systems.d.ts +22 -0
  158. package/dist/weapon-systems.js +45 -0
  159. package/dist/world-boundary-2d.d.ts +2 -1
  160. package/dist/world-boundary-2d.js +25 -4
  161. package/dist/world-boundary-3d.d.ts +2 -1
  162. package/dist/world-boundary-3d.js +26 -5
  163. package/package.json +90 -5
  164. package/dist/behavior-system-DkFAwLb_.d.ts +0 -914
  165. package/dist/chunk-GZ3DQIIZ.js +0 -888
  166. package/dist/{chunk-OSPQFWQF.js → chunk-4K37UL53.js} +3 -3
  167. package/dist/{chunk-DD4U42FG.js → chunk-AQB246W5.js} +3 -3
  168. package/dist/{chunk-UKGBQTHL.js → chunk-CXDNR4R4.js} +3 -3
@@ -0,0 +1,133 @@
1
+ import {
2
+ CITY_ABILITIES
3
+ } from "./chunk-5VJIP535.js";
4
+ import {
5
+ defineBehavior
6
+ } from "./chunk-5SMXQ6AU.js";
7
+ import {
8
+ BUILTIN_BEHAVIORS
9
+ } from "./chunk-S44ZHYE6.js";
10
+
11
+ // src/lib/behaviors/stealth-city/index.ts
12
+ var CitySystem = class {
13
+ constructor(key, abilities, runtime, links) {
14
+ this.key = key;
15
+ this.abilities = abilities;
16
+ this.runtime = runtime;
17
+ this.links = links;
18
+ }
19
+ key;
20
+ abilities;
21
+ runtime;
22
+ links;
23
+ attached = /* @__PURE__ */ new Map();
24
+ update() {
25
+ if (!this.runtime) return;
26
+ const links = [...this.links?.(this.key) ?? []];
27
+ for (const [entity, { slot, ref }] of this.attached) {
28
+ if (!links.some(
29
+ (link) => link.entity === entity && link.ref === ref
30
+ ) || entity.runtimeHandle !== slot)
31
+ this.detach({ entity, ref });
32
+ }
33
+ for (const link of links) {
34
+ const entity = link.entity;
35
+ entity.cityState ??= null;
36
+ const slot = entity.runtimeHandle;
37
+ if (!Number.isInteger(slot) || slot < 0) continue;
38
+ if (!this.attached.has(entity)) {
39
+ if (!this.runtime.attachCity(
40
+ slot,
41
+ this.abilities,
42
+ link.ref.options
43
+ )) {
44
+ throw new Error(
45
+ "City attachment requires valid options and an available AI component slot."
46
+ );
47
+ }
48
+ this.attached.set(entity, { slot, ref: link.ref });
49
+ }
50
+ }
51
+ }
52
+ postUpdate() {
53
+ for (const [entity, { slot }] of this.attached)
54
+ entity.cityState = this.runtime?.queryCity(slot) ?? null;
55
+ }
56
+ detach(link) {
57
+ const slot = this.attached.get(link.entity)?.slot;
58
+ if (slot !== void 0 && this.runtime && !this.runtime.detachCity(slot) && this.runtime.queryCity(slot))
59
+ throw new Error("Failed to detach city policy.");
60
+ this.attached.delete(link.entity);
61
+ link.entity.cityState = null;
62
+ }
63
+ destroy() {
64
+ for (const [entity, { ref }] of this.attached)
65
+ this.detach({ entity, ref });
66
+ }
67
+ };
68
+ function descriptor(name, abilities) {
69
+ return defineBehavior({
70
+ name,
71
+ metadata: BUILTIN_BEHAVIORS[name],
72
+ defaultOptions: {
73
+ visionRange: 20,
74
+ reportDelay: 0.5
75
+ },
76
+ systemFactory: (ctx) => new CitySystem(
77
+ /* @__PURE__ */ Symbol.for(`zylem:behavior:${name}`),
78
+ abilities,
79
+ ctx.wasmStage ?? null,
80
+ ctx.getBehaviorLinks
81
+ )
82
+ });
83
+ }
84
+ var StealthCityBehavior = descriptor("stealth-city", CITY_ABILITIES);
85
+ var VisionConeAwarenessBehavior = descriptor("vision-cone-awareness", [
86
+ "vision-cone-awareness"
87
+ ]);
88
+ var LastSeenSearchBehavior = descriptor("last-seen-search", [
89
+ "last-seen-search"
90
+ ]);
91
+ var NoiseInvestigationBehavior = descriptor("noise-investigation", [
92
+ "noise-investigation"
93
+ ]);
94
+ var FootprintTrailFollowingBehavior = descriptor(
95
+ "footprint-trail-following",
96
+ ["footprint-trail-following"]
97
+ );
98
+ var ContextualDisguiseBehavior = descriptor("contextual-disguise", [
99
+ "contextual-disguise"
100
+ ]);
101
+ var AlarmCommunicationNetworkBehavior = descriptor(
102
+ "alarm-communication-network",
103
+ ["alarm-communication-network"]
104
+ );
105
+ var WantedLevelEscalationBehavior = descriptor(
106
+ "wanted-level-escalation",
107
+ ["wanted-level-escalation"]
108
+ );
109
+ var PursuitEvasionDecayBehavior = descriptor("pursuit-evasion-decay", [
110
+ "pursuit-evasion-decay"
111
+ ]);
112
+ var PedestrianPanicPropagationBehavior = descriptor(
113
+ "pedestrian-panic-propagation",
114
+ ["pedestrian-panic-propagation"]
115
+ );
116
+ var TrafficJunctionYieldBehavior = descriptor(
117
+ "traffic-junction-yield",
118
+ ["traffic-junction-yield"]
119
+ );
120
+
121
+ export {
122
+ StealthCityBehavior,
123
+ VisionConeAwarenessBehavior,
124
+ LastSeenSearchBehavior,
125
+ NoiseInvestigationBehavior,
126
+ FootprintTrailFollowingBehavior,
127
+ ContextualDisguiseBehavior,
128
+ AlarmCommunicationNetworkBehavior,
129
+ WantedLevelEscalationBehavior,
130
+ PursuitEvasionDecayBehavior,
131
+ PedestrianPanicPropagationBehavior,
132
+ TrafficJunctionYieldBehavior
133
+ };
@@ -0,0 +1,131 @@
1
+ import {
2
+ TACTICS_ABILITIES
3
+ } from "./chunk-6DTIJB7B.js";
4
+ import {
5
+ defineBehavior
6
+ } from "./chunk-5SMXQ6AU.js";
7
+ import {
8
+ BUILTIN_BEHAVIORS
9
+ } from "./chunk-S44ZHYE6.js";
10
+
11
+ // src/lib/behaviors/tactical-grid/index.ts
12
+ var TacticsSystem = class {
13
+ constructor(key, abilities, runtime, links) {
14
+ this.key = key;
15
+ this.abilities = abilities;
16
+ this.runtime = runtime;
17
+ this.links = links;
18
+ }
19
+ key;
20
+ abilities;
21
+ runtime;
22
+ links;
23
+ attached = /* @__PURE__ */ new Map();
24
+ update() {
25
+ if (!this.runtime) return;
26
+ const links = [...this.links?.(this.key) ?? []];
27
+ for (const [entity, { slot, ref }] of this.attached) {
28
+ if (!links.some((link) => link.entity === entity && link.ref === ref) || entity.runtimeHandle !== slot)
29
+ this.detach({ entity, ref });
30
+ }
31
+ for (const link of links) {
32
+ const entity = link.entity;
33
+ entity.tacticsState ??= null;
34
+ const slot = entity.runtimeHandle;
35
+ if (!Number.isInteger(slot) || slot < 0) continue;
36
+ if (!this.attached.has(entity)) {
37
+ if (!this.runtime.attachTactics(slot, this.abilities, link.ref.options)) {
38
+ throw new Error(
39
+ "Tactics attachment requires valid options and an available tactics component slot."
40
+ );
41
+ }
42
+ this.attached.set(entity, { slot, ref: link.ref });
43
+ }
44
+ }
45
+ }
46
+ postUpdate() {
47
+ for (const [entity, { slot }] of this.attached)
48
+ entity.tacticsState = this.runtime?.queryTactics(slot) ?? null;
49
+ }
50
+ detach(link) {
51
+ const slot = this.attached.get(link.entity)?.slot;
52
+ if (slot !== void 0 && this.runtime && !this.runtime.detachTactics(slot) && this.runtime.queryTactics(slot))
53
+ throw new Error("Failed to detach tactics policy.");
54
+ this.attached.delete(link.entity);
55
+ link.entity.tacticsState = null;
56
+ }
57
+ destroy() {
58
+ for (const [entity, { ref }] of this.attached) this.detach({ entity, ref });
59
+ }
60
+ };
61
+ function descriptor(name, abilities) {
62
+ return defineBehavior({
63
+ name,
64
+ metadata: BUILTIN_BEHAVIORS[name],
65
+ defaultOptions: {
66
+ width: 6,
67
+ height: 6
68
+ },
69
+ systemFactory: (ctx) => new TacticsSystem(
70
+ /* @__PURE__ */ Symbol.for(`zylem:behavior:${name}`),
71
+ abilities,
72
+ ctx.wasmStage ?? null,
73
+ ctx.getBehaviorLinks
74
+ )
75
+ });
76
+ }
77
+ var TacticalGridBehavior = descriptor(
78
+ "tactical-grid",
79
+ TACTICS_ABILITIES
80
+ );
81
+ var TerrainMovementBudgetBehavior = descriptor(
82
+ "terrain-movement-budget",
83
+ ["terrain-movement-budget"]
84
+ );
85
+ var MinMaxAttackRangeBehavior = descriptor("min-max-attack-range", [
86
+ "min-max-attack-range"
87
+ ]);
88
+ var TerrainDefenseModifierBehavior = descriptor(
89
+ "terrain-defense-modifier",
90
+ ["terrain-defense-modifier"]
91
+ );
92
+ var CounterattackAndFollowUpBehavior = descriptor(
93
+ "counterattack-and-follow-up",
94
+ ["counterattack-and-follow-up"]
95
+ );
96
+ var WeaponAdvantageCycleBehavior = descriptor(
97
+ "weapon-advantage-cycle",
98
+ ["weapon-advantage-cycle"]
99
+ );
100
+ var PersistentUnitLossBehavior = descriptor("persistent-unit-loss", [
101
+ "persistent-unit-loss"
102
+ ]);
103
+ var ProgressiveBuildingCaptureBehavior = descriptor(
104
+ "progressive-building-capture",
105
+ ["progressive-building-capture"]
106
+ );
107
+ var FuelAmmunitionResupplyBehavior = descriptor(
108
+ "fuel-ammunition-resupply",
109
+ ["fuel-ammunition-resupply"]
110
+ );
111
+ var TransportLoadUnloadBehavior = descriptor("transport-load-unload", [
112
+ "transport-load-unload"
113
+ ]);
114
+ var CommanderPowerWindowBehavior = descriptor(
115
+ "commander-power-window",
116
+ ["commander-power-window"]
117
+ );
118
+
119
+ export {
120
+ TacticalGridBehavior,
121
+ TerrainMovementBudgetBehavior,
122
+ MinMaxAttackRangeBehavior,
123
+ TerrainDefenseModifierBehavior,
124
+ CounterattackAndFollowUpBehavior,
125
+ WeaponAdvantageCycleBehavior,
126
+ PersistentUnitLossBehavior,
127
+ ProgressiveBuildingCaptureBehavior,
128
+ FuelAmmunitionResupplyBehavior,
129
+ TransportLoadUnloadBehavior,
130
+ CommanderPowerWindowBehavior
131
+ };
@@ -0,0 +1,21 @@
1
+ import { y as BehaviorDescriptor, an as EncounterOptions, aq as EncounterState } from './behavior-descriptor-NS_qnzzp.js';
2
+ export { ab as ENCOUNTER_ABILITIES, ac as ENCOUNTER_EVENTS, ad as ENCOUNTER_INTENTS, ae as ENCOUNTER_LINKS, ah as EncounterAbility, ai as EncounterCandidate, aj as EncounterCover, ak as EncounterHazard, al as EncounterHit, am as EncounterLinkKind, ao as EncounterPhase, ap as EncounterRegion, cp as encounterData } from './behavior-descriptor-NS_qnzzp.js';
3
+ import './behavior-metadata-Drm1zxI2.js';
4
+ import '@zylem/runtime';
5
+
6
+ interface EncounterEntity {
7
+ encounterState: EncounterState | null;
8
+ }
9
+ declare const CombatAIBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
10
+ declare const SquadFlankAssignmentBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
11
+ declare const LeaderLossMoraleBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
12
+ declare const GrenadeDangerEvasionBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
13
+ declare const CoverPeekCycleBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
14
+ declare const ThreatTargetSelectionBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
15
+ declare const TacticalBurstSelectionBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
16
+ declare const LatentAmbushActivationBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
17
+ declare const BossPhaseControllerBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
18
+ declare const LocalizedWeakPointDamageBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
19
+ declare const ShootableProjectileInterceptionBehavior: BehaviorDescriptor<EncounterOptions, Record<string, never>, EncounterEntity>;
20
+
21
+ export { BossPhaseControllerBehavior, CombatAIBehavior, CoverPeekCycleBehavior, type EncounterEntity, EncounterOptions, EncounterState, GrenadeDangerEvasionBehavior, LatentAmbushActivationBehavior, LeaderLossMoraleBehavior, LocalizedWeakPointDamageBehavior, ShootableProjectileInterceptionBehavior, SquadFlankAssignmentBehavior, TacticalBurstSelectionBehavior, ThreatTargetSelectionBehavior };
@@ -0,0 +1,41 @@
1
+ import {
2
+ BossPhaseControllerBehavior,
3
+ CombatAIBehavior,
4
+ CoverPeekCycleBehavior,
5
+ GrenadeDangerEvasionBehavior,
6
+ LatentAmbushActivationBehavior,
7
+ LeaderLossMoraleBehavior,
8
+ LocalizedWeakPointDamageBehavior,
9
+ ShootableProjectileInterceptionBehavior,
10
+ SquadFlankAssignmentBehavior,
11
+ TacticalBurstSelectionBehavior,
12
+ ThreatTargetSelectionBehavior
13
+ } from "./chunk-OH5LJAEJ.js";
14
+ import {
15
+ ENCOUNTER_ABILITIES,
16
+ ENCOUNTER_EVENTS,
17
+ ENCOUNTER_INTENTS,
18
+ ENCOUNTER_LINKS,
19
+ encounterData
20
+ } from "./chunk-73MHJY6R.js";
21
+ import "./chunk-5SMXQ6AU.js";
22
+ import "./chunk-S44ZHYE6.js";
23
+ import "./chunk-JSBRDJBE.js";
24
+ export {
25
+ BossPhaseControllerBehavior,
26
+ CombatAIBehavior,
27
+ CoverPeekCycleBehavior,
28
+ ENCOUNTER_ABILITIES,
29
+ ENCOUNTER_EVENTS,
30
+ ENCOUNTER_INTENTS,
31
+ ENCOUNTER_LINKS,
32
+ GrenadeDangerEvasionBehavior,
33
+ LatentAmbushActivationBehavior,
34
+ LeaderLossMoraleBehavior,
35
+ LocalizedWeakPointDamageBehavior,
36
+ ShootableProjectileInterceptionBehavior,
37
+ SquadFlankAssignmentBehavior,
38
+ TacticalBurstSelectionBehavior,
39
+ ThreatTargetSelectionBehavior,
40
+ encounterData
41
+ };
@@ -1,4 +1,4 @@
1
- import { G as GameEntity, a as BehaviorDescriptor } from './behavior-system-DkFAwLb_.js';
1
+ import { cR as GameEntity, y as BehaviorDescriptor } from './behavior-descriptor-NS_qnzzp.js';
2
2
  import { Vector3, Quaternion } from 'three';
3
3
 
4
4
  /**
@@ -1,13 +1,7 @@
1
- import { a as BehaviorDescriptor } from './behavior-system-DkFAwLb_.js';
1
+ import { y as BehaviorDescriptor } from './behavior-descriptor-NS_qnzzp.js';
2
+ import './behavior-metadata-Drm1zxI2.js';
2
3
  import '@zylem/runtime';
3
4
 
4
- /**
5
- * CooldownBehavior
6
- *
7
- * A stage-scoped behavior that manages named cooldowns via the global CooldownStore.
8
- * Entities use this to register, check, and fire cooldowns.
9
- * UI components (CooldownIcon) can read from the same store.
10
- */
11
5
  interface CooldownConfig {
12
6
  /** Duration in seconds */
13
7
  duration: number;
package/dist/cooldown.js CHANGED
@@ -6,8 +6,9 @@ import {
6
6
  registerCooldown,
7
7
  resetCooldown,
8
8
  tickCooldowns
9
- } from "./chunk-UUMH3DC3.js";
10
- import "./chunk-YDLO5M7S.js";
9
+ } from "./chunk-3QBNWT7B.js";
10
+ import "./chunk-5SMXQ6AU.js";
11
+ import "./chunk-S44ZHYE6.js";
11
12
  import "./chunk-JSBRDJBE.js";
12
13
  export {
13
14
  CooldownBehavior,
@@ -1,9 +1,10 @@
1
- import { a as MoveableEntity } from '../moveable-CFOHmblC.js';
1
+ import { M as MoveableEntity } from '../moveable-CXK2wEZL.js';
2
2
  import { B as BaseEntityInterface } from '../entity-types-DhfsZbSK.js';
3
3
  import { Ricochet3DHandle } from '../ricochet-3d.js';
4
4
  import { WorldBoundary3DHandle } from '../world-boundary-3d.js';
5
5
  import 'three';
6
- import '../behavior-system-DkFAwLb_.js';
6
+ import '../behavior-descriptor-NS_qnzzp.js';
7
+ import '../behavior-metadata-Drm1zxI2.js';
7
8
  import '@zylem/runtime';
8
9
  import '../sync-state-machine-CZyspBpj.js';
9
10
  import 'typescript-fsm';
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  BoundaryRicochet3DCoordinator
3
- } from "../chunk-RR3XNDKG.js";
4
- import "../chunk-WHKPWIQO.js";
3
+ } from "../chunk-T2LAQQDS.js";
4
+ import "../chunk-HMVEQB2T.js";
5
5
  import "../chunk-2YF7J3H4.js";
6
6
  import "../chunk-JSBRDJBE.js";
7
7
  export {
@@ -1,10 +1,11 @@
1
1
  import { Ricochet2DHandle } from '../ricochet-2d.js';
2
2
  import { WorldBoundary2DHandle } from '../world-boundary-2d.js';
3
- import { a as MoveableEntity } from '../moveable-CFOHmblC.js';
3
+ import { M as MoveableEntity } from '../moveable-CXK2wEZL.js';
4
4
  import { B as BaseEntityInterface } from '../entity-types-DhfsZbSK.js';
5
5
  import '../sync-state-machine-CZyspBpj.js';
6
6
  import 'typescript-fsm';
7
- import '../behavior-system-DkFAwLb_.js';
7
+ import '../behavior-descriptor-NS_qnzzp.js';
8
+ import '../behavior-metadata-Drm1zxI2.js';
8
9
  import '@zylem/runtime';
9
10
  import 'three';
10
11
 
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  BoundaryRicochetCoordinator
3
- } from "../chunk-DD4U42FG.js";
4
- import "../chunk-TZQQYJYK.js";
3
+ } from "../chunk-AQB246W5.js";
5
4
  import "../chunk-2YF7J3H4.js";
5
+ import "../chunk-TZQQYJYK.js";
6
6
  import "../chunk-JSBRDJBE.js";
7
7
  export {
8
8
  BoundaryRicochetCoordinator
@@ -1,9 +1,10 @@
1
1
  import { T as ThrusterInputComponent } from '../components-B29WHGQN.js';
2
2
  import { Shooter2DSourceEntity, Shooter2DHandle, Shooter2DStageLike } from '../shooter-2d.js';
3
3
  import { S as Shooter2DAimFireInput } from '../shooter-fire-DGripl0z.js';
4
- import '../behavior-system-DkFAwLb_.js';
4
+ import '../behavior-descriptor-NS_qnzzp.js';
5
+ import '../behavior-metadata-Drm1zxI2.js';
5
6
  import '@zylem/runtime';
6
- import '../vector-DjhLUrak.js';
7
+ import '../vector-s7GbCrVn.js';
7
8
  import 'three';
8
9
 
9
10
  interface MultidirectionalSpaceShooterInput extends Shooter2DAimFireInput {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  MultidirectionalSpaceShooterCoordinator
3
- } from "../chunk-UKGBQTHL.js";
3
+ } from "../chunk-CXDNR4R4.js";
4
4
  import "../chunk-LAN7U3AK.js";
5
- import "../chunk-2HLZBWGD.js";
6
5
  import "../chunk-VJ3UA6OD.js";
7
6
  import "../chunk-3X3CL24Z.js";
7
+ import "../chunk-2HLZBWGD.js";
8
8
  import "../chunk-JSBRDJBE.js";
9
9
  export {
10
10
  MultidirectionalSpaceShooterCoordinator
@@ -1,9 +1,10 @@
1
1
  import { a as TopDownMovementInputComponent } from '../components-XCpL6IYt.js';
2
2
  import { Shooter2DSourceEntity, Shooter2DHandle, Shooter2DStageLike } from '../shooter-2d.js';
3
3
  import { S as Shooter2DAimFireInput } from '../shooter-fire-DGripl0z.js';
4
- import '../behavior-system-DkFAwLb_.js';
4
+ import '../behavior-descriptor-NS_qnzzp.js';
5
+ import '../behavior-metadata-Drm1zxI2.js';
5
6
  import '@zylem/runtime';
6
- import '../vector-DjhLUrak.js';
7
+ import '../vector-s7GbCrVn.js';
7
8
  import 'three';
8
9
 
9
10
  interface TopDownShooterInput extends Shooter2DAimFireInput {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  TopDownShooterCoordinator
3
- } from "../chunk-OSPQFWQF.js";
4
- import "../chunk-LAN7U3AK.js";
3
+ } from "../chunk-4K37UL53.js";
5
4
  import "../chunk-2HKY6WF7.js";
5
+ import "../chunk-LAN7U3AK.js";
6
6
  import "../chunk-VJ3UA6OD.js";
7
7
  import "../chunk-3X3CL24Z.js";
8
8
  import "../chunk-JSBRDJBE.js";