@casual-simulation/aux-common 3.0.10 → 3.0.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 (46) hide show
  1. package/aux-format-2/AuxCausalTree2.js +40 -5
  2. package/aux-format-2/AuxCausalTree2.js.map +1 -1
  3. package/bots/Bot.d.ts +8 -0
  4. package/bots/Bot.js +10 -0
  5. package/bots/Bot.js.map +1 -1
  6. package/bots/BotCalculations.d.ts +46 -6
  7. package/bots/BotCalculations.js +171 -14
  8. package/bots/BotCalculations.js.map +1 -1
  9. package/bots/test/BotCalculationContextTests.js +58 -6
  10. package/bots/test/BotCalculationContextTests.js.map +1 -1
  11. package/bots/test/BotTestHelpers.d.ts +4 -0
  12. package/bots/test/BotTestHelpers.js +67 -0
  13. package/bots/test/BotTestHelpers.js.map +1 -1
  14. package/math/Quaternion.d.ts +94 -0
  15. package/math/Quaternion.js +128 -0
  16. package/math/Quaternion.js.map +1 -0
  17. package/math/Rotation.d.ts +274 -0
  18. package/math/Rotation.js +378 -0
  19. package/math/Rotation.js.map +1 -0
  20. package/math/Vector2.d.ts +251 -0
  21. package/math/Vector2.js +287 -0
  22. package/math/Vector2.js.map +1 -0
  23. package/math/Vector3.d.ts +318 -0
  24. package/math/Vector3.js +370 -0
  25. package/math/Vector3.js.map +1 -0
  26. package/math/index.d.ts +5 -0
  27. package/math/index.js +5 -0
  28. package/math/index.js.map +1 -0
  29. package/package.json +3 -3
  30. package/partitions/MemoryPartition.js +23 -4
  31. package/partitions/MemoryPartition.js.map +1 -1
  32. package/partitions/RemoteYjsPartition.js +8 -4
  33. package/partitions/RemoteYjsPartition.js.map +1 -1
  34. package/partitions/YjsPartition.js +8 -0
  35. package/partitions/YjsPartition.js.map +1 -1
  36. package/runtime/AuxLibrary.d.ts +15 -40
  37. package/runtime/AuxLibrary.js +165 -68
  38. package/runtime/AuxLibrary.js.map +1 -1
  39. package/runtime/AuxLibraryDefinitions.def +587 -10
  40. package/runtime/AuxRuntime.js +26 -1
  41. package/runtime/AuxRuntime.js.map +1 -1
  42. package/runtime/Utils.js +12 -4
  43. package/runtime/Utils.js.map +1 -1
  44. package/partitions/test/PartitionTests.d.ts +0 -8
  45. package/partitions/test/PartitionTests.js +0 -1548
  46. package/partitions/test/PartitionTests.js.map +0 -1
@@ -2,7 +2,7 @@ import { applyResult as applyTreeResult, addAtom, tree, mergeResults, addedAtom,
2
2
  import { tag, value, bot, deleteOp, signedCert, signedValue, signedRevocation, tagMask, insertOp, AuxOpType, } from './AuxOpTypes';
3
3
  import reducer, { certificateId, getTextEditNodes } from './AuxWeaveReducer';
4
4
  import { merge } from '../utils';
5
- import { apply, updates as stateUpdates, isTagEdit, } from './AuxStateHelpers';
5
+ import { apply, updates as stateUpdates, isTagEdit, mergeEdits, } from './AuxStateHelpers';
6
6
  import { enqueueAsyncResult, enqueueAsyncError, } from '../bots/BotEvents';
7
7
  import { findTagNode, findValueNode, findBotNode, findBotNodes, findValueNodeByValue, findTagMaskNodes, findEditPosition, calculateFinalEditValue, } from './AuxWeaveHelpers';
8
8
  import { merge as lodashMerge } from 'lodash';
@@ -64,7 +64,42 @@ export function removeAuxAtom(tree, hash) {
64
64
  * @param second The second result.
65
65
  */
66
66
  export function mergeAuxResults(first, second) {
67
- return Object.assign(Object.assign({}, mergeResults(first, second)), { update: merge(first.update, second.update) });
67
+ let merged = merge(first.update, second.update);
68
+ // Check the merged state for tag edits
69
+ // that may need to be merged together specially
70
+ for (let id in merged) {
71
+ let bot = merged[id];
72
+ let bot1 = first.update[id];
73
+ let bot2 = second.update[id];
74
+ if (bot && bot1 && bot2) {
75
+ let tags = bot.tags;
76
+ let tags1 = bot1.tags;
77
+ let tags2 = bot2.tags;
78
+ for (let tag in tags) {
79
+ let value1 = tags1[tag];
80
+ let value2 = tags2[tag];
81
+ if (isTagEdit(value1) && isTagEdit(value2)) {
82
+ tags[tag] = mergeEdits(value1, value2);
83
+ }
84
+ }
85
+ let masks = bot.masks;
86
+ let masks1 = bot1.masks;
87
+ let masks2 = bot2.masks;
88
+ for (let space in masks) {
89
+ let tags = masks[space];
90
+ let tags1 = masks1[space];
91
+ let tags2 = masks2[space];
92
+ for (let tag in tags) {
93
+ let value1 = tags1[tag];
94
+ let value2 = tags2[tag];
95
+ if (isTagEdit(value1) && isTagEdit(value2)) {
96
+ tags[tag] = mergeEdits(value1, value2);
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ return Object.assign(Object.assign({}, mergeResults(first, second)), { update: merged });
68
103
  }
69
104
  /**
70
105
  * Adds the results from the second result to the first result.
@@ -480,7 +515,7 @@ export function applyAtoms(tree, atoms, removedAtoms, space, initial = false) {
480
515
  // there are any inserts that we need to resolve the final value of later.
481
516
  if (initial) {
482
517
  if (atom.value.type === AuxOpType.Insert) {
483
- const { botId, tag, isTagMask, value, } = getBotIdAndTagNameForEdit(tree.weave, atom);
518
+ const { botId, tag, isTagMask, value } = getBotIdAndTagNameForEdit(tree.weave, atom);
484
519
  if (!!botId && !!tag) {
485
520
  editedTags.set(`${botId}.${tag}`, [
486
521
  botId,
@@ -494,7 +529,7 @@ export function applyAtoms(tree, atoms, removedAtoms, space, initial = false) {
494
529
  const parent = tree.weave.getNode(atom.cause);
495
530
  if (parent.atom.value.type === AuxOpType.Insert ||
496
531
  parent.atom.value.type === AuxOpType.Value) {
497
- const { botId, tag, isTagMask, value, } = getBotIdAndTagNameForEdit(tree.weave, atom);
532
+ const { botId, tag, isTagMask, value } = getBotIdAndTagNameForEdit(tree.weave, atom);
498
533
  if (!!botId && !!tag) {
499
534
  editedTags.set(`${botId}.${tag}`, [
500
535
  botId,
@@ -551,7 +586,7 @@ export function applyAtoms(tree, atoms, removedAtoms, space, initial = false) {
551
586
  return { tree, updates, results, update };
552
587
  }
553
588
  function getBotIdAndTagNameForEdit(weave, atom) {
554
- const { tag: tagOrValue, bot: botOrTagMask, value } = getTextEditNodes(weave, atom);
589
+ const { tag: tagOrValue, bot: botOrTagMask, value, } = getTextEditNodes(weave, atom);
555
590
  let botId;
556
591
  let tag;
557
592
  let isTagMask = false;
@@ -1 +1 @@
1
- {"version":3,"file":"AuxCausalTree2.js","sourceRoot":"","sources":["AuxCausalTree2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuxCausalTree2.js","sourceRoot":"","sources":["AuxCausalTree2.ts"],"names":[],"mappings":"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"}
package/bots/Bot.d.ts CHANGED
@@ -1338,6 +1338,14 @@ export declare const DATE_TAG_PREFIX: string;
1338
1338
  */
1339
1339
  export declare const STRING_TAG_PREFIX: string;
1340
1340
  export declare const NUMBER_TAG_PREFIX: string;
1341
+ /**
1342
+ * The prefix for vector tags.
1343
+ */
1344
+ export declare const VECTOR_TAG_PREFIX: string;
1345
+ /**
1346
+ * The prefix for rotation tags.
1347
+ */
1348
+ export declare const ROTATION_TAG_PREFIX: string;
1341
1349
  /**
1342
1350
  * The default script prefixes for custom portals.
1343
1351
  */
package/bots/Bot.js CHANGED
@@ -838,6 +838,14 @@ export const STRING_TAG_PREFIX = '📝';
838
838
  * The prefix for number tags.
839
839
  */
840
840
  export const NUMBER_TAG_PREFIX = '🔢';
841
+ /**
842
+ * The prefix for vector tags.
843
+ */
844
+ export const VECTOR_TAG_PREFIX = '➡️';
845
+ /**
846
+ * The prefix for rotation tags.
847
+ */
848
+ export const ROTATION_TAG_PREFIX = '🔁';
841
849
  /**
842
850
  * The default script prefixes for custom portals.
843
851
  */
@@ -852,6 +860,8 @@ export const KNOWN_TAG_PREFIXES = [
852
860
  DATE_TAG_PREFIX,
853
861
  STRING_TAG_PREFIX,
854
862
  NUMBER_TAG_PREFIX,
863
+ VECTOR_TAG_PREFIX,
864
+ ROTATION_TAG_PREFIX,
855
865
  ];
856
866
  /**
857
867
  * The list of all portal tags.
package/bots/Bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Bot.js","sourceRoot":"","sources":["Bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bot.js","sourceRoot":"","sources":["Bot.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { BotCalculationContext } from './BotCalculationContext';
3
3
  import { PartialBot } from '../bots';
4
4
  import { BotObjectsContext } from './BotObjectsContext';
5
5
  import { DateTime } from 'luxon';
6
+ import { Rotation, Vector2, Vector3 } from '../math';
6
7
  export declare var isFormulaObjectSymbol: symbol;
7
8
  export declare var ShortId_Length: number;
8
9
  /**
@@ -270,7 +271,36 @@ export declare function parseNumber(value: string): number;
270
271
  */
271
272
  export declare function realNumberOrDefault(value: unknown, defaultIfInvalid: number): number;
272
273
  /**
273
- >>>>>>> feature/number-prefix
274
+ * Formats the given value into a parseable vector string.
275
+ * @param vector The vector to format.
276
+ */
277
+ export declare function formatBotVector(vector: Vector2 | Vector3): string;
278
+ /**
279
+ * Determines if the given value represents a bot vector value.
280
+ * @param value The value to check.
281
+ */
282
+ export declare function isBotVector(value: unknown): value is string;
283
+ /**
284
+ * Parses the given value into a Vector2 or Vector3 value.
285
+ * @param value The value to parse as a bot vector.
286
+ */
287
+ export declare function parseBotVector(value: unknown): Vector2 | Vector3 | null;
288
+ /**
289
+ * Formats the given value into a parseable rotation string.
290
+ * @param vector The vector to format.
291
+ */
292
+ export declare function formatBotRotation(rotation: Rotation): string;
293
+ /**
294
+ * Determines if the given value represents a bot rotation.
295
+ * @param value The value to check.
296
+ */
297
+ export declare function isBotRotation(value: unknown): value is string;
298
+ /**
299
+ * Parses the given value into a Rotation value.
300
+ * @param value The value to parse as a bot vector.
301
+ */
302
+ export declare function parseBotRotation(value: unknown): Rotation | null;
303
+ /**
274
304
  * Determines if the given object is a bot.
275
305
  * @param object The object to check.
276
306
  */
@@ -489,11 +519,7 @@ export declare function getBotPosition(calc: BotCalculationContext, bot: Bot, di
489
519
  * @param bot The bot.
490
520
  * @param dimension The dimension.
491
521
  */
492
- export declare function getBotRotation(calc: BotCalculationContext, bot: Bot, dimension: string): {
493
- x: number;
494
- y: number;
495
- z: number;
496
- };
522
+ export declare function getBotRotation(calc: BotCalculationContext, bot: Bot, dimension: string): Rotation;
497
523
  /**
498
524
  * Calculates the auxScaleX, auxScaleY, and auxScaleZ values from the given object.
499
525
  * @param context The calculation context.
@@ -964,6 +990,20 @@ export declare function calculateStringTagValue(context: BotCalculationContext,
964
990
  * @param defaultValue The default value to use.
965
991
  */
966
992
  export declare function calculateBotIdTagValue(bot: Bot, tag: string, defaultValue: string): string;
993
+ /**
994
+ * Calculates the value of the given tag on the given bot as a vector.
995
+ * @param bot The bot.
996
+ * @param tag The tag.
997
+ * @param defaultValue The default value to use.
998
+ */
999
+ export declare function calculateBotVectorTagValue(context: BotCalculationContext, bot: Bot, tag: string, defaultValue: Vector2 | Vector3): Vector2 | Vector3;
1000
+ /**
1001
+ * Calculates the value of the given tag on the given bot as a rotation.
1002
+ * @param bot The bot.
1003
+ * @param tag The tag.
1004
+ * @param defaultValue The default value to use.
1005
+ */
1006
+ export declare function calculateBotRotationTagValue(context: BotCalculationContext, bot: Bot, tag: string, defaultValue: Rotation): Rotation;
967
1007
  /**
968
1008
  * Determines if the given bot is able to be destroyed.
969
1009
  * Defaults to true.
@@ -1,9 +1,10 @@
1
- import { DEFAULT_WORKSPACE_SCALE, DEFAULT_WORKSPACE_HEIGHT, DEFAULT_WORKSPACE_GRID_SCALE, DEFAULT_BUILDER_USER_COLOR, DEFAULT_PLAYER_USER_COLOR, DEFAULT_BOT_SHAPE, DEFAULT_WORKSPACE_SIZE, DEFAULT_LABEL_ANCHOR, BOT_SPACE_TAG, DEFAULT_ORIENTATION_MODE, DEFAULT_ANCHOR_POINT, DEFAULT_LABEL_ALIGNMENT, DEFAULT_SCALE_MODE, DEFAULT_MEET_PORTAL_ANCHOR_POINT, DEFAULT_TAG_PORTAL_ANCHOR_POINT, TAG_MASK_SPACE_PRIORITIES, DNA_TAG_PREFIX, DEFAULT_LABEL_FONT_SIZE, DEFAULT_LABEL_WORD_WRAP_MODE, DEFAULT_MENU_BOT_FORM, DEFAULT_PORTAL_CAMERA_CONTROLS_MODE, DEFAULT_BOT_CURSOR, BOT_LINK_TAG_PREFIX, DATE_TAG_PREFIX, STRING_TAG_PREFIX, NUMBER_TAG_PREFIX, DEFAULT_BOT_PORTAL_ANCHOR_POINT, } from './Bot';
1
+ import { DEFAULT_WORKSPACE_SCALE, DEFAULT_WORKSPACE_HEIGHT, DEFAULT_WORKSPACE_GRID_SCALE, DEFAULT_BUILDER_USER_COLOR, DEFAULT_PLAYER_USER_COLOR, DEFAULT_BOT_SHAPE, DEFAULT_WORKSPACE_SIZE, DEFAULT_LABEL_ANCHOR, BOT_SPACE_TAG, DEFAULT_ORIENTATION_MODE, DEFAULT_ANCHOR_POINT, DEFAULT_LABEL_ALIGNMENT, DEFAULT_SCALE_MODE, DEFAULT_MEET_PORTAL_ANCHOR_POINT, DEFAULT_TAG_PORTAL_ANCHOR_POINT, TAG_MASK_SPACE_PRIORITIES, DNA_TAG_PREFIX, DEFAULT_LABEL_FONT_SIZE, DEFAULT_LABEL_WORD_WRAP_MODE, DEFAULT_MENU_BOT_FORM, DEFAULT_PORTAL_CAMERA_CONTROLS_MODE, DEFAULT_BOT_CURSOR, BOT_LINK_TAG_PREFIX, DATE_TAG_PREFIX, STRING_TAG_PREFIX, NUMBER_TAG_PREFIX, DEFAULT_BOT_PORTAL_ANCHOR_POINT, VECTOR_TAG_PREFIX, ROTATION_TAG_PREFIX, } from './Bot';
2
2
  import { cacheFunction } from './BotCalculationContext';
3
3
  import { v4 as uuid } from 'uuid';
4
4
  import { flatMap, union, keys, find, values, isEqual, sortBy, cloneDeep, differenceBy, intersectionBy, unionBy, } from 'lodash';
5
5
  import { merge, shortUuid } from '../utils';
6
6
  import { DateTime, SystemZone } from 'luxon';
7
+ import { Quaternion, Rotation, Vector2, Vector3 } from '../math';
7
8
  export var isFormulaObjectSymbol = Symbol('isFormulaObject');
8
9
  export var ShortId_Length = 5;
9
10
  /**
@@ -507,9 +508,7 @@ export function getScriptPrefix(prefixes, value) {
507
508
  }
508
509
  return null;
509
510
  }
510
- const INFINITIES = new Set([
511
- 'infinity', '-infinity'
512
- ]);
511
+ const INFINITIES = new Set(['infinity', '-infinity']);
513
512
  /**
514
513
  * Determines if the given value represents a number.
515
514
  */
@@ -579,13 +578,110 @@ export function parseNumber(value) {
579
578
  * @param defaultIfInvalid The default value to return if the value is not real.
580
579
  */
581
580
  export function realNumberOrDefault(value, defaultIfInvalid) {
582
- if (typeof value !== 'number' || isNaN(value) || value === Infinity || value === -Infinity) {
581
+ if (typeof value !== 'number' ||
582
+ isNaN(value) ||
583
+ value === Infinity ||
584
+ value === -Infinity) {
583
585
  return defaultIfInvalid;
584
586
  }
585
587
  return value;
586
588
  }
587
589
  /**
588
- >>>>>>> feature/number-prefix
590
+ * Formats the given value into a parseable vector string.
591
+ * @param vector The vector to format.
592
+ */
593
+ export function formatBotVector(vector) {
594
+ if (vector instanceof Vector2) {
595
+ return `➡️${vector.x},${vector.y}`;
596
+ }
597
+ else {
598
+ return `➡️${vector.x},${vector.y},${vector.z}`;
599
+ }
600
+ }
601
+ /**
602
+ * Determines if the given value represents a bot vector value.
603
+ * @param value The value to check.
604
+ */
605
+ export function isBotVector(value) {
606
+ return typeof value === 'string' && value.startsWith(VECTOR_TAG_PREFIX);
607
+ }
608
+ /**
609
+ * Parses the given value into a Vector2 or Vector3 value.
610
+ * @param value The value to parse as a bot vector.
611
+ */
612
+ export function parseBotVector(value) {
613
+ if (typeof value !== 'string') {
614
+ return null;
615
+ }
616
+ if (!value.startsWith('➡️')) {
617
+ return null;
618
+ }
619
+ const valueWithoutArrow = value.substring('➡️'.length);
620
+ const firstComma = valueWithoutArrow.indexOf(',');
621
+ if (firstComma < 0) {
622
+ return null;
623
+ }
624
+ const firstNumber = valueWithoutArrow.substring(0, firstComma);
625
+ const valueWithoutFirstNumber = valueWithoutArrow.substring(firstComma + 1);
626
+ const secondComma = valueWithoutFirstNumber.indexOf(',');
627
+ if (secondComma < 0) {
628
+ return new Vector2(parseNumber(firstNumber), parseNumber(valueWithoutFirstNumber));
629
+ }
630
+ const secondNumber = valueWithoutFirstNumber.substring(0, secondComma);
631
+ const thirdNumber = valueWithoutFirstNumber.substring(secondComma + 1);
632
+ return new Vector3(parseNumber(firstNumber), parseNumber(secondNumber), parseNumber(thirdNumber));
633
+ }
634
+ /**
635
+ * Formats the given value into a parseable rotation string.
636
+ * @param vector The vector to format.
637
+ */
638
+ export function formatBotRotation(rotation) {
639
+ const q = rotation.quaternion;
640
+ return `🔁${q.x},${q.y},${q.z},${q.w}`;
641
+ }
642
+ /**
643
+ * Determines if the given value represents a bot rotation.
644
+ * @param value The value to check.
645
+ */
646
+ export function isBotRotation(value) {
647
+ return typeof value === 'string' && value.startsWith(ROTATION_TAG_PREFIX);
648
+ }
649
+ /**
650
+ * Parses the given value into a Rotation value.
651
+ * @param value The value to parse as a bot vector.
652
+ */
653
+ export function parseBotRotation(value) {
654
+ if (typeof value !== 'string') {
655
+ return null;
656
+ }
657
+ if (!value.startsWith('🔁')) {
658
+ return null;
659
+ }
660
+ const valueWithoutArrow = value.substring('🔁'.length);
661
+ const firstComma = valueWithoutArrow.indexOf(',');
662
+ if (firstComma < 0) {
663
+ return null;
664
+ }
665
+ const firstNumber = valueWithoutArrow.substring(0, firstComma);
666
+ const valueWithoutFirstNumber = valueWithoutArrow.substring(firstComma + 1);
667
+ const secondComma = valueWithoutFirstNumber.indexOf(',');
668
+ if (secondComma < 0) {
669
+ return null;
670
+ }
671
+ const secondNumber = valueWithoutFirstNumber.substring(0, secondComma);
672
+ const valueWithoutSecondNumber = valueWithoutFirstNumber.substring(secondComma + 1);
673
+ const thirdComma = valueWithoutSecondNumber.indexOf(',');
674
+ if (thirdComma < 0) {
675
+ return null;
676
+ }
677
+ const thirdNumber = valueWithoutSecondNumber.substring(0, thirdComma);
678
+ const fourthNumber = valueWithoutSecondNumber.substring(thirdComma + 1);
679
+ if (fourthNumber.length <= 0) {
680
+ return null;
681
+ }
682
+ return new Rotation(new Quaternion(parseNumber(firstNumber), parseNumber(secondNumber), parseNumber(thirdNumber), parseNumber(fourthNumber)));
683
+ }
684
+ /**
589
685
  * Determines if the given object is a bot.
590
686
  * @param object The object to check.
591
687
  */
@@ -991,6 +1087,21 @@ export function getBotIndex(calc, bot, dimension) {
991
1087
  * @param dimension The dimension.
992
1088
  */
993
1089
  export function getBotPosition(calc, bot, dimension) {
1090
+ const vector = calculateBotVectorTagValue(calc, bot, `${dimension}Position`, null);
1091
+ if (vector instanceof Vector2) {
1092
+ return {
1093
+ x: vector.x,
1094
+ y: vector.y,
1095
+ z: 0,
1096
+ };
1097
+ }
1098
+ else if (vector instanceof Vector3) {
1099
+ return {
1100
+ x: vector.x,
1101
+ y: vector.y,
1102
+ z: vector.z,
1103
+ };
1104
+ }
994
1105
  return {
995
1106
  x: calculateNumericalTagValue(calc, bot, `${dimension}X`, 0),
996
1107
  y: calculateNumericalTagValue(calc, bot, `${dimension}Y`, 0),
@@ -1004,11 +1115,17 @@ export function getBotPosition(calc, bot, dimension) {
1004
1115
  * @param dimension The dimension.
1005
1116
  */
1006
1117
  export function getBotRotation(calc, bot, dimension) {
1007
- return {
1008
- x: calculateNumericalTagValue(calc, bot, `${dimension}RotationX`, 0),
1009
- y: calculateNumericalTagValue(calc, bot, `${dimension}RotationY`, 0),
1010
- z: calculateNumericalTagValue(calc, bot, `${dimension}RotationZ`, 0),
1011
- };
1118
+ const rotation = calculateBotRotationTagValue(calc, bot, `${dimension}Rotation`, null);
1119
+ if (rotation) {
1120
+ return rotation;
1121
+ }
1122
+ return new Rotation({
1123
+ euler: {
1124
+ x: calculateNumericalTagValue(calc, bot, `${dimension}RotationX`, 0),
1125
+ y: calculateNumericalTagValue(calc, bot, `${dimension}RotationY`, 0),
1126
+ z: calculateNumericalTagValue(calc, bot, `${dimension}RotationZ`, 0),
1127
+ },
1128
+ });
1012
1129
  }
1013
1130
  /**
1014
1131
  * Calculates the auxScaleX, auxScaleY, and auxScaleZ values from the given object.
@@ -1277,7 +1394,7 @@ const possibleMeetPortalAnchorPoints = new Set([
1277
1394
  'right',
1278
1395
  ]);
1279
1396
  export function getPortalAnchorPoint(calc, bot, tag, defaultValue) {
1280
- const mode = (calculateBotValue(calc, bot, tag));
1397
+ const mode = calculateBotValue(calc, bot, tag);
1281
1398
  if (Array.isArray(mode)) {
1282
1399
  if (mode.every((v) => ['string', 'number'].indexOf(typeof v) >= 0)) {
1283
1400
  let result = mode.slice(0, 4);
@@ -1854,7 +1971,16 @@ export function getDimensionDefaultHeight(calc, bot) {
1854
1971
  */
1855
1972
  export function objectsAtDimensionGridPosition(calc, dimension, position) {
1856
1973
  return cacheFunction(calc, 'objectsAtDimensionGridPosition', () => {
1857
- const botsAtPosition = calc.lookup.query(calc, [dimension, `${dimension}X`, `${dimension}Y`], [true, position.x, position.y], [undefined, 0, 0]);
1974
+ let botsAtPosition = [];
1975
+ for (let bot of calc.objects) {
1976
+ if (!isBotInDimension(calc, bot, dimension)) {
1977
+ continue;
1978
+ }
1979
+ const botPos = getBotPosition(calc, bot, dimension);
1980
+ if (position.x === botPos.x && position.y === botPos.y) {
1981
+ botsAtPosition.push(bot);
1982
+ }
1983
+ }
1858
1984
  return sortBy(botsAtPosition, (o) => getBotIndex(calc, o, dimension), (o) => o.id);
1859
1985
  }, dimension, position.x, position.y);
1860
1986
  }
@@ -2086,6 +2212,28 @@ export function calculateBotIdTagValue(bot, tag, defaultValue) {
2086
2212
  }
2087
2213
  return defaultValue;
2088
2214
  }
2215
+ /**
2216
+ * Calculates the value of the given tag on the given bot as a vector.
2217
+ * @param bot The bot.
2218
+ * @param tag The tag.
2219
+ * @param defaultValue The default value to use.
2220
+ */
2221
+ export function calculateBotVectorTagValue(context, bot, tag, defaultValue) {
2222
+ const value = calculateBotValue(context, bot, tag);
2223
+ const result = parseBotVector(value);
2224
+ return result ? result : defaultValue;
2225
+ }
2226
+ /**
2227
+ * Calculates the value of the given tag on the given bot as a rotation.
2228
+ * @param bot The bot.
2229
+ * @param tag The tag.
2230
+ * @param defaultValue The default value to use.
2231
+ */
2232
+ export function calculateBotRotationTagValue(context, bot, tag, defaultValue) {
2233
+ const value = calculateBotValue(context, bot, tag);
2234
+ const result = parseBotRotation(value);
2235
+ return result ? result : defaultValue;
2236
+ }
2089
2237
  /**
2090
2238
  * Determines if the given bot is able to be destroyed.
2091
2239
  * Defaults to true.
@@ -2197,7 +2345,16 @@ export function isUserActive(calc, bot) {
2197
2345
  * @param value The value to format.
2198
2346
  */
2199
2347
  export function formatValue(value) {
2200
- if (typeof value === 'object') {
2348
+ if (isBotRotation(value)) {
2349
+ const result = parseBotRotation(value);
2350
+ if (result) {
2351
+ return result.toString();
2352
+ }
2353
+ else {
2354
+ return value;
2355
+ }
2356
+ }
2357
+ else if (typeof value === 'object') {
2201
2358
  if (!value) {
2202
2359
  return null;
2203
2360
  }