@woosh/meep-engine 2.121.9 → 2.121.12

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 (202) hide show
  1. package/editor/process/symbolic/make3DSymbolicDisplay.js +2 -2
  2. package/editor/tools/TransformTool.js +3 -3
  3. package/editor/view/v2/prototypeEditor.js +1 -1
  4. package/package.json +1 -1
  5. package/src/core/binary/to_half_float_uint16.d.ts +1 -2
  6. package/src/core/binary/to_half_float_uint16.d.ts.map +1 -1
  7. package/src/core/binary/to_half_float_uint16.js +1 -2
  8. package/src/core/collection/array/array_pick_best_elements.js +1 -1
  9. package/src/core/collection/list/List.d.ts.map +1 -1
  10. package/src/core/collection/list/List.js +3 -5
  11. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  12. package/src/core/collection/map/HashMap.js +3 -1
  13. package/src/core/color/oklab/compute_max_saturation.d.ts +3 -1
  14. package/src/core/color/oklab/compute_max_saturation.d.ts.map +1 -1
  15. package/src/core/color/oklab/compute_max_saturation.js +3 -1
  16. package/src/core/color/oklab/find_cusp.d.ts +3 -1
  17. package/src/core/color/oklab/find_cusp.d.ts.map +1 -1
  18. package/src/core/color/oklab/find_cusp.js +3 -1
  19. package/src/core/color/oklab/find_gamut_intersection.d.ts +3 -1
  20. package/src/core/color/oklab/find_gamut_intersection.d.ts.map +1 -1
  21. package/src/core/color/oklab/find_gamut_intersection.js +3 -1
  22. package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts +3 -1
  23. package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts.map +1 -1
  24. package/src/core/color/oklab/okhsv_to_linear_srgb.js +3 -1
  25. package/src/core/color/oklab/oklab_to_linear_srgb.d.ts +3 -1
  26. package/src/core/color/oklab/oklab_to_linear_srgb.d.ts.map +1 -1
  27. package/src/core/color/oklab/oklab_to_linear_srgb.js +3 -1
  28. package/src/core/color/oklab/oklab_to_xyz.d.ts +4 -1
  29. package/src/core/color/oklab/oklab_to_xyz.d.ts.map +1 -1
  30. package/src/core/color/oklab/oklab_to_xyz.js +4 -1
  31. package/src/core/color/oklab/xyz_to_oklab.d.ts +3 -1
  32. package/src/core/color/oklab/xyz_to_oklab.d.ts.map +1 -1
  33. package/src/core/color/oklab/xyz_to_oklab.js +3 -1
  34. package/src/core/fsm/simple/SimpleStateMachineDescription.js +3 -3
  35. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts +2 -1
  36. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.d.ts.map +1 -1
  37. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.js +2 -1
  38. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.d.ts +3 -1
  39. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.d.ts.map +1 -1
  40. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.js +5 -3
  41. package/src/core/geom/ConicRay.d.ts +3 -1
  42. package/src/core/geom/ConicRay.d.ts.map +1 -1
  43. package/src/core/geom/ConicRay.js +3 -1
  44. package/src/core/geom/Quaternion.d.ts.map +1 -1
  45. package/src/core/geom/Quaternion.js +39 -23
  46. package/src/core/geom/Vector1.js +1 -1
  47. package/src/core/geom/Vector2.d.ts.map +1 -1
  48. package/src/core/geom/Vector2.js +73 -46
  49. package/src/core/geom/Vector3.d.ts.map +1 -1
  50. package/src/core/geom/Vector3.js +109 -68
  51. package/src/core/geom/Vector4.d.ts +230 -40
  52. package/src/core/geom/Vector4.d.ts.map +1 -1
  53. package/src/core/geom/Vector4.js +24 -0
  54. package/src/core/geom/packing/max-rect/cutArea.d.ts.map +1 -1
  55. package/src/core/geom/packing/max-rect/cutArea.js +7 -8
  56. package/src/core/geom/packing/miniball/Miniball.d.ts +188 -11
  57. package/src/core/geom/packing/miniball/PointSet.d.ts +46 -3
  58. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  59. package/src/core/geom/vec3/v3_slerp.js +2 -0
  60. package/src/core/graph/layout/CircleLayout.d.ts.map +1 -1
  61. package/src/core/graph/layout/CircleLayout.js +5 -2
  62. package/src/core/math/EPSILON.d.ts.map +1 -1
  63. package/src/core/math/EPSILON.js +1 -1
  64. package/src/core/model/ObservedString.d.ts +5 -0
  65. package/src/core/model/ObservedString.d.ts.map +1 -1
  66. package/src/core/model/ObservedString.js +5 -5
  67. package/src/core/model/node-graph/node/NodeDescription.js +3 -3
  68. package/src/core/model/node-graph/visual/NodeDescriptionVisualRegistry.js +1 -1
  69. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.js +4 -4
  70. package/src/core/model/reactive/model/terminal/ReactiveReference.js +4 -4
  71. package/src/core/process/action/PromiseAsynchronousAction.js +3 -3
  72. package/src/core/process/action/SynchronousAction.js +1 -1
  73. package/src/core/process/buildPromiseChain.js +4 -4
  74. package/src/core/process/executor/ConcurrentExecutor.d.ts +104 -16
  75. package/src/core/process/task/Task.d.ts +153 -15
  76. package/src/core/process/task/Task.d.ts.map +1 -1
  77. package/src/core/process/task/Task.js +26 -4
  78. package/src/core/process/task/TaskGroup.d.ts +83 -5
  79. package/src/core/process/task/TaskGroup.d.ts.map +1 -1
  80. package/src/core/process/task/TaskGroup.js +6 -6
  81. package/src/core/process/undo/Action.d.ts.map +1 -1
  82. package/src/core/process/undo/Action.js +3 -4
  83. package/src/core/process/undo/ActionProcessor.d.ts.map +1 -1
  84. package/src/core/process/undo/ActionProcessor.js +3 -6
  85. package/src/engine/asset/AssetManager.js +1 -1
  86. package/src/engine/development/performance/MetricCollection.js +1 -1
  87. package/src/engine/ecs/Entity.d.ts.map +1 -1
  88. package/src/engine/ecs/Entity.js +2 -0
  89. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  90. package/src/engine/ecs/EntityComponentDataset.js +35 -15
  91. package/src/engine/ecs/EntityManager.d.ts +12 -6
  92. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  93. package/src/engine/ecs/EntityManager.js +16 -8
  94. package/src/engine/ecs/System.d.ts.map +1 -1
  95. package/src/engine/ecs/System.js +41 -1
  96. package/src/engine/ecs/dynamic_actions/DataScope.d.ts +2 -2
  97. package/src/engine/ecs/dynamic_actions/DataScope.d.ts.map +1 -1
  98. package/src/engine/ecs/dynamic_actions/DataScope.js +7 -7
  99. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +1 -1
  100. package/src/engine/ecs/dynamic_actions/actions/definition/SendRequestActionDescription.js +1 -1
  101. package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.js +2 -2
  102. package/src/engine/ecs/dynamic_actions/actions/definition/WriteToBlackboardActionDescription.js +1 -1
  103. package/src/engine/ecs/dynamic_actions/actions/definition/deserializeActionFromJSON.js +3 -3
  104. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescription.js +1 -1
  105. package/src/engine/ecs/fow/FogOfWar.js +8 -8
  106. package/src/engine/ecs/fow/shader/FogOfWarRenderer.d.ts.map +1 -1
  107. package/src/engine/ecs/fow/shader/FogOfWarRenderer.js +13 -13
  108. package/src/engine/ecs/speaker/lines/LineDescription.js +1 -1
  109. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +1 -1
  110. package/src/engine/ecs/terrain/ecs/Terrain.js +4 -4
  111. package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts +6 -1
  112. package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts.map +1 -1
  113. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.d.ts +1 -1
  114. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.d.ts.map +1 -1
  115. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts.map +1 -1
  116. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.js +5 -5
  117. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts +2 -1
  118. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts.map +1 -1
  119. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.js +13 -5
  120. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.js +1 -1
  121. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.js +2 -2
  122. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.js +2 -2
  123. package/src/engine/graphics/texture/sampler/HarmonicDiffusionGrid.js +5 -5
  124. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_NaiveFlood.d.ts +3 -1
  125. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_NaiveFlood.d.ts.map +1 -1
  126. package/src/engine/graphics/texture/sampler/distance/computeSignedDistanceField_NaiveFlood.js +4 -2
  127. package/src/engine/graphics/texture/sampler/sampler2d_combine.js +1 -1
  128. package/src/engine/graphics/three/TransfromControls.js +4 -5
  129. package/src/engine/input/devices/InputDeviceSwitch.d.ts.map +1 -1
  130. package/src/engine/input/devices/InputDeviceSwitch.js +1 -0
  131. package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js +1 -1
  132. package/src/engine/intelligence/blackboard/AbstractBlackboard.js +3 -3
  133. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  134. package/src/engine/intelligence/blackboard/Blackboard.js +4 -4
  135. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  136. package/src/engine/intelligence/mcts/MonteCarlo.js +36 -55
  137. package/src/engine/intelligence/resource/Resource.js +3 -3
  138. package/src/engine/save/StorageBackedList.js +2 -2
  139. package/src/engine/scene/SerializedScene.d.ts +1 -1
  140. package/src/engine/scene/SerializedScene.d.ts.map +1 -1
  141. package/src/engine/scene/SerializedScene.js +2 -2
  142. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  143. package/src/engine/sound/SoundEngine.js +2 -3
  144. package/src/engine/sound/ecs/emitter/SoundTrack.js +2 -2
  145. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.js +2 -2
  146. package/src/engine/ui/DraggableAspect.d.ts +5 -0
  147. package/src/engine/ui/DraggableAspect.d.ts.map +1 -1
  148. package/src/engine/ui/DraggableAspect.js +5 -5
  149. package/src/engine/ui/notification/NotificationManager.js +3 -3
  150. package/src/generation/filtering/boolean/CellFilterLiteralBoolean.d.ts.map +1 -1
  151. package/src/generation/filtering/boolean/CellFilterLiteralBoolean.js +3 -3
  152. package/src/generation/filtering/numeric/sampling/CellFilterSampleLayerCubic.d.ts.map +1 -1
  153. package/src/generation/filtering/numeric/sampling/CellFilterSampleLayerCubic.js +2 -2
  154. package/src/generation/grid/GridData.d.ts.map +1 -1
  155. package/src/generation/grid/GridData.js +3 -3
  156. package/src/generation/grid/generation/NoopGridTaskGenerator.d.ts +1 -1
  157. package/src/generation/grid/generation/NoopGridTaskGenerator.d.ts.map +1 -1
  158. package/src/generation/grid/generation/discrete/layer/GridTaskBuildSourceDistanceMap.js +1 -1
  159. package/src/generation/grid/generation/grid/GridTaskAddNodesFixed.d.ts +1 -1
  160. package/src/generation/grid/generation/grid/GridTaskAddNodesFixed.d.ts.map +1 -1
  161. package/src/generation/grid/layers/GridDataLayer.d.ts.map +1 -1
  162. package/src/generation/grid/layers/GridDataLayer.js +2 -2
  163. package/src/generation/markers/GridActionRuleSet.js +1 -1
  164. package/src/generation/markers/GridCellActionPlaceMarker.js +1 -1
  165. package/src/generation/markers/actions/MarkerProcessingRule.js +1 -1
  166. package/src/generation/markers/matcher/MarkerNodeMatcherByType.d.ts.map +1 -1
  167. package/src/generation/markers/matcher/MarkerNodeMatcherByType.js +2 -2
  168. package/src/generation/markers/matcher/MarkerNodeMatcherContainsTag.d.ts.map +1 -1
  169. package/src/generation/markers/matcher/MarkerNodeMatcherContainsTag.js +2 -2
  170. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.js +1 -1
  171. package/src/generation/markers/transform/MarkerNodeTransformerRecordProperty.d.ts.map +1 -1
  172. package/src/generation/markers/transform/MarkerNodeTransformerRecordProperty.js +2 -2
  173. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  174. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.js +3 -3
  175. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.d.ts.map +1 -1
  176. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.js +3 -3
  177. package/src/generation/markers/transform/MarkerNodeTransformerRemoveTag.d.ts.map +1 -1
  178. package/src/generation/markers/transform/MarkerNodeTransformerRemoveTag.js +2 -2
  179. package/src/generation/placement/action/GridCellActionPlaceTags.d.ts.map +1 -1
  180. package/src/generation/placement/action/GridCellActionPlaceTags.js +1 -3
  181. package/src/generation/placement/action/GridCellActionWriteFilterToLayer.d.ts.map +1 -1
  182. package/src/generation/placement/action/GridCellActionWriteFilterToLayer.js +2 -2
  183. package/src/generation/rules/CellMatcherLayerBitMaskTest.d.ts.map +1 -1
  184. package/src/generation/rules/CellMatcherLayerBitMaskTest.js +2 -2
  185. package/src/generation/theme/TerrainTheme.js +1 -1
  186. package/src/view/View.d.ts.map +1 -1
  187. package/src/view/View.js +3 -5
  188. package/src/view/common/ListView.js +1 -1
  189. package/src/view/common/LocalizedLabelView.js +3 -3
  190. package/src/view/elements/radial/RadialText.d.ts.map +1 -1
  191. package/src/view/elements/radial/RadialText.js +14 -6
  192. package/src/view/interaction/InteractionCommand.d.ts.map +1 -1
  193. package/src/view/interaction/InteractionCommand.js +5 -5
  194. package/src/view/interaction/InteractionCommandSet.js +1 -1
  195. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.js +2 -2
  196. package/editor/tools/GridPaintTool.d.ts +0 -17
  197. package/editor/tools/GridPaintTool.d.ts.map +0 -1
  198. package/editor/tools/SelectionTool.d.ts +0 -27
  199. package/editor/tools/SelectionTool.d.ts.map +0 -1
  200. package/editor/tools/TopDownCameraControlTool.d.ts +0 -13
  201. package/editor/tools/TopDownCameraControlTool.d.ts.map +0 -1
  202. package/src/core/process/task/ITask.d.ts +0 -18
@@ -1,4 +1,9 @@
1
1
  export default ObservedString;
2
+ /**
3
+ *
4
+ * @author Alex Goldring
5
+ * @copyright Company Named Limited (c) 2025
6
+ */
2
7
  declare class ObservedString extends String {
3
8
  /**
4
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ObservedString.d.ts","sourceRoot":"","sources":["../../../../src/core/model/ObservedString.js"],"names":[],"mappings":";AASA;IACI;;;;OAIG;IACH,oBAHW,MAAM,EAgBhB;IARG;;;;OAIG;IACH,gBAAoB;IAEpB,0DAA6B;IAmBjC;;;;OAIG;IACH,oBAFa,cAAc,CAa1B;IAED;;;OAGG;IACH,YAFW,cAAc,QAIxB;IAED;;;;OAIG;IACH,cAHW,cAAc,GACZ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,2BAIC;IAED,iBAEC;IAED,yBAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAMtB;IAED,eAEC;IAGL;;;;OAIG;IACH,2BAFU,OAAO,CAEwB;CAPxC;mBA1HkB,4BAA4B"}
1
+ {"version":3,"file":"ObservedString.d.ts","sourceRoot":"","sources":["../../../../src/core/model/ObservedString.js"],"names":[],"mappings":";AAIA;;;;GAIG;AACH;IACI;;;;OAIG;IACH,oBAHW,MAAM,EAgBhB;IARG;;;;OAIG;IACH,gBAAoB;IAEpB,0DAA6B;IAmBjC;;;;OAIG;IACH,oBAFa,cAAc,CAa1B;IAED;;;OAGG;IACH,YAFW,cAAc,QAIxB;IAED;;;;OAIG;IACH,cAHW,cAAc,GACZ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,2BAIC;IAED,iBAEC;IAED,yBAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAMtB;IAED,eAEC;IAGL;;;;OAIG;IACH,2BAFU,OAAO,CAEwB;CAPxC;mBA/HkB,4BAA4B"}
@@ -1,12 +1,12 @@
1
- /**
2
- * @author Alex Goldring 2018
3
- * @copyright Alex Goldring 2018
4
- */
5
-
6
1
  import { assert } from "../assert.js";
7
2
  import Signal from "../events/signal/Signal.js";
8
3
  import { computeStringHash } from "../primitives/strings/computeStringHash.js";
9
4
 
5
+ /**
6
+ *
7
+ * @author Alex Goldring
8
+ * @copyright Company Named Limited (c) 2025
9
+ */
10
10
  class ObservedString extends String {
11
11
  /**
12
12
  *
@@ -116,7 +116,7 @@ export class NodeDescription {
116
116
  */
117
117
  createParameter(name, type, defaultValue) {
118
118
 
119
- assert.typeOf(name, 'string', 'name');
119
+ assert.isString(name, 'name');
120
120
  assert.enum(type, NodeParameterDataType, 'type');
121
121
 
122
122
  let _default = defaultValue;
@@ -418,10 +418,10 @@ export class NodeDescription {
418
418
  * @param {NodeRegistry} registry
419
419
  * @returns {NodeDescription}
420
420
  */
421
- static fromJSON(j, registry){
421
+ static fromJSON(j, registry) {
422
422
  const r = new NodeDescription();
423
423
 
424
- r.fromJSON(j,registry);
424
+ r.fromJSON(j, registry);
425
425
 
426
426
  return r;
427
427
  }
@@ -113,7 +113,7 @@ export class NodeDescriptionVisualRegistry {
113
113
  * @param {NodeVisualData} visual
114
114
  */
115
115
  add(id, visual) {
116
- assert.typeOf(id, 'number', 'id');
116
+ assert.isNumber(id, 'id');
117
117
 
118
118
  this.data.set(id, visual);
119
119
  }
@@ -97,8 +97,8 @@ class ExpressionNode {
97
97
  * @param {ReactiveExpression} exp
98
98
  * @returns {number}
99
99
  */
100
- function scoreByTreeSize(exp){
101
- return exp.computeTreeSize();
100
+ function scoreByTreeSize(exp) {
101
+ return exp.computeTreeSize();
102
102
  }
103
103
 
104
104
  /**
@@ -368,7 +368,7 @@ export class MultiPredicateEvaluator {
368
368
 
369
369
  value = expression.evaluate(this.__context);
370
370
 
371
- if(value === undefined){
371
+ if (value === undefined) {
372
372
  // value not found
373
373
 
374
374
  this.__invalidate_node(node);
@@ -438,7 +438,7 @@ export class MultiPredicateEvaluator {
438
438
 
439
439
 
440
440
  initialize(context) {
441
- assert.typeOf(context, 'object', 'context');
441
+ assert.isObject(context, 'context');
442
442
 
443
443
  this.__iterator_cursor = 0;
444
444
  this.__context = context;
@@ -14,7 +14,7 @@ export class ReactiveReference extends ReactiveExpression {
14
14
  *
15
15
  * @param {string} [name]
16
16
  */
17
- constructor(name="") {
17
+ constructor(name = "") {
18
18
  super();
19
19
 
20
20
  assert.isString(name, 'name');
@@ -63,9 +63,9 @@ export class ReactiveReference extends ReactiveExpression {
63
63
  }
64
64
 
65
65
  connect(source) {
66
- assert.notEqual(source, null, 'source is null');
67
- assert.notEqual(source, undefined, 'source is undefined');
68
- assert.typeOf(source.onChanged, 'object', 'source.onChanged');
66
+ assert.notNull(source, 'source');
67
+ assert.defined(source, 'source');
68
+ assert.isObject(source.onChanged, 'source.onChanged');
69
69
  assert.isFunction(source.onChanged.add, 'source.onChanged.add');
70
70
 
71
71
  if (this.source !== null) {
@@ -9,7 +9,7 @@ export class PromiseAsynchronousAction extends AsynchronousAction {
9
9
  constructor(factory) {
10
10
  super();
11
11
 
12
- assert.typeOf(factory, 'function', 'factory');
12
+ assert.isFunction(factory, 'factory');
13
13
 
14
14
  /**
15
15
  *
@@ -33,8 +33,8 @@ export class PromiseAsynchronousAction extends AsynchronousAction {
33
33
 
34
34
  assert.defined(p, 'factory result');
35
35
  assert.notNull(p, 'factory result');
36
- assert.typeOf(p, 'object', 'p');
37
- assert.typeOf(p.then, 'function', 'p.then');
36
+ assert.isObject(p, 'p');
37
+ assert.isFunction(p.then, 'p.then');
38
38
 
39
39
  p.then(
40
40
  () => {
@@ -9,7 +9,7 @@ export class SynchronousAction extends AsynchronousAction {
9
9
  constructor(factory) {
10
10
  super();
11
11
 
12
- assert.typeOf(factory, 'function', 'factory');
12
+ assert.isFunction(factory, 'factory');
13
13
 
14
14
  /**
15
15
  *
@@ -27,11 +27,11 @@ export function buildPromiseChain(
27
27
 
28
28
  const promise = factory.apply(null, args);
29
29
 
30
- assert.notEqual(promise, undefined, 'factory result is undefined');
31
- assert.notEqual(promise, null, 'factory result is null');
30
+ assert.defined(promise, 'factory result');
31
+ assert.notNull(promise, 'factory result');
32
32
 
33
- assert.typeOf(promise, 'object', 'promise');
34
- assert.typeOf(promise.then, 'function', 'promise.then');
33
+ assert.isObject(promise, 'promise');
34
+ assert.isFunction(promise.then, 'promise.then');
35
35
 
36
36
  return promise;
37
37
  });
@@ -1,16 +1,104 @@
1
- import Task from "../task/Task";
2
- import TaskGroup from "../task/TaskGroup";
3
-
4
- export default class ConcurrentExecutor {
5
- constructor(quietTime?: number, workTime?: number)
6
-
7
- runGroup(t: TaskGroup): void
8
-
9
- run(t: Task): void
10
-
11
- runMany(tasks: Task[]): void
12
-
13
- removeGroup(t: TaskGroup): void
14
-
15
- removeTask(t: Task): boolean
16
- }
1
+ export default ConcurrentExecutor;
2
+ /**
3
+ * @class
4
+ */
5
+ declare class ConcurrentExecutor {
6
+ /**
7
+ *
8
+ * @param {number} [quietTime] in milliseconds
9
+ * @param {number} [workTime] in milliseconds
10
+ * @constructor
11
+ */
12
+ constructor(quietTime?: number, workTime?: number);
13
+ /**
14
+ *
15
+ * @type {number}
16
+ */
17
+ quietTime: number;
18
+ /**
19
+ *
20
+ * @type {number}
21
+ */
22
+ workTime: number;
23
+ /**
24
+ * Tasks in state pending resolution or initial sate are put here
25
+ * @type {Task[]}
26
+ */
27
+ queueUnresolved: Task[];
28
+ /**
29
+ * ready tasks are those who's dependencies have all been completed
30
+ * @type {Task[]}
31
+ */
32
+ queueReady: Task[];
33
+ on: {
34
+ task_started: Signal<any, any, any, any, any, any, any, any>;
35
+ task_completed: Signal<any, any, any, any, any, any, any, any>;
36
+ completed: Signal<any, any, any, any, any, any, any, any>;
37
+ };
38
+ busy: boolean;
39
+ /**
40
+ *
41
+ * @type {number|SchedulingPolicy}
42
+ */
43
+ policy: number | SchedulingPolicy;
44
+ /**
45
+ *
46
+ * @param {TaskGroup} taskGroup
47
+ */
48
+ runGroup(taskGroup: TaskGroup): void;
49
+ /**
50
+ *
51
+ * @param {TaskGroup} group
52
+ */
53
+ removeGroup(group: TaskGroup): void;
54
+ /**
55
+ *
56
+ * @param {Task} task
57
+ * @return {boolean}
58
+ */
59
+ removeTask(task: Task): boolean;
60
+ /**
61
+ *
62
+ * @param {Task} task
63
+ */
64
+ run(task: Task): void;
65
+ /**
66
+ * Shortcut for {@link #run} method for scheduling multiple tasks at once
67
+ * @param {Task[]} tasks
68
+ */
69
+ runMany(tasks: Task[]): void;
70
+ /**
71
+ * @private
72
+ * @param {Task} task
73
+ * @returns {boolean}
74
+ */
75
+ private startTask;
76
+ /**
77
+ * Go through unresolved queue and move tasks whose dependencies have been completed to ready queue or fail them
78
+ */
79
+ resolveTasks(): void;
80
+ /**
81
+ *
82
+ * @param {Task} task
83
+ * @returns {boolean}
84
+ */
85
+ contains(task: Task): boolean;
86
+ /**
87
+ * kicks the scheduler into action, this is an internal method and should not be called from outside
88
+ * @private
89
+ */
90
+ private prod;
91
+ join(callback: any): void;
92
+ #private;
93
+ }
94
+ declare namespace ConcurrentExecutor {
95
+ export { SchedulingPolicy as POLICY };
96
+ }
97
+ import Signal from "../../events/signal/Signal.js";
98
+ type SchedulingPolicy = number;
99
+ declare namespace SchedulingPolicy {
100
+ let ROUND_ROBIN: number;
101
+ let SEQUENTIAL: number;
102
+ let TIME_SLICE: number;
103
+ }
104
+ //# sourceMappingURL=ConcurrentExecutor.d.ts.map
@@ -1,15 +1,153 @@
1
- import {ITask} from "./ITask";
2
- import {TaskSignal} from "./TaskSignal";
3
-
4
- export default class Task extends ITask {
5
- constructor(opt: {
6
- name: string,
7
- initializer?: () => any,
8
- cycleFunction: () => TaskSignal,
9
- computeProgress?: () => number
10
- dependencies?: ITask[],
11
- estimatedDuration?: number
12
- })
13
-
14
- readonly isTask: boolean
15
- }
1
+ /**
2
+ * Represents a computation task, where computation is performed in cycles.
3
+ * Each cycle is intended to complete very quickly, and be executed by {@link ConcurrentExecutor}
4
+ */
5
+ export class Task {
6
+ /**
7
+ *
8
+ * @param {Array<(Task|TaskGroup)>} tasks
9
+ * @return {Promise}
10
+ */
11
+ static promiseAll(tasks: Array<(Task | TaskGroup)>): Promise<any>;
12
+ /**
13
+ *
14
+ * @param {Task|TaskGroup} task
15
+ */
16
+ static promise(task: Task | TaskGroup): Promise<any>;
17
+ /**
18
+ *
19
+ * @param {Task} task
20
+ * @param {function} resolve
21
+ * @param {function} reject
22
+ */
23
+ static join(task: Task, resolve: Function, reject: Function): void;
24
+ /**
25
+ *
26
+ * @param {Task[]} tasks
27
+ * @param {function} resolve
28
+ * @param {function} reject
29
+ */
30
+ static joinAll(tasks: Task[], resolve: Function, reject: Function): void;
31
+ /**
32
+ *
33
+ * @param {string} [name] useful for identifying the task later on, for various UI and debug purposes
34
+ * @param {function(Task, executor:ConcurrentExecutor)} [initializer] function to be executed just before task starts
35
+ * @param {function():TaskSignal} cycleFunction
36
+ * @param {function():number} [computeProgress]
37
+ * @param {Task[]} [dependencies=[]]
38
+ * @param {number} [estimatedDuration=1] in seconds
39
+ * @constructor
40
+ */
41
+ constructor({ name, initializer, cycleFunction, computeProgress, dependencies, estimatedDuration }?: string);
42
+ /**
43
+ * @readonly
44
+ * @type {number}
45
+ */
46
+ readonly id: number;
47
+ /**
48
+ * @readonly
49
+ */
50
+ readonly on: {
51
+ /**
52
+ * @readonly
53
+ * @type {Signal}
54
+ */
55
+ readonly started: Signal;
56
+ /**
57
+ * @readonly
58
+ * @type {Signal}
59
+ */
60
+ readonly completed: Signal;
61
+ /**
62
+ * @readonly
63
+ * @type {Signal}
64
+ */
65
+ readonly failed: Signal;
66
+ };
67
+ /**
68
+ *
69
+ * @type {ObservedInteger}
70
+ */
71
+ state: ObservedInteger;
72
+ /**
73
+ * amount of time spent running this task in milliseconds
74
+ * @type {number}
75
+ * @public
76
+ */
77
+ public __executedCpuTime: number;
78
+ /**
79
+ * number of time task's cycle function was executed
80
+ * @type {number}
81
+ * @public
82
+ */
83
+ public __executedCycleCount: number;
84
+ /**
85
+ *
86
+ * @type {Task[]}
87
+ */
88
+ dependencies: Task[];
89
+ /**
90
+ *
91
+ * @type {number}
92
+ */
93
+ estimatedDuration: number;
94
+ /**
95
+ *
96
+ * @type {string}
97
+ */
98
+ name: string;
99
+ /**
100
+ *
101
+ * @type {function(): TaskSignal}
102
+ */
103
+ cycle: () => TaskSignal;
104
+ /**
105
+ *
106
+ * @type {function(Task, executor:ConcurrentExecutor)}
107
+ */
108
+ initialize: (arg0: Task, arg1: executor) => ConcurrentExecutor;
109
+ computeProgress(): number;
110
+ /**
111
+ * Time in milliseconds that the task has been executing for, suspended time does not count
112
+ * @returns {number}
113
+ */
114
+ getExecutedCpuTime(): number;
115
+ getEstimatedDuration(): number;
116
+ /**
117
+ *
118
+ * @param {Task|TaskGroup} task
119
+ * @returns Task
120
+ */
121
+ addDependency(task: Task | TaskGroup): this;
122
+ /**
123
+ *
124
+ * @param {Array<(Task|TaskGroup)>} tasks
125
+ */
126
+ addDependencies(tasks: Array<(Task | TaskGroup)>): void;
127
+ toString(): string;
128
+ /**
129
+ *
130
+ * @param {function} resolve
131
+ * @param {function} reject
132
+ */
133
+ join(resolve: Function, reject: Function): void;
134
+ /**
135
+ * Run entire task synchronously to completion
136
+ */
137
+ executeSync(): TaskSignal.EndSuccess | TaskSignal.EndFailure;
138
+ /**
139
+ *
140
+ * @returns {Promise}
141
+ */
142
+ promise(): Promise<any>;
143
+ /**
144
+ * @readonly
145
+ * @type {boolean}
146
+ */
147
+ readonly isTask: boolean;
148
+ }
149
+ export default Task;
150
+ import Signal from "../../events/signal/Signal.js";
151
+ import ObservedInteger from "../../model/ObservedInteger.js";
152
+ import { TaskSignal } from "./TaskSignal.js";
153
+ //# sourceMappingURL=Task.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/task/Task.js"],"names":[],"mappings":";AAeA;IA+MI;;;;OAIG;IACH,yBAHW,KAAK,CAAC,CAAC,IAAI,GAAC,SAAS,CAAC,CAAC,gBAOjC;IAED;;;OAGG;IACH,qBAFW,IAAI,GAAC,SAAS,gBAIxB;IAED;;;;;OAKG;IACH,kBAJW,IAAI,6CAkBd;IAED;;;;;OAKG;IACH,sBAJW,IAAI,EAAE,6CAgChB;IA1PD;;;;;;;;;OASG;IACH,qGARW,MAAM,EA6DhB;IA9FD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;;MAIE;IAEF;;;OAGG;IACH,OAFU,eAAe,CAEsB;IAE/C;;;;OAIG;IACH,0BAHU,MAAM,CAGM;IACtB;;;;OAIG;IACH,6BAHU,MAAM,CAGS;IA4BrB;;;OAGG;IACH,cAFU,IAAI,EAAE,CAEgB;IAEhC;;;OAGG;IACH,mBAFU,MAAM,CAE0B;IAE1C;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,OAFU,MAAY,UAAU,CAEN;IAE1B;;;OAGG;IACH,YAFU,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAQ,EAAR,QAAQ,KAAC,kBAAkB,CAEvB;IAWjC,0BAUC;IAED;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED,+BAEC;IAED;;;;OAIG;IACH,oBAHW,IAAI,GAAC,SAAS,QAuBxB;IAED;;;OAGG;IACH,uBAFW,KAAK,CAAC,CAAC,IAAI,GAAC,SAAS,CAAC,CAAC,QAWjC;IAED,mBAEC;IAED;;;;OAIG;IACH,gDAEC;IAED;;OAEG;IACH,6DAkBC;IAED;;;OAGG;IACH,wBAEC;IAgFL;;;OAGG;IACH,iBAFU,OAAO,CAEI;CANpB;mBAxSkB,+BAA+B;4BAGtB,gCAAgC;2BACjC,iBAAiB"}
1
+ {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/task/Task.js"],"names":[],"mappings":"AAeA;;;GAGG;AACH;IA8NI;;;;OAIG;IACH,yBAHW,KAAK,CAAC,CAAC,IAAI,GAAC,SAAS,CAAC,CAAC,gBAOjC;IAED;;;OAGG;IACH,qBAFW,IAAI,GAAC,SAAS,gBAIxB;IAED;;;;;OAKG;IACH,kBAJW,IAAI,6CAqBd;IAED;;;;;OAKG;IACH,sBAJW,IAAI,EAAE,6CAgChB;IA7PD;;;;;;;;;OASG;IACH,qGARW,MAAM,EA6DhB;IA7GD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;OAEG;IACH;QACI;;;WAGG;0BADO,MAAM;QAGhB;;;WAGG;4BADO,MAAM;QAGhB;;;WAGG;yBADO,MAAM;MAGlB;IAEF;;;OAGG;IACH,OAFU,eAAe,CAEsB;IAE/C;;;;OAIG;IACH,0BAHU,MAAM,CAGM;IACtB;;;;OAIG;IACH,6BAHU,MAAM,CAGS;IA4BrB;;;OAGG;IACH,cAFU,IAAI,EAAE,CAEgB;IAEhC;;;OAGG;IACH,mBAFU,MAAM,CAE0B;IAE1C;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,OAFU,MAAY,UAAU,CAEN;IAE1B;;;OAGG;IACH,YAFU,CAAS,IAAI,EAAJ,IAAI,EAAE,IAAQ,EAAR,QAAQ,KAAC,kBAAkB,CAEvB;IAWjC,0BAUC;IAED;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED,+BAEC;IAED;;;;OAIG;IACH,oBAHW,IAAI,GAAC,SAAS,QAuBxB;IAED;;;OAGG;IACH,uBAFW,KAAK,CAAC,CAAC,IAAI,GAAC,SAAS,CAAC,CAAC,QAWjC;IAED,mBAEC;IAED;;;;OAIG;IACH,gDAEC;IAED;;OAEG;IACH,6DAkBC;IAED;;;OAGG;IACH,wBAEC;IAmFL;;;OAGG;IACH,iBAFU,OAAO,CAEI;CANpB;;mBA9TkB,+BAA+B;4BAGtB,gCAAgC;2BACjC,iBAAiB"}
@@ -13,17 +13,36 @@ import TaskState from "./TaskState.js";
13
13
  */
14
14
  let id_counter = 0;
15
15
 
16
- class Task {
16
+ /**
17
+ * Represents a computation task, where computation is performed in cycles.
18
+ * Each cycle is intended to complete very quickly, and be executed by {@link ConcurrentExecutor}
19
+ */
20
+ export class Task {
17
21
  /**
18
22
  * @readonly
19
23
  * @type {number}
20
24
  */
21
25
  id = id_counter++;
22
26
 
27
+ /**
28
+ * @readonly
29
+ */
23
30
  on = {
31
+ /**
32
+ * @readonly
33
+ * @type {Signal}
34
+ */
24
35
  started: new Signal(),
36
+ /**
37
+ * @readonly
38
+ * @type {Signal}
39
+ */
25
40
  completed: new Signal(),
26
- failed: new Signal()
41
+ /**
42
+ * @readonly
43
+ * @type {Signal}
44
+ */
45
+ failed: new Signal(),
27
46
  };
28
47
 
29
48
  /**
@@ -193,7 +212,7 @@ class Task {
193
212
  * Run entire task synchronously to completion
194
213
  */
195
214
  executeSync() {
196
- this.initialize(this,null);
215
+ this.initialize(this, null);
197
216
 
198
217
  this.on.started.send0();
199
218
 
@@ -246,6 +265,9 @@ class Task {
246
265
  * @param {function} reject
247
266
  */
248
267
  static join(task, resolve, reject) {
268
+ assert.isFunction(resolve, 'resolve');
269
+ assert.isFunction(reject, 'reject');
270
+
249
271
  const state = task.state.getValue();
250
272
  if (state === TaskState.SUCCEEDED) {
251
273
  resolve();
@@ -293,7 +315,7 @@ class Task {
293
315
  }
294
316
 
295
317
  for (let i = 0; i < tasks.length; i++) {
296
- tasks[i].join(cbOK, cbFailed);
318
+ Task.join(tasks[i], cbOK, cbFailed);
297
319
  }
298
320
  }
299
321
  }
@@ -1,5 +1,83 @@
1
- import {ITask} from "./ITask";
2
-
3
- export default class TaskGroup extends ITask {
4
- constructor(subtasks: ITask[], name?: string)
5
- }
1
+ export default TaskGroup;
2
+ declare class TaskGroup {
3
+ /**
4
+ *
5
+ * @param {(Task|TaskGroup)[]} subtasks
6
+ * @param {string} [name]
7
+ * @constructor
8
+ */
9
+ constructor(subtasks: (Task | TaskGroup)[], name?: string);
10
+ /**
11
+ *
12
+ * @type {string}
13
+ */
14
+ name: string;
15
+ /**
16
+ *
17
+ * @type {(Task|TaskGroup)[]}
18
+ */
19
+ children: (Task | TaskGroup)[];
20
+ on: {
21
+ started: Signal<any, any, any, any, any, any, any, any>;
22
+ completed: Signal<any, any, any, any, any, any, any, any>;
23
+ failed: Signal<any, any, any, any, any, any, any, any>;
24
+ };
25
+ /**
26
+ *
27
+ * @type {ObservedInteger}
28
+ */
29
+ state: ObservedInteger;
30
+ /**
31
+ * Time in milliseconds that the task has been executing for, suspended time does not count
32
+ * @returns {number}
33
+ */
34
+ getExecutedCpuTime(): number;
35
+ /**
36
+ *
37
+ * @param {Task|TaskGroup} child
38
+ * @returns {boolean}
39
+ */
40
+ addChild(child: Task | TaskGroup): boolean;
41
+ /**
42
+ *
43
+ * @param {(Task|TaskGroup)[]} children
44
+ */
45
+ addChildren(children: (Task | TaskGroup)[]): void;
46
+ /**
47
+ *
48
+ * @param {Task|TaskGroup} dependency
49
+ */
50
+ addDependency(dependency: Task | TaskGroup): void;
51
+ addDependencies(dependencies: any): void;
52
+ /**
53
+ *
54
+ * @returns {number}
55
+ */
56
+ getEstimatedDuration(): number;
57
+ /**
58
+ * Dumps task group tree along with state of each task
59
+ * @returns {string}
60
+ */
61
+ getVerboseStatusMessage(): string;
62
+ computeProgress(): number;
63
+ /**
64
+ *
65
+ * @param resolve
66
+ * @param reject
67
+ */
68
+ join(resolve: any, reject: any): void;
69
+ /**
70
+ *
71
+ * @returns {Promise<unknown>}
72
+ */
73
+ promise(): Promise<unknown>;
74
+ /**
75
+ * @readonly
76
+ * @type {boolean}
77
+ */
78
+ readonly isTaskGroup: boolean;
79
+ }
80
+ import Task from "./Task.js";
81
+ import Signal from "../../events/signal/Signal.js";
82
+ import ObservedInteger from "../../model/ObservedInteger.js";
83
+ //# sourceMappingURL=TaskGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskGroup.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/task/TaskGroup.js"],"names":[],"mappings":";AASA;IACI;;;;;OAKG;IACH,sBAJW,CAAC,IAAI,GAAC,SAAS,CAAC,EAAE,SAClB,MAAM,EAmChB;IA5BG;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,UAFU,CAAC,IAAI,GAAC,SAAS,CAAC,EAAE,CAEJ;IAExB;;;;MAIC;IAED;;;OAGG;IACH,OAFU,eAAe,CAE0B;IACnD;;;OAGG;IACH,sBAFU,OAAO,CAEM;IAG3B;;;OAGG;IACH,sBAFa,MAAM,CAiBlB;IAED;;;;OAIG;IACH,gBAHW,IAAI,GAAC,SAAS,GACZ,OAAO,CAInB;IAED;;;OAGG;IACH,sBAFW,CAAC,IAAI,GAAC,SAAS,CAAC,EAAE,QAQ5B;IAED;;;OAGG;IACH,0BAFW,IAAI,GAAC,SAAS,QAkBxB;IAED,yCAUC;IAED;;;OAGG;IACH,wBAFa,MAAM,CAmBlB;IAED;;;OAGG;IACH,2BAFa,MAAM,CAyBlB;IAED,0BAmCC;IAED;;;;OAIG;IACH,sCAEC;IAED;;;OAGG;IACH,WAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;CACJ;iBAjOgB,WAAW;mBAHT,+BAA+B;4BAEtB,gCAAgC"}
1
+ {"version":3,"file":"TaskGroup.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/task/TaskGroup.js"],"names":[],"mappings":";AASA;IACI;;;;;OAKG;IACH,sBAJW,CAAC,IAAI,GAAC,SAAS,CAAC,EAAE,SAClB,MAAM,EA8BhB;IAvBG;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,UAFU,CAAC,IAAI,GAAC,SAAS,CAAC,EAAE,CAEJ;IAExB;;;;MAIC;IAED;;;OAGG;IACH,OAFU,eAAe,CAE0B;IAGvD;;;OAGG;IACH,sBAFa,MAAM,CAiBlB;IAED;;;;OAIG;IACH,gBAHW,IAAI,GAAC,SAAS,GACZ,OAAO,CAInB;IAED;;;OAGG;IACH,sBAFW,CAAC,IAAI,GAAC,SAAS,CAAC,EAAE,QAQ5B;IAED;;;OAGG;IACH,0BAFW,IAAI,GAAC,SAAS,QAkBxB;IAED,yCAUC;IAED;;;OAGG;IACH,wBAFa,MAAM,CAmBlB;IAED;;;OAGG;IACH,2BAFa,MAAM,CAyBlB;IAED,0BAmCC;IAED;;;;OAIG;IACH,sCAEC;IAED;;;OAGG;IACH,WAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAGL;;;OAGG;IACH,sBAFU,OAAO,CAEc;CAN9B;iBA5NgB,WAAW;mBAHT,+BAA+B;4BAEtB,gCAAgC"}
@@ -16,7 +16,7 @@ class TaskGroup {
16
16
  */
17
17
  constructor(subtasks, name = 'Unnamed') {
18
18
  assert.isArray(subtasks, 'subtasks');
19
- assert.typeOf(name, 'string', 'name');
19
+ assert.isString(name, 'name');
20
20
 
21
21
  /**
22
22
  *
@@ -41,11 +41,6 @@ class TaskGroup {
41
41
  * @type {ObservedInteger}
42
42
  */
43
43
  this.state = new ObservedInteger(TaskState.INITIAL);
44
- /**
45
- * @readonly
46
- * @type {boolean}
47
- */
48
- this.isTaskGroup = true;
49
44
  }
50
45
 
51
46
  /**
@@ -231,6 +226,11 @@ class TaskGroup {
231
226
  }
232
227
  }
233
228
 
229
+ /**
230
+ * @readonly
231
+ * @type {boolean}
232
+ */
233
+ TaskGroup.prototype.isTaskGroup = true;
234
234
 
235
235
  /**
236
236
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/undo/Action.js"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,oBAFa,GAAG;IAGZ;;;OAGG;IACH,mBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,eAFW,GAAG,iBAIb;IAED;;;OAGG;IACH,gBAFW,GAAG,iBAIb;IAGL;;;OAGG;IACH,UAFU,OAAO,CAEQ;CANxB"}
1
+ {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../../../../src/core/process/undo/Action.js"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,oBALa,GAAG;IAMZ;;;OAGG;IACH,mBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,eAFW,GAAG,iBAIb;IAED;;;OAGG;IACH,gBAFW,GAAG,iBAIb;IAGL;;;OAGG;IACH,UAFU,OAAO,CAEQ;CANxB"}
@@ -1,12 +1,11 @@
1
- /**
2
- * @author Alex Goldring
3
- * @copyright Alex Goldring 2017
4
- */
5
1
 
6
2
  /**
7
3
  * Base class for implementing reversible actions.
8
4
  * Actions are intended to be used in conjunction with {@link ActionProcessor}
9
5
  * @template CTX
6
+ *
7
+ * @author Alex Goldring
8
+ * @copyright Company Named Limited (c) 2025
10
9
  */
11
10
  export class Action {
12
11
  /**