@lv-x-software-house/x_view 1.2.8-dev.16 → 1.2.8-dev.17

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.js CHANGED
@@ -16252,10 +16252,10 @@ function XViewScene({
16252
16252
  timelineNodes.push(nodeInfo);
16253
16253
  });
16254
16254
  if (timelineNodes.length === 0) return;
16255
- const sortedTimePoints = Array.from(allTimePoints).sort((a, b) => a - b);
16256
- const maxTimeIndex = sortedTimePoints.length - 1;
16255
+ const sortedTimePoints2 = Array.from(allTimePoints).sort((a, b) => a - b);
16256
+ const maxTimeIndex = sortedTimePoints2.length - 1;
16257
16257
  const timeToYMap = new Map(
16258
- sortedTimePoints.map((time, index) => [
16258
+ sortedTimePoints2.map((time, index) => [
16259
16259
  time,
16260
16260
  (index - maxTimeIndex) * TIMELINE_LAYER_SPACING_Y
16261
16261
  ])
@@ -16413,11 +16413,11 @@ function XViewScene({
16413
16413
  }
16414
16414
  });
16415
16415
  if (timelineNodes.length === 0) return;
16416
- const sortedTimePoints = Array.from(allTimePoints).sort((a, b) => a - b);
16416
+ const maxTimeIndex = sortedTimePoints.length - 1;
16417
16417
  const timeToYMap = new Map(
16418
16418
  sortedTimePoints.map((time, index) => [
16419
16419
  time,
16420
- index * TIMELINE_LAYER_SPACING_Y
16420
+ (index - maxTimeIndex) * TIMELINE_LAYER_SPACING_Y
16421
16421
  ])
16422
16422
  );
16423
16423
  timelineNodes.sort(
@@ -16425,11 +16425,27 @@ function XViewScene({
16425
16425
  );
16426
16426
  const baseX = sourceMesh.position.x + TIMELINE_NODE_SPACING_X;
16427
16427
  const baseY = sourceMesh.position.y;
16428
- const maxNodeIndex = timelineNodes.length - 1;
16429
- timelineNodes.forEach((node, index) => {
16428
+ const columns = [];
16429
+ timelineNodes.forEach((node) => {
16430
16430
  const { mesh, type, startDate, endDate, label } = node;
16431
- const y = baseY + (index - maxNodeIndex) * TIMELINE_LAYER_SPACING_Y;
16432
- const versionTween = new import_tween2.Tween(mesh.position).to({ x: baseX, y, z: 0 }, 1500).easing(import_tween2.Easing.Cubic.InOut);
16431
+ const startY = timeToYMap.get(startDate.getTime());
16432
+ const endY = timeToYMap.get(endDate.getTime()) || startY;
16433
+ let foundColumn = false;
16434
+ for (let i = 0; i < columns.length; i++) {
16435
+ if (columns[i].endY < startY) {
16436
+ node.columnIndex = i;
16437
+ columns[i].endY = endY;
16438
+ foundColumn = true;
16439
+ break;
16440
+ }
16441
+ }
16442
+ if (!foundColumn) {
16443
+ node.columnIndex = columns.length;
16444
+ columns.push({ endY });
16445
+ }
16446
+ const x = baseX + node.columnIndex * TIMELINE_NODE_SPACING_X;
16447
+ const y = baseY + startY;
16448
+ const versionTween = new import_tween2.Tween(mesh.position).to({ x, y, z: 0 }, 1500).easing(import_tween2.Easing.Cubic.InOut);
16433
16449
  tweenGroup.add(versionTween);
16434
16450
  versionTween.start();
16435
16451
  if (!mesh.getObjectByName("questDateLabel")) {
@@ -16797,11 +16813,11 @@ function XViewScene({
16797
16813
  }
16798
16814
  }
16799
16815
  });
16800
- const sortedTimePoints = Array.from(allActiveTimePoints).sort(
16816
+ const sortedTimePoints2 = Array.from(allActiveTimePoints).sort(
16801
16817
  (a, b) => a - b
16802
16818
  );
16803
16819
  const timeToYMap = /* @__PURE__ */ new Map();
16804
- sortedTimePoints.forEach((ms, idx) => {
16820
+ sortedTimePoints2.forEach((ms, idx) => {
16805
16821
  timeToYMap.set(ms, idx * TIMELINE_LAYER_SPACING_Y);
16806
16822
  });
16807
16823
  const startX = -((QUEST_STATUS_ORDER.length - 1) * QUEST_LENS_COLUMN_SPACING) / 2;
@@ -16820,7 +16836,7 @@ function XViewScene({
16820
16836
  if (!timeInfo.isUndated) {
16821
16837
  nodeY = timeToYMap.get(timeInfo.startDate.getTime());
16822
16838
  } else {
16823
- const undatedOffset = sortedTimePoints.length > 0 ? sortedTimePoints.length * 5 : 0;
16839
+ const undatedOffset = sortedTimePoints2.length > 0 ? sortedTimePoints2.length * 5 : 0;
16824
16840
  nodeY = -40 - rowIndex * QUEST_LENS_ROW_SPACING - undatedOffset;
16825
16841
  }
16826
16842
  const posKey = `${statusName}_${nodeY}`;
@@ -16903,7 +16919,7 @@ function XViewScene({
16903
16919
  if (!timeInfo.isUndated) {
16904
16920
  targetY = timeToYMap.get(timeInfo.startDate.getTime());
16905
16921
  } else {
16906
- const undatedOffset = sortedTimePoints.length > 0 ? sortedTimePoints.length * 5 : 0;
16922
+ const undatedOffset = sortedTimePoints2.length > 0 ? sortedTimePoints2.length * 5 : 0;
16907
16923
  targetY = -40 - rowIndex * QUEST_LENS_ROW_SPACING - undatedOffset;
16908
16924
  }
16909
16925
  const posKey = `${statusName}_${targetY}`;
package/dist/index.mjs CHANGED
@@ -16315,10 +16315,10 @@ function XViewScene({
16315
16315
  timelineNodes.push(nodeInfo);
16316
16316
  });
16317
16317
  if (timelineNodes.length === 0) return;
16318
- const sortedTimePoints = Array.from(allTimePoints).sort((a, b) => a - b);
16319
- const maxTimeIndex = sortedTimePoints.length - 1;
16318
+ const sortedTimePoints2 = Array.from(allTimePoints).sort((a, b) => a - b);
16319
+ const maxTimeIndex = sortedTimePoints2.length - 1;
16320
16320
  const timeToYMap = new Map(
16321
- sortedTimePoints.map((time, index) => [
16321
+ sortedTimePoints2.map((time, index) => [
16322
16322
  time,
16323
16323
  (index - maxTimeIndex) * TIMELINE_LAYER_SPACING_Y
16324
16324
  ])
@@ -16476,11 +16476,11 @@ function XViewScene({
16476
16476
  }
16477
16477
  });
16478
16478
  if (timelineNodes.length === 0) return;
16479
- const sortedTimePoints = Array.from(allTimePoints).sort((a, b) => a - b);
16479
+ const maxTimeIndex = sortedTimePoints.length - 1;
16480
16480
  const timeToYMap = new Map(
16481
16481
  sortedTimePoints.map((time, index) => [
16482
16482
  time,
16483
- index * TIMELINE_LAYER_SPACING_Y
16483
+ (index - maxTimeIndex) * TIMELINE_LAYER_SPACING_Y
16484
16484
  ])
16485
16485
  );
16486
16486
  timelineNodes.sort(
@@ -16488,11 +16488,27 @@ function XViewScene({
16488
16488
  );
16489
16489
  const baseX = sourceMesh.position.x + TIMELINE_NODE_SPACING_X;
16490
16490
  const baseY = sourceMesh.position.y;
16491
- const maxNodeIndex = timelineNodes.length - 1;
16492
- timelineNodes.forEach((node, index) => {
16491
+ const columns = [];
16492
+ timelineNodes.forEach((node) => {
16493
16493
  const { mesh, type, startDate, endDate, label } = node;
16494
- const y = baseY + (index - maxNodeIndex) * TIMELINE_LAYER_SPACING_Y;
16495
- const versionTween = new Tween2(mesh.position).to({ x: baseX, y, z: 0 }, 1500).easing(Easing2.Cubic.InOut);
16494
+ const startY = timeToYMap.get(startDate.getTime());
16495
+ const endY = timeToYMap.get(endDate.getTime()) || startY;
16496
+ let foundColumn = false;
16497
+ for (let i = 0; i < columns.length; i++) {
16498
+ if (columns[i].endY < startY) {
16499
+ node.columnIndex = i;
16500
+ columns[i].endY = endY;
16501
+ foundColumn = true;
16502
+ break;
16503
+ }
16504
+ }
16505
+ if (!foundColumn) {
16506
+ node.columnIndex = columns.length;
16507
+ columns.push({ endY });
16508
+ }
16509
+ const x = baseX + node.columnIndex * TIMELINE_NODE_SPACING_X;
16510
+ const y = baseY + startY;
16511
+ const versionTween = new Tween2(mesh.position).to({ x, y, z: 0 }, 1500).easing(Easing2.Cubic.InOut);
16496
16512
  tweenGroup.add(versionTween);
16497
16513
  versionTween.start();
16498
16514
  if (!mesh.getObjectByName("questDateLabel")) {
@@ -16860,11 +16876,11 @@ function XViewScene({
16860
16876
  }
16861
16877
  }
16862
16878
  });
16863
- const sortedTimePoints = Array.from(allActiveTimePoints).sort(
16879
+ const sortedTimePoints2 = Array.from(allActiveTimePoints).sort(
16864
16880
  (a, b) => a - b
16865
16881
  );
16866
16882
  const timeToYMap = /* @__PURE__ */ new Map();
16867
- sortedTimePoints.forEach((ms, idx) => {
16883
+ sortedTimePoints2.forEach((ms, idx) => {
16868
16884
  timeToYMap.set(ms, idx * TIMELINE_LAYER_SPACING_Y);
16869
16885
  });
16870
16886
  const startX = -((QUEST_STATUS_ORDER.length - 1) * QUEST_LENS_COLUMN_SPACING) / 2;
@@ -16883,7 +16899,7 @@ function XViewScene({
16883
16899
  if (!timeInfo.isUndated) {
16884
16900
  nodeY = timeToYMap.get(timeInfo.startDate.getTime());
16885
16901
  } else {
16886
- const undatedOffset = sortedTimePoints.length > 0 ? sortedTimePoints.length * 5 : 0;
16902
+ const undatedOffset = sortedTimePoints2.length > 0 ? sortedTimePoints2.length * 5 : 0;
16887
16903
  nodeY = -40 - rowIndex * QUEST_LENS_ROW_SPACING - undatedOffset;
16888
16904
  }
16889
16905
  const posKey = `${statusName}_${nodeY}`;
@@ -16966,7 +16982,7 @@ function XViewScene({
16966
16982
  if (!timeInfo.isUndated) {
16967
16983
  targetY = timeToYMap.get(timeInfo.startDate.getTime());
16968
16984
  } else {
16969
- const undatedOffset = sortedTimePoints.length > 0 ? sortedTimePoints.length * 5 : 0;
16985
+ const undatedOffset = sortedTimePoints2.length > 0 ? sortedTimePoints2.length * 5 : 0;
16970
16986
  targetY = -40 - rowIndex * QUEST_LENS_ROW_SPACING - undatedOffset;
16971
16987
  }
16972
16988
  const posKey = `${statusName}_${targetY}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lv-x-software-house/x_view",
3
- "version": "1.2.8-dev.16",
3
+ "version": "1.2.8-dev.17",
4
4
  "description": "Pacote privado contendo os componentes e lógica de renderização 3D do X View.",
5
5
  "author": "iv.x - Engenharia de Software - ivxsoftwarehouse@gmail.com",
6
6
  "license": "UNLICENSED",