@openspecui/web 2.1.4 → 2.1.5

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 (65) hide show
  1. package/dist/assets/CanvasRenderer-Dl9FZnWi.js +1 -0
  2. package/dist/assets/WebGLRenderer-Z8aGBluV.js +1 -0
  3. package/dist/assets/WebGPURenderer-BKedQdM5.js +1 -0
  4. package/dist/assets/browserAll-DE1N916u.js +1 -0
  5. package/dist/assets/dist-2FkkoD3P.js +1 -0
  6. package/dist/assets/{dist-BTVRljcR.js → dist-7p71ej3g.js} +1 -1
  7. package/dist/assets/{dist-BrT5ZB4u.js → dist-AwPcfIRI.js} +1 -1
  8. package/dist/assets/{dist-CmBUS2pv.js → dist-BARtys-s.js} +1 -1
  9. package/dist/assets/{dist-CTInPrv9.js → dist-BHPSfyFv.js} +1 -1
  10. package/dist/assets/{dist-CzSFLuL_.js → dist-BMjoDAB2.js} +1 -1
  11. package/dist/assets/{dist-D2RwSjME.js → dist-Byni_J74.js} +1 -1
  12. package/dist/assets/{dist-2NaYosWh.js → dist-DAFWNF79.js} +1 -1
  13. package/dist/assets/{dist-C4xLUyJU.js → dist-DDlcRW9M.js} +1 -1
  14. package/dist/assets/{dist-DgX3giV5.js → dist-DXCnQn33.js} +1 -1
  15. package/dist/assets/dist-G-xlN3tL.js +1 -0
  16. package/dist/assets/dist-I1IZGogH.js +1 -0
  17. package/dist/assets/{ghostty-web-D47FqPw6.js → ghostty-web-PKDWDihc.js} +1 -1
  18. package/dist/assets/{index-DG_B7CJb.js → index-HFZM23sv.js} +130 -130
  19. package/dist/assets/{init-2-IXz72e.js → init-B6-kNDaG.js} +1 -1
  20. package/dist/assets/trpc-Btt9QJAM.js +1 -0
  21. package/dist/assets/webworkerAll-B7LwJl0z.js +1 -0
  22. package/dist/index.html +1 -1
  23. package/dist-ssg/client/.vite/ssr-manifest.json +18 -15
  24. package/dist-ssg/client/assets/CanvasRenderer-7S7Ddp0G.js +1 -0
  25. package/dist-ssg/client/assets/WebGLRenderer-CKwPDlXs.js +1 -0
  26. package/dist-ssg/client/assets/WebGPURenderer-BrEcp9LP.js +1 -0
  27. package/dist-ssg/client/assets/browserAll-Btch484-.js +1 -0
  28. package/dist-ssg/client/assets/{dist-DsY2cCQF.js → dist-B97RG9Rf.js} +1 -1
  29. package/dist-ssg/client/assets/{dist-Y4Qwa-SE.js → dist-BcnHdahC.js} +1 -1
  30. package/dist-ssg/client/assets/dist-Bmagk2t8.js +1 -0
  31. package/dist-ssg/client/assets/dist-BrHZNxws.js +1 -0
  32. package/dist-ssg/client/assets/{dist-D19jF2Jl.js → dist-BvAvC6sU.js} +1 -1
  33. package/dist-ssg/client/assets/{dist-CvcfGJJo.js → dist-BxwAGCkL.js} +1 -1
  34. package/dist-ssg/client/assets/{dist-BIEfJi38.js → dist-CnLT-afw.js} +1 -1
  35. package/dist-ssg/client/assets/{dist-BEtm8eJw.js → dist-DUNsVj49.js} +1 -1
  36. package/dist-ssg/client/assets/dist-Dictfg2B.js +1 -0
  37. package/dist-ssg/client/assets/{dist-BQNvK_3l.js → dist-DqrJ762V.js} +1 -1
  38. package/dist-ssg/client/assets/{dist-CLDI68tg.js → dist-DwL8Ypg7.js} +1 -1
  39. package/dist-ssg/client/assets/{dist-BJ3y0n4E.js → dist-n5FufvGO.js} +1 -1
  40. package/dist-ssg/client/assets/{ghostty-web-BgUruDpm.js → ghostty-web-b0kcltTA.js} +1 -1
  41. package/dist-ssg/client/assets/{index.ssg-B5w5GXyx.js → index.ssg-BjvhnIZP.js} +138 -138
  42. package/dist-ssg/client/assets/{init-ABBNgqUV.js → init-BZ7dHfew.js} +1 -1
  43. package/dist-ssg/client/assets/trpc-DuUPxNGQ.js +1 -0
  44. package/dist-ssg/client/assets/webworkerAll-D1aQ1PY7.js +1 -0
  45. package/dist-ssg/client/index.ssg.html +1 -1
  46. package/dist-ssg/server/entry-server.js +23 -12
  47. package/package.json +1 -1
  48. package/dist/assets/CanvasRenderer-KAAm7LZA.js +0 -1
  49. package/dist/assets/WebGLRenderer-B9M4OWqi.js +0 -1
  50. package/dist/assets/WebGPURenderer-DUl1R9TQ.js +0 -1
  51. package/dist/assets/browserAll-CPLObGbz.js +0 -1
  52. package/dist/assets/dist-BpNz0wXg.js +0 -1
  53. package/dist/assets/dist-BwEZ1BjI.js +0 -1
  54. package/dist/assets/dist-D_Mefl-e.js +0 -1
  55. package/dist/assets/trpc-Dmbg5-3U.js +0 -1
  56. package/dist/assets/webworkerAll-Cslz2r8a.js +0 -1
  57. package/dist-ssg/client/assets/CanvasRenderer-DbQke82i.js +0 -1
  58. package/dist-ssg/client/assets/WebGLRenderer-B_XIn5Vk.js +0 -1
  59. package/dist-ssg/client/assets/WebGPURenderer-DMiifBxH.js +0 -1
  60. package/dist-ssg/client/assets/browserAll-BOxleJX6.js +0 -1
  61. package/dist-ssg/client/assets/dist-DSG6al-A.js +0 -1
  62. package/dist-ssg/client/assets/dist-DauGZ96x.js +0 -1
  63. package/dist-ssg/client/assets/dist-Isiir4ba.js +0 -1
  64. package/dist-ssg/client/assets/trpc-D8iiQFhg.js +0 -1
  65. package/dist-ssg/client/assets/webworkerAll-DAj2DFII.js +0 -1
@@ -1 +1 @@
1
- import{it as e}from"./Geometry-CNDxiJq_.js";import{a as t,i as n}from"./index.ssg-B5w5GXyx.js";e.add(n),e.add(t);
1
+ import{it as e}from"./Geometry-CNDxiJq_.js";import{a as t,i as n}from"./index.ssg-BjvhnIZP.js";e.add(n),e.add(t);
@@ -0,0 +1 @@
1
+ import{F as e}from"./index.ssg-BjvhnIZP.js";export{e as trpcClient};
@@ -0,0 +1 @@
1
+ import"./Geometry-CNDxiJq_.js";import"./index.ssg-BjvhnIZP.js";import"./init-BZ7dHfew.js";
@@ -35,7 +35,7 @@
35
35
  document.head.append(preconnectApi, preconnectStatic, stylesheet)
36
36
  })()
37
37
  </script>
38
- <script type="module" crossorigin src="/assets/index.ssg-B5w5GXyx.js"></script>
38
+ <script type="module" crossorigin src="/assets/index.ssg-BjvhnIZP.js"></script>
39
39
  <link rel="modulepreload" crossorigin href="/assets/chunk-DECur_0Z.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/dist-QUHuPJsA.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/dist-BGaHY1kO.js">
@@ -32472,6 +32472,15 @@ function PathMarquee({ children: path, maxWidth = 300, duration = 10, gap = 20,
32472
32472
  })]
32473
32473
  });
32474
32474
  }
32475
+ function compareDashboardItemsByUpdatedAt(left, right) {
32476
+ return right.updatedAt - left.updatedAt || left.id.localeCompare(right.id);
32477
+ }
32478
+ function sortDashboardItemsByUpdatedAt(items) {
32479
+ return [...items].sort(compareDashboardItemsByUpdatedAt);
32480
+ }
32481
+ function selectRecentDashboardItems(items, limit = 10) {
32482
+ return sortDashboardItemsByUpdatedAt(items).slice(0, Math.max(0, Math.trunc(limit)));
32483
+ }
32475
32484
  //#endregion
32476
32485
  //#region ../core/src/opsx-display-path.ts
32477
32486
  var VIRTUAL_PROJECT_DIRNAME = "project";
@@ -39590,33 +39599,35 @@ async function getDashboardOverview() {
39590
39599
  }
39591
39600
  const trendPointLimit = Math.max(20, Math.min(500, Math.trunc(snapshot.config?.dashboard?.trendPointLimit ?? DASHBOARD_TREND_POINT_LIMIT)));
39592
39601
  const rightEdgeTs = snapshot.git?.latestCommitTs ?? null;
39593
- const specifications = snapshot.specs.map((spec) => ({
39602
+ const allSpecifications = snapshot.specs.map((spec) => ({
39594
39603
  id: spec.id,
39595
39604
  name: spec.name,
39596
39605
  requirements: spec.requirements.length,
39597
39606
  updatedAt: spec.updatedAt
39598
- })).sort((a, b) => b.requirements - a.requirements || b.updatedAt - a.updatedAt);
39599
- const activeChanges = snapshot.changes.map((change) => ({
39607
+ }));
39608
+ const specifications = selectRecentDashboardItems(allSpecifications);
39609
+ const allActiveChanges = snapshot.changes.map((change) => ({
39600
39610
  id: change.id,
39601
39611
  name: change.name,
39602
39612
  progress: change.progress,
39603
39613
  updatedAt: change.updatedAt
39604
- })).sort((a, b) => b.updatedAt - a.updatedAt);
39605
- const requirements = specifications.reduce((sum, spec) => sum + spec.requirements, 0);
39606
- const tasksTotal = activeChanges.reduce((sum, change) => sum + change.progress.total, 0);
39607
- const tasksCompleted = activeChanges.reduce((sum, change) => sum + change.progress.completed, 0);
39614
+ }));
39615
+ const activeChanges = selectRecentDashboardItems(allActiveChanges);
39616
+ const requirements = allSpecifications.reduce((sum, spec) => sum + spec.requirements, 0);
39617
+ const tasksTotal = allActiveChanges.reduce((sum, change) => sum + change.progress.total, 0);
39618
+ const tasksCompleted = allActiveChanges.reduce((sum, change) => sum + change.progress.completed, 0);
39608
39619
  const archivedTasksCompleted = snapshot.archives.reduce((sum, archive) => sum + archive.parsedTasks.length, 0);
39609
39620
  const taskCompletionPercent = tasksTotal > 0 ? Math.round(tasksCompleted / tasksTotal * 100) : null;
39610
- const inProgressChanges = activeChanges.filter((change) => change.progress.total > 0 && change.progress.completed < change.progress.total).length;
39621
+ const inProgressChanges = allActiveChanges.filter((change) => change.progress.total > 0 && change.progress.completed < change.progress.total).length;
39611
39622
  const trends = buildStaticObjectiveTrends(snapshot, trendPointLimit, rightEdgeTs);
39612
- const hasObjectiveSpecificationTrend = trends.specifications.length > 0 || specifications.length === 0;
39623
+ const hasObjectiveSpecificationTrend = trends.specifications.length > 0 || allSpecifications.length === 0;
39613
39624
  const hasObjectiveRequirementTrend = trends.requirements.length > 0 || requirements === 0;
39614
39625
  const hasObjectiveCompletedTrend = trends.completedChanges.length > 0 || snapshot.archives.length === 0;
39615
39626
  return {
39616
39627
  summary: {
39617
- specifications: specifications.length,
39628
+ specifications: allSpecifications.length,
39618
39629
  requirements,
39619
- activeChanges: activeChanges.length,
39630
+ activeChanges: allActiveChanges.length,
39620
39631
  inProgressChanges,
39621
39632
  completedChanges: snapshot.archives.length,
39622
39633
  archivedTasksCompleted,
@@ -136504,7 +136515,7 @@ function Dashboard() {
136504
136515
  renderExecutionSnapshot(),
136505
136516
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
136506
136517
  className: "grid gap-3 xl:grid-cols-2",
136507
- children: [renderSpecificationsSection(), renderActiveChangesSection()]
136518
+ children: [renderActiveChangesSection(), renderSpecificationsSection()]
136508
136519
  })
136509
136520
  ]
136510
136521
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openspecui/web",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "openspecui-ssg": "./dist-ssg/ssg-cli.mjs"
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import{r as e}from"./index-DG_B7CJb.js";export{e as CanvasRenderer};
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import{n as e}from"./index-DG_B7CJb.js";export{e as WebGLRenderer};
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import{t as e}from"./index-DG_B7CJb.js";export{e as WebGPURenderer};
@@ -1 +0,0 @@
1
- import{it as e,x as t}from"./Geometry-CNDxiJq_.js";import{c as n,l as r,o as i,s as a}from"./index-DG_B7CJb.js";import"./init-2-IXz72e.js";e.add(r),e.mixin(t,n),e.add(a),e.mixin(t,i);
@@ -1 +0,0 @@
1
- import"./dist-QUHuPJsA.js";import{T as e}from"./index-DG_B7CJb.js";export{e as css};
@@ -1 +0,0 @@
1
- import"./dist-QUHuPJsA.js";import{k as e}from"./index-DG_B7CJb.js";export{e as json};
@@ -1 +0,0 @@
1
- import"./dist-QUHuPJsA.js";import{u as e}from"./index-DG_B7CJb.js";export{e as yaml};
@@ -1 +0,0 @@
1
- import{F as e}from"./index-DG_B7CJb.js";export{e as trpcClient};
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import"./index-DG_B7CJb.js";import"./init-2-IXz72e.js";
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import{r as e}from"./index.ssg-B5w5GXyx.js";export{e as CanvasRenderer};
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import{n as e}from"./index.ssg-B5w5GXyx.js";export{e as WebGLRenderer};
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import{t as e}from"./index.ssg-B5w5GXyx.js";export{e as WebGPURenderer};
@@ -1 +0,0 @@
1
- import{it as e,x as t}from"./Geometry-CNDxiJq_.js";import{c as n,l as r,o as i,s as a}from"./index.ssg-B5w5GXyx.js";import"./init-ABBNgqUV.js";e.add(r),e.mixin(t,n),e.add(a),e.mixin(t,i);
@@ -1 +0,0 @@
1
- import"./dist-QUHuPJsA.js";import{u as e}from"./index.ssg-B5w5GXyx.js";export{e as yaml};
@@ -1 +0,0 @@
1
- import"./dist-QUHuPJsA.js";import{k as e}from"./index.ssg-B5w5GXyx.js";export{e as json};
@@ -1 +0,0 @@
1
- import"./dist-QUHuPJsA.js";import{T as e}from"./index.ssg-B5w5GXyx.js";export{e as css};
@@ -1 +0,0 @@
1
- import{F as e}from"./index.ssg-B5w5GXyx.js";export{e as trpcClient};
@@ -1 +0,0 @@
1
- import"./Geometry-CNDxiJq_.js";import"./index.ssg-B5w5GXyx.js";import"./init-ABBNgqUV.js";