tods-competition-factory 1.8.25 → 1.8.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1298,18 +1298,21 @@ function cycleMutationStatus$1() {
1298
1298
  return status;
1299
1299
  }
1300
1300
  function addNotice$1({ topic, payload, key }) {
1301
- syncGlobalState.modified = true;
1302
1301
  if (typeof topic !== "string" || typeof payload !== "object") {
1303
1302
  return;
1304
1303
  }
1305
- if (syncGlobalState.disableNotifications || !syncGlobalState.subscriptions[topic])
1304
+ if (!syncGlobalState.disableNotifications)
1305
+ syncGlobalState.modified = true;
1306
+ if (syncGlobalState.disableNotifications || !syncGlobalState.subscriptions[topic]) {
1306
1307
  return;
1308
+ }
1307
1309
  if (key) {
1308
1310
  syncGlobalState.notices = syncGlobalState.notices.filter(
1309
1311
  (notice) => !(notice.topic === topic && notice.key === key)
1310
1312
  );
1311
1313
  }
1312
1314
  syncGlobalState.notices.push({ topic, payload, key });
1315
+ return { ...SUCCESS };
1313
1316
  }
1314
1317
  function getNotices$1({ topic }) {
1315
1318
  const notices = syncGlobalState.notices.filter((notice) => notice.topic === topic).map((notice) => notice.payload);
@@ -2387,7 +2390,7 @@ const matchUpFormatCode = {
2387
2390
  };
2388
2391
 
2389
2392
  function factoryVersion() {
2390
- return "1.8.25";
2393
+ return "1.8.26";
2391
2394
  }
2392
2395
 
2393
2396
  function getObjectTieFormat(obj) {
@@ -6451,41 +6454,6 @@ function getMatchUpType(params) {
6451
6454
  return { matchUpType };
6452
6455
  }
6453
6456
 
6454
- function modifyEntryProfile({
6455
- drawDefinition,
6456
- attributes
6457
- }) {
6458
- let { extension } = findDrawDefinitionExtension({
6459
- name: ENTRY_PROFILE,
6460
- drawDefinition
6461
- });
6462
- const entryProfile = extension?.value || {};
6463
- attributes.forEach((attribute) => {
6464
- Object.keys(attribute).forEach((key) => {
6465
- if (!entryProfile[key]) {
6466
- entryProfile[key] = attribute[key];
6467
- } else {
6468
- Object.assign(entryProfile[key], attribute[key]);
6469
- }
6470
- });
6471
- });
6472
- extension = {
6473
- name: ENTRY_PROFILE,
6474
- value: entryProfile
6475
- };
6476
- addDrawDefinitionExtension({ drawDefinition, extension });
6477
- return { entryProfile };
6478
- }
6479
-
6480
- function getEntryProfile({ drawDefinition }) {
6481
- const { extension } = findDrawDefinitionExtension({
6482
- name: ENTRY_PROFILE,
6483
- drawDefinition
6484
- });
6485
- const entryProfile = extension?.value || {};
6486
- return { entryProfile };
6487
- }
6488
-
6489
6457
  const MAIN = "MAIN";
6490
6458
  const QUALIFYING = "QUALIFYING";
6491
6459
  const CONSOLATION = "CONSOLATION";
@@ -6535,6 +6503,7 @@ const WINNER = "WINNER";
6535
6503
  const LOSER = "LOSER";
6536
6504
  const FIRST_MATCHUP = "FIRST_MATCHUP";
6537
6505
  const AD_HOC = "AD_HOC";
6506
+ const FLEX_ROUNDS = "AD_HOC";
6538
6507
  const FEED_IN$1 = "FEED_IN";
6539
6508
  const COMPASS = "COMPASS";
6540
6509
  const OLYMPIC = "OLYMPIC";
@@ -6626,6 +6595,7 @@ const drawDefinitionConstants = {
6626
6595
  LOSER,
6627
6596
  AD_HOC,
6628
6597
  FEED_IN: FEED_IN$1,
6598
+ FLEX_ROUNDS,
6629
6599
  COMPASS,
6630
6600
  PLAY_OFF,
6631
6601
  OLYMPIC,
@@ -6751,6 +6721,118 @@ function getDrawStructures({
6751
6721
  }
6752
6722
  }
6753
6723
 
6724
+ function getAllPositionedParticipantIds({
6725
+ drawDefinition
6726
+ }) {
6727
+ if (!drawDefinition)
6728
+ return { error: MISSING_DRAW_DEFINITION };
6729
+ const stagePositionedParticipantIds = {};
6730
+ const allPositionedParticipantIds = (drawDefinition.structures || []).map((structure) => {
6731
+ const stage = structure.stage;
6732
+ if (!stagePositionedParticipantIds[stage])
6733
+ stagePositionedParticipantIds[stage] = [];
6734
+ const { positionAssignments } = getPositionAssignments$1({ structure });
6735
+ const particiapntIds = positionAssignments?.map(extractAttributes("participantId")).filter(Boolean) ?? [];
6736
+ stagePositionedParticipantIds[stage].push(...particiapntIds);
6737
+ return particiapntIds;
6738
+ }).flat();
6739
+ return { allPositionedParticipantIds, stagePositionedParticipantIds };
6740
+ }
6741
+ function getPositionAssignments$1({
6742
+ drawDefinition,
6743
+ structureId,
6744
+ structure
6745
+ }) {
6746
+ let error, positionAssignments = [];
6747
+ if (!structure) {
6748
+ if (!drawDefinition) {
6749
+ return { positionAssignments, error: MISSING_DRAW_DEFINITION };
6750
+ }
6751
+ ({ structure, error } = findStructure({ drawDefinition, structureId }));
6752
+ if (error)
6753
+ return { positionAssignments, error };
6754
+ }
6755
+ if (structure.structures) {
6756
+ positionAssignments = [].concat(
6757
+ ...structure.structures.map((structure2) => {
6758
+ return getPositionAssignments$1({ structure: structure2 }).positionAssignments;
6759
+ })
6760
+ );
6761
+ } else if (structure.positionAssignments) {
6762
+ positionAssignments = structure.positionAssignments;
6763
+ } else {
6764
+ error = MISSING_POSITION_ASSIGNMENTS;
6765
+ }
6766
+ return { positionAssignments, error };
6767
+ }
6768
+ function structureAssignedDrawPositions({
6769
+ drawDefinition,
6770
+ structureId,
6771
+ structure
6772
+ }) {
6773
+ const positionAssignments = getPositionAssignments$1({
6774
+ drawDefinition,
6775
+ structureId,
6776
+ structure
6777
+ })?.positionAssignments || [];
6778
+ const assignedPositions = positionAssignments?.filter((assignment) => {
6779
+ return assignment.participantId ?? assignment.bye ?? assignment.qualifier;
6780
+ });
6781
+ const allPositionsAssigned = positionAssignments && positionAssignments?.length === assignedPositions?.length;
6782
+ const unassignedPositions = positionAssignments?.filter((assignment) => {
6783
+ return !assignment.participantId && !assignment.bye && !assignment.qualifier;
6784
+ });
6785
+ const byePositions = positionAssignments?.filter((assignment) => {
6786
+ return !assignment.participantId && assignment.bye;
6787
+ });
6788
+ const qualifierPositions = positionAssignments?.filter((assignment) => {
6789
+ return !assignment.participantId && assignment.qualifier;
6790
+ });
6791
+ return {
6792
+ allPositionsAssigned,
6793
+ positionAssignments,
6794
+ unassignedPositions,
6795
+ assignedPositions,
6796
+ qualifierPositions,
6797
+ byePositions
6798
+ };
6799
+ }
6800
+
6801
+ function modifyEntryProfile({
6802
+ drawDefinition,
6803
+ attributes
6804
+ }) {
6805
+ let { extension } = findDrawDefinitionExtension({
6806
+ name: ENTRY_PROFILE,
6807
+ drawDefinition
6808
+ });
6809
+ const entryProfile = extension?.value || {};
6810
+ attributes.forEach((attribute) => {
6811
+ Object.keys(attribute).forEach((key) => {
6812
+ if (!entryProfile[key]) {
6813
+ entryProfile[key] = attribute[key];
6814
+ } else {
6815
+ Object.assign(entryProfile[key], attribute[key]);
6816
+ }
6817
+ });
6818
+ });
6819
+ extension = {
6820
+ name: ENTRY_PROFILE,
6821
+ value: entryProfile
6822
+ };
6823
+ addDrawDefinitionExtension({ drawDefinition, extension });
6824
+ return { entryProfile };
6825
+ }
6826
+
6827
+ function getEntryProfile({ drawDefinition }) {
6828
+ const { extension } = findDrawDefinitionExtension({
6829
+ name: ENTRY_PROFILE,
6830
+ drawDefinition
6831
+ });
6832
+ const entryProfile = extension?.value || {};
6833
+ return { entryProfile };
6834
+ }
6835
+
6754
6836
  const ALTERNATE = EntryStatusEnum.Alternate;
6755
6837
  const CONFIRMED = EntryStatusEnum.Confirmed;
6756
6838
  const DIRECT_ACCEPTANCE = EntryStatusEnum.DirectAcceptance;
@@ -6992,6 +7074,7 @@ function getStageWildcardEntriesCount({ stage, drawDefinition }) {
6992
7074
 
6993
7075
  function getStructureSeedAssignments({
6994
7076
  provisionalPositioning,
7077
+ returnAllProxies,
6995
7078
  drawDefinition,
6996
7079
  structureId,
6997
7080
  structure
@@ -7000,6 +7083,9 @@ function getStructureSeedAssignments({
7000
7083
  if (!structure) {
7001
7084
  ({ structure, error } = findStructure({ drawDefinition, structureId }));
7002
7085
  }
7086
+ const positionAssignments = getPositionAssignments$1({
7087
+ structure
7088
+ }).positionAssignments;
7003
7089
  if (error || !structure)
7004
7090
  return { seedAssignments: [], error: STRUCTURE_NOT_FOUND };
7005
7091
  if (!structureId)
@@ -7013,18 +7099,22 @@ function getStructureSeedAssignments({
7013
7099
  structureId,
7014
7100
  stage
7015
7101
  });
7016
- const seedProxies = entries ? entries.filter((entry) => entry.placementGroup === 1).sort((a, b) => {
7102
+ const proxiedEntries = entries ? entries.filter((entry) => entry.placementGroup === 1).sort((a, b) => {
7017
7103
  return a.GEMscore < b.GEMscore && 1 || a.GEMscore > b.GEMscore && -1 || 0;
7018
7104
  }).map((entry, index) => {
7019
7105
  const seedNumber = index + 1;
7020
7106
  return {
7021
7107
  participantId: entry.participantId,
7022
7108
  seedValue: seedNumber,
7023
- seedNumber,
7024
- seedProxy: true
7109
+ seedProxy: true,
7025
7110
  // flag so that proxy seeding information doesn't get used externally
7111
+ seedNumber
7026
7112
  };
7027
7113
  }) : [];
7114
+ const seedProxies = proxiedEntries?.slice(
7115
+ 0,
7116
+ returnAllProxies ? proxiedEntries.length : positionAssignments.length / 2
7117
+ );
7028
7118
  if (seedProxies.length) {
7029
7119
  seedAssignments = seedProxies;
7030
7120
  } else if (structure.seedAssignments) {
@@ -7033,7 +7123,13 @@ function getStructureSeedAssignments({
7033
7123
  error = MISSING_SEED_ASSIGNMENTS;
7034
7124
  }
7035
7125
  const seedLimit = structure.seedLimit || structure?.positionAssignments?.length;
7036
- return { seedAssignments, seedLimit, stage, stageSequence, error };
7126
+ return {
7127
+ seedAssignments,
7128
+ stageSequence,
7129
+ seedLimit,
7130
+ stage,
7131
+ error
7132
+ };
7037
7133
  }
7038
7134
 
7039
7135
  function getExitProfiles({ drawDefinition }) {
@@ -7312,83 +7408,6 @@ function getSourceDrawPositionRanges({
7312
7408
  return { sourceDrawPositionRanges };
7313
7409
  }
7314
7410
 
7315
- function getAllPositionedParticipantIds({
7316
- drawDefinition
7317
- }) {
7318
- if (!drawDefinition)
7319
- return { error: MISSING_DRAW_DEFINITION };
7320
- const stagePositionedParticipantIds = {};
7321
- const allPositionedParticipantIds = (drawDefinition.structures || []).map((structure) => {
7322
- const stage = structure.stage;
7323
- if (!stagePositionedParticipantIds[stage])
7324
- stagePositionedParticipantIds[stage] = [];
7325
- const { positionAssignments } = getPositionAssignments$1({ structure });
7326
- const particiapntIds = positionAssignments?.map(extractAttributes("participantId")).filter(Boolean) ?? [];
7327
- stagePositionedParticipantIds[stage].push(...particiapntIds);
7328
- return particiapntIds;
7329
- }).flat();
7330
- return { allPositionedParticipantIds, stagePositionedParticipantIds };
7331
- }
7332
- function getPositionAssignments$1({
7333
- drawDefinition,
7334
- structureId,
7335
- structure
7336
- }) {
7337
- let error, positionAssignments = [];
7338
- if (!structure) {
7339
- if (!drawDefinition) {
7340
- return { positionAssignments, error: MISSING_DRAW_DEFINITION };
7341
- }
7342
- ({ structure, error } = findStructure({ drawDefinition, structureId }));
7343
- if (error)
7344
- return { positionAssignments, error };
7345
- }
7346
- if (structure.structures) {
7347
- positionAssignments = [].concat(
7348
- ...structure.structures.map((structure2) => {
7349
- return getPositionAssignments$1({ structure: structure2 }).positionAssignments;
7350
- })
7351
- );
7352
- } else if (structure.positionAssignments) {
7353
- positionAssignments = structure.positionAssignments;
7354
- } else {
7355
- error = MISSING_POSITION_ASSIGNMENTS;
7356
- }
7357
- return { positionAssignments, error };
7358
- }
7359
- function structureAssignedDrawPositions({
7360
- drawDefinition,
7361
- structureId,
7362
- structure
7363
- }) {
7364
- const positionAssignments = getPositionAssignments$1({
7365
- drawDefinition,
7366
- structureId,
7367
- structure
7368
- })?.positionAssignments || [];
7369
- const assignedPositions = positionAssignments?.filter((assignment) => {
7370
- return assignment.participantId ?? assignment.bye ?? assignment.qualifier;
7371
- });
7372
- const allPositionsAssigned = positionAssignments && positionAssignments?.length === assignedPositions?.length;
7373
- const unassignedPositions = positionAssignments?.filter((assignment) => {
7374
- return !assignment.participantId && !assignment.bye && !assignment.qualifier;
7375
- });
7376
- const byePositions = positionAssignments?.filter((assignment) => {
7377
- return !assignment.participantId && assignment.bye;
7378
- });
7379
- const qualifierPositions = positionAssignments?.filter((assignment) => {
7380
- return !assignment.participantId && assignment.qualifier;
7381
- });
7382
- return {
7383
- allPositionsAssigned,
7384
- positionAssignments,
7385
- unassignedPositions,
7386
- assignedPositions,
7387
- qualifierPositions,
7388
- byePositions
7389
- };
7390
- }
7391
-
7392
7411
  function getOrderedDrawPositions({
7393
7412
  drawPositions,
7394
7413
  roundProfile,
@@ -23758,6 +23777,7 @@ function getSeedingThresholds({
23758
23777
 
23759
23778
  function getValidSeedBlocks({
23760
23779
  provisionalPositioning,
23780
+ returnAllProxies,
23761
23781
  appliedPolicies,
23762
23782
  drawDefinition,
23763
23783
  allPositions,
@@ -23773,6 +23793,7 @@ function getValidSeedBlocks({
23773
23793
  });
23774
23794
  const { seedAssignments } = getStructureSeedAssignments({
23775
23795
  provisionalPositioning,
23796
+ returnAllProxies,
23776
23797
  drawDefinition,
23777
23798
  structure
23778
23799
  });
@@ -24007,6 +24028,7 @@ function getNextSeedBlock(params) {
24007
24028
  } = params;
24008
24029
  const { structure } = findStructure({ drawDefinition, structureId });
24009
24030
  const { seedAssignments } = getStructureSeedAssignments({
24031
+ returnAllProxies: params.returnAllProxies,
24010
24032
  provisionalPositioning,
24011
24033
  drawDefinition,
24012
24034
  structure
@@ -24018,6 +24040,7 @@ function getNextSeedBlock(params) {
24018
24040
  const assignedDrawPositions = positionsWithParticipants?.map((assignment) => assignment.drawPosition).filter(Boolean);
24019
24041
  const { appliedPolicies } = getAppliedPolicies({ drawDefinition });
24020
24042
  const validSeedBlocks = seedBlockInfo?.validSeedBlocks || structure && getValidSeedBlocks({
24043
+ returnAllProxies: params.returnAllProxies,
24021
24044
  provisionalPositioning,
24022
24045
  appliedPolicies,
24023
24046
  drawDefinition,
@@ -41574,8 +41597,7 @@ function randomUnseededSeparation({
41574
41597
  structureId,
41575
41598
  avoidance,
41576
41599
  drawSize,
41577
- entries,
41578
- // entries for the specific stage of drawDefinition
41600
+ // entries, // entries for the specific stage of drawDefinition
41579
41601
  event
41580
41602
  }) {
41581
41603
  if (!avoidance) {
@@ -41613,10 +41635,11 @@ function randomUnseededSeparation({
41613
41635
  const isRoundRobin = structure?.structureType === CONTAINER;
41614
41636
  const params = isRoundRobin ? { structure, matchUps, allDrawPositions, roundsToSeparate } : { matchUps, allDrawPositions, roundsToSeparate };
41615
41637
  const { drawPositionGroups, drawPositionChunks } = isRoundRobin ? roundRobinParticipantGroups(params) : eliminationParticipantGroups(params);
41616
- const idCollections = {};
41617
- idCollections.groupParticipants = participants.filter((participant) => participant.participantType === GROUP).map((participant) => participant.participantId);
41618
- idCollections.teamParticipants = participants.filter((participant) => participant.participantType === TEAM).map((participant) => participant.participantId);
41619
- idCollections.pairParticipants = participants.filter((participant) => participant.participantType === PAIR).map((participant) => participant.participantId);
41638
+ const idCollections = {
41639
+ groupParticipants: participants.filter((participant) => participant.participantType === GROUP).map((participant) => participant.participantId),
41640
+ teamParticipants: participants.filter((participant) => participant.participantType === TEAM).map((participant) => participant.participantId),
41641
+ pairParticipants: participants.filter((participant) => participant.participantType === PAIR).map((participant) => participant.participantId)
41642
+ };
41620
41643
  const allGroups = getAttributeGroupings({
41621
41644
  targetParticipantIds: unseededParticipantIds,
41622
41645
  policyAttributes,
@@ -41677,8 +41700,8 @@ function randomUnseededSeparation({
41677
41700
  policyAttributes,
41678
41701
  idCollections,
41679
41702
  allGroups,
41680
- drawSize,
41681
- entries
41703
+ drawSize
41704
+ // entries,
41682
41705
  })
41683
41706
  );
41684
41707
  const candidates = noPairPriorityCandidates.concat(...pairedPriorityCandidates).filter((candidate2) => !candidate2.errors?.length);
@@ -42048,11 +42071,11 @@ function getSeedOrderByePositions({
42048
42071
  const strictSeedOrderByePositions = getOrderedByePositions({
42049
42072
  orderedSeedDrawPositions: orderedSortedFirstRoundSeededDrawPositions,
42050
42073
  relevantMatchUps
42051
- }).slice(0, positionedSeeds.length);
42074
+ }).slice(0, byesToPlace);
42052
42075
  const blockSeedOrderByePositions = getOrderedByePositions({
42053
42076
  orderedSeedDrawPositions: blockSortedRandomDrawPositions,
42054
42077
  relevantMatchUps
42055
- }).slice(0, positionedSeeds.length);
42078
+ }).slice(0, byesToPlace);
42056
42079
  return {
42057
42080
  strictSeedOrderByePositions,
42058
42081
  blockSeedOrderByePositions,
@@ -42734,7 +42757,6 @@ function automatedPositioning$1({
42734
42757
  event
42735
42758
  }) : void 0;
42736
42759
  if (result2?.error) {
42737
- console.log("positionByes", { result: result2 });
42738
42760
  return handleErrorCondition(result2);
42739
42761
  }
42740
42762
  unseededByePositions = result2?.unseededByePositions;
@@ -42857,6 +42879,7 @@ function automatedPlayoffPositioning(params) {
42857
42879
  );
42858
42880
  const structurePositionAssignments = [];
42859
42881
  const participants = tournamentRecord?.participants;
42882
+ const positioningReports = [];
42860
42883
  if (playoffStructures) {
42861
42884
  for (const structure of playoffStructures) {
42862
42885
  const { structureId: playoffStructureId } = structure;
@@ -42878,9 +42901,11 @@ function automatedPlayoffPositioning(params) {
42878
42901
  structureId: playoffStructureId
42879
42902
  });
42880
42903
  }
42904
+ if (result.positioningReport)
42905
+ positioningReports.push(result.positioningReport);
42881
42906
  }
42882
42907
  }
42883
- return { ...SUCCESS, structurePositionAssignments };
42908
+ return { ...SUCCESS, structurePositionAssignments, positioningReports };
42884
42909
  }
42885
42910
 
42886
42911
  function generateAndPopulateRRplayoffStructures(params) {
@@ -43543,9 +43568,15 @@ function getStructureGroups({
43543
43568
  }
43544
43569
 
43545
43570
  function generateQualifyingStructure$1(params) {
43546
- if (!params.drawDefinition)
43547
- return { error: MISSING_DRAW_DEFINITION };
43548
43571
  const stack = "generateQualifyingStructure";
43572
+ if (!params.drawDefinition)
43573
+ return decorateResult({
43574
+ result: { error: MISSING_DRAW_DEFINITION },
43575
+ stack
43576
+ });
43577
+ if (params.drawSize && !isConvertableInteger(params.drawSize) || params.participantsCount && !isConvertableInteger(params.participantsCount) || params.qualifyingPositions && !isConvertableInteger(params.qualifyingPositions)) {
43578
+ return decorateResult({ result: { error: INVALID_VALUES }, stack });
43579
+ }
43549
43580
  let drawSize = params.drawSize ?? coerceEven(params.participantsCount);
43550
43581
  const {
43551
43582
  qualifyingRoundNumber,
@@ -43563,13 +43594,22 @@ function generateQualifyingStructure$1(params) {
43563
43594
  isMock,
43564
43595
  uuids
43565
43596
  } = params;
43597
+ if (!params.drawSize)
43598
+ return decorateResult({
43599
+ result: { error: MISSING_DRAW_SIZE },
43600
+ context: { drawSize },
43601
+ stack
43602
+ });
43603
+ if (qualifyingPositions && qualifyingPositions >= params.drawSize)
43604
+ return decorateResult({
43605
+ result: { error: INVALID_VALUES },
43606
+ context: { drawSize, qualifyingPositions },
43607
+ stack
43608
+ });
43566
43609
  let roundLimit, roundsCount, structure, matchUps;
43567
43610
  let qualifiersCount = 0;
43568
43611
  let finishingPositions;
43569
43612
  const stageSequence = 1;
43570
- if (!isConvertableInteger(drawSize)) {
43571
- return decorateResult({ result: { error: MISSING_DRAW_SIZE }, stack });
43572
- }
43573
43613
  const { structureProfiles } = getStructureGroups({ drawDefinition });
43574
43614
  const structureProfile = structureProfiles[targetStructureId];
43575
43615
  if (!structureProfile) {
@@ -47929,6 +47969,7 @@ function getValidAssignmentActions({
47929
47969
  if (!ignoreSeedPositions) {
47930
47970
  const result = getNextSeedBlock({
47931
47971
  provisionalPositioning,
47972
+ returnAllProxies: true,
47932
47973
  randomize: true,
47933
47974
  drawDefinition,
47934
47975
  structureId,
@@ -48454,6 +48495,7 @@ function positionActions$1(params) {
48454
48495
  action: SEED_VALUE
48455
48496
  }) && isAvailableAction({ policyActions, action: SEED_VALUE }) && isValidSeedPosition({ drawDefinition, structureId, drawPosition }) && validToAssignSeed) {
48456
48497
  const { seedAssignments } = getStructureSeedAssignments({
48498
+ returnAllProxies: true,
48457
48499
  drawDefinition,
48458
48500
  structure
48459
48501
  });
@@ -48480,6 +48522,7 @@ function positionActions$1(params) {
48480
48522
  action: REMOVE_SEED
48481
48523
  }) && isAvailableAction({ policyActions, action: REMOVE_SEED }) && isValidSeedPosition({ drawDefinition, structureId, drawPosition }) && validToAssignSeed) {
48482
48524
  const { seedAssignments } = getStructureSeedAssignments({
48525
+ returnAllProxies: true,
48483
48526
  drawDefinition,
48484
48527
  structure
48485
48528
  });