@openspecui/web 9.0.1 → 9.0.3
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/assets/App-CKmWaGbS.css +1 -0
- package/dist/assets/{App-CEbaO9p7.js → App-CvmsDCVQ.js} +135 -135
- package/dist/assets/{main-MGKIORYy.js → main-ENsuRQWu.js} +2 -2
- package/dist/assets/{trpc-BVbs2EGH.js → trpc-WfwUyRJj.js} +1 -1
- package/dist/index.html +1 -1
- package/dist-ssg/client/.vite/ssr-manifest.json +29 -29
- package/dist-ssg/client/assets/CanvasRenderer-BhcfZraw.js +1 -0
- package/dist-ssg/client/assets/WebGLRenderer-BMU-g2CE.js +1 -0
- package/dist-ssg/client/assets/WebGPURenderer-BAsbFOnm.js +1 -0
- package/dist-ssg/client/assets/browserAll-DzAH94Dz.js +1 -0
- package/dist-ssg/client/assets/{config-guide-presentation-C4Z-0SFk.js → config-guide-presentation-Cn3kSpXZ.js} +1 -1
- package/dist-ssg/client/assets/{dist-lYx3EWfZ.js → dist-BM1aVB3p.js} +1 -1
- package/dist-ssg/client/assets/{dist-BKobWYD3.js → dist-BVC-3Mz_.js} +1 -1
- package/dist-ssg/client/assets/dist-CdxtXLZp.js +1 -0
- package/dist-ssg/client/assets/{dist-ClUVC_84.js → dist-CfapX6Lr.js} +1 -1
- package/dist-ssg/client/assets/{dist-D1Kgfdnc.js → dist-DSbjfgtE.js} +1 -1
- package/dist-ssg/client/assets/{dist-k_96dSjT.js → dist-DTfE1AGY.js} +1 -1
- package/dist-ssg/client/assets/{dist-Bcjlb1bO.js → dist-D_8785UD.js} +1 -1
- package/dist-ssg/client/assets/{dist-B6W3pPHs.js → dist-Dq7tP1jy.js} +1 -1
- package/dist-ssg/client/assets/dist-Dw6bnxbK.js +1 -0
- package/dist-ssg/client/assets/{dist-D64HT2KR.js → dist-URgAfvaG.js} +1 -1
- package/dist-ssg/client/assets/{dist-PiPP3-Ah.js → dist-bIKkmeGM.js} +1 -1
- package/dist-ssg/client/assets/dist-nRw76b0P.js +1 -0
- package/dist-ssg/client/assets/{ghostty-web-BIYzTj9q.js → ghostty-web-CepiWfia.js} +1 -1
- package/dist-ssg/client/assets/index-CltZALZD.css +1 -0
- package/dist-ssg/client/assets/{index.ssg-BtuMbAm3.js → index.ssg-DAtF3E31.js} +24 -24
- package/dist-ssg/client/assets/{init-l-kQXEeR.js → init-BOhrbGmd.js} +1 -1
- package/dist-ssg/client/assets/{trpc-CHrTaCNa.js → trpc-CfpujRJ8.js} +1 -1
- package/dist-ssg/client/assets/webworkerAll-BPYJdLSv.js +1 -0
- package/dist-ssg/client/index.ssg.html +2 -2
- package/dist-ssg/server/assets/CanvasRenderer-k_tFIFoA.js +3 -0
- package/dist-ssg/server/assets/WebGLRenderer-cfN96M_D.js +3 -0
- package/dist-ssg/server/assets/WebGPURenderer-moX8CQUm.js +3 -0
- package/dist-ssg/server/assets/{browserAll-DmyvKJDK.js → browserAll-BJZwRDaI.js} +2 -2
- package/dist-ssg/server/assets/{config-guide-presentation-r59qmEkS.js → config-guide-presentation-CcpWbzbF.js} +1 -1
- package/dist-ssg/server/assets/{dist-DgvOnKuT.js → dist-BZbvCEXY.js} +1 -1
- package/dist-ssg/server/assets/{dist-DlZIJzsh.js → dist-BbKu_y6W.js} +1 -1
- package/dist-ssg/server/assets/dist-Bosp3yvI.js +3 -0
- package/dist-ssg/server/assets/{dist-jJpwOzat.js → dist-C0TNMvo3.js} +1 -1
- package/dist-ssg/server/assets/{dist-DRkFTPqz.js → dist-C7cu-Ohs.js} +1 -1
- package/dist-ssg/server/assets/{dist-BaqegCo3.js → dist-CTDTyhyq.js} +1 -1
- package/dist-ssg/server/assets/dist-CgFGYGuV.js +3 -0
- package/dist-ssg/server/assets/{dist-0Gp0z2-n.js → dist-CmkO24b2.js} +1 -1
- package/dist-ssg/server/assets/{dist-BSrtv0FL.js → dist-Cxmy4PRF.js} +1 -1
- package/dist-ssg/server/assets/dist-DaxZJMDX.js +3 -0
- package/dist-ssg/server/assets/{dist-DfJANrLX.js → dist-FpVzh8vE.js} +1 -1
- package/dist-ssg/server/assets/{dist-rENGOe6I.js → dist-glvfDQXi.js} +1 -1
- package/dist-ssg/server/assets/{entry-server-BzFP1YY0.js → entry-server-D-Z6rVrS.js} +127 -55
- package/dist-ssg/server/assets/{init-Bx_sRhIx.js → init-CCY3tsKc.js} +1 -1
- package/dist-ssg/server/assets/trpc-4dLqTVBm.js +3 -0
- package/dist-ssg/server/assets/webworkerAll-DVUDp5xO.js +4 -0
- package/dist-ssg/server/ssr-entry-manifest.json +24 -24
- package/package.json +3 -3
- package/dist/assets/App-Bxg8Uu8T.css +0 -1
- package/dist-ssg/client/assets/CanvasRenderer-DKZvKi_9.js +0 -1
- package/dist-ssg/client/assets/WebGLRenderer-Dct7rzs_.js +0 -1
- package/dist-ssg/client/assets/WebGPURenderer-DtpKkjmH.js +0 -1
- package/dist-ssg/client/assets/browserAll-CuNkItSE.js +0 -1
- package/dist-ssg/client/assets/dist-CWb-aAQf.js +0 -1
- package/dist-ssg/client/assets/dist-CYpiS1Zt.js +0 -1
- package/dist-ssg/client/assets/dist-H38juOFW.js +0 -1
- package/dist-ssg/client/assets/index-DqP4B4Rz.css +0 -1
- package/dist-ssg/client/assets/webworkerAll-BqQJxuyS.js +0 -1
- package/dist-ssg/server/assets/CanvasRenderer-D5UXmqkQ.js +0 -3
- package/dist-ssg/server/assets/WebGLRenderer-CA7hgj6q.js +0 -3
- package/dist-ssg/server/assets/WebGPURenderer-CfV-9erK.js +0 -3
- package/dist-ssg/server/assets/dist-Bhwr_0k7.js +0 -3
- package/dist-ssg/server/assets/dist-cgbXhCvj.js +0 -3
- package/dist-ssg/server/assets/dist-edAEd-k-.js +0 -3
- package/dist-ssg/server/assets/trpc-BbV9JZTO.js +0 -3
- package/dist-ssg/server/assets/webworkerAll-didcaEA_.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{it as e}from"./Geometry-B_ASJa8G.js";import{M as t,j as n}from"./index.ssg-
|
|
1
|
+
import{it as e}from"./Geometry-B_ASJa8G.js";import{M as t,j as n}from"./index.ssg-DAtF3E31.js";e.add(n),e.add(t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./jsx-runtime-BLLrG8rB.js";import{Mt as e}from"./index.ssg-
|
|
1
|
+
import"./jsx-runtime-BLLrG8rB.js";import{Mt as e}from"./index.ssg-DAtF3E31.js";export{e as trpcClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Geometry-B_ASJa8G.js";import"./index.ssg-DAtF3E31.js";import"./init-BOhrbGmd.js";
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<script>
|
|
9
9
|
window.__OPENSPEC_BASE_PATH__ = '/'
|
|
10
10
|
</script>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index.ssg-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index.ssg-DAtF3E31.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/chunk-BEqpzyXh.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/dist-B1LJ4aUx.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/dist-xTC3A7_k.js">
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/BufferResource-5e2UtsWs.js">
|
|
20
20
|
<link rel="modulepreload" crossorigin href="/assets/ImageSource-DRiTQZHU.js">
|
|
21
21
|
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BLLrG8rB.js">
|
|
22
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
22
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CltZALZD.css">
|
|
23
23
|
</head>
|
|
24
24
|
<body>
|
|
25
25
|
<div id="root"><!--app-html--></div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { it as extensions, x as Container } from "./Geometry-jQ4l8GtP.js";
|
|
2
|
-
import { F as accessibilityTarget, I as AccessibilitySystem, N as FederatedContainer, P as EventSystem } from "./entry-server-
|
|
3
|
-
import "./init-
|
|
2
|
+
import { F as accessibilityTarget, I as AccessibilitySystem, N as FederatedContainer, P as EventSystem } from "./entry-server-D-Z6rVrS.js";
|
|
3
|
+
import "./init-CCY3tsKc.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/pixi.js@8.16.0/node_modules/pixi.js/lib/accessibility/init.mjs
|
|
5
5
|
extensions.add(AccessibilitySystem);
|
|
6
6
|
extensions.mixin(Container, accessibilityTarget);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as __toESM } from "./chunk-CBcaU1I6.js";
|
|
2
2
|
import { n as require_react, t as require_jsx_runtime } from "./jsx-runtime-CQL-l9BP.js";
|
|
3
|
-
import { $ as useAnimationsFinished, B as useAnchorPositioning, Ct as Timeout, D as Button, Dt as useOnFirstRender, Et as useIsoLayoutEffect, G as useHoverFloatingInteraction, H as useBaseUiId, J as popupStoreSelectors, K as useSyncedFloatingRootContext, L as cn, Ot as useRefWithInit, Pt as require_react_dom, Q as useOpenChangeComplete, R as inertValue, St as isHTMLElement, Tt as formatErrorMessage, U as popupStateMapping, V as adaptiveOrigin, W as useInteractions, X as useImplicitActiveTrigger, Y as PopupTriggerMap, Z as useOpenStateTransitions, _t as triggerHover, a as useOpenInteractionType, at as FloatingNode, bt as EMPTY_OBJECT, ct as useFloatingParentNodeId, dt as useId$1, et as transitionStatusMapping, ft as useStableCallback, gt as imperativeAction, i as useScrollLock, it as FloatingFocusManager, kt as X, lt as FloatingPortal, n as useToolbarRootContext, nt as createSelector, ot as FloatingTree, pt as createChangeEventDetails, q as createInitialPopupStoreState, r as InternalBackdrop, rt as useDismiss, st as useFloatingNodeId, t as COMPOSITE_KEYS, tt as ReactStore, ut as useRenderElement, wt as useOnMount, xt as getFloatingFocusElement, yt as POPUP_COLLISION_AVOIDANCE, z as getDisabledMountTransitionStyles } from "./entry-server-
|
|
3
|
+
import { $ as useAnimationsFinished, B as useAnchorPositioning, Ct as Timeout, D as Button, Dt as useOnFirstRender, Et as useIsoLayoutEffect, G as useHoverFloatingInteraction, H as useBaseUiId, J as popupStoreSelectors, K as useSyncedFloatingRootContext, L as cn, Ot as useRefWithInit, Pt as require_react_dom, Q as useOpenChangeComplete, R as inertValue, St as isHTMLElement, Tt as formatErrorMessage, U as popupStateMapping, V as adaptiveOrigin, W as useInteractions, X as useImplicitActiveTrigger, Y as PopupTriggerMap, Z as useOpenStateTransitions, _t as triggerHover, a as useOpenInteractionType, at as FloatingNode, bt as EMPTY_OBJECT, ct as useFloatingParentNodeId, dt as useId$1, et as transitionStatusMapping, ft as useStableCallback, gt as imperativeAction, i as useScrollLock, it as FloatingFocusManager, kt as X, lt as FloatingPortal, n as useToolbarRootContext, nt as createSelector, ot as FloatingTree, pt as createChangeEventDetails, q as createInitialPopupStoreState, r as InternalBackdrop, rt as useDismiss, st as useFloatingNodeId, t as COMPOSITE_KEYS, tt as ReactStore, ut as useRenderElement, wt as useOnMount, xt as getFloatingFocusElement, yt as POPUP_COLLISION_AVOIDANCE, z as getDisabledMountTransitionStyles } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.7_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useRole.js
|
|
5
5
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
6
6
|
var componentRoleToAriaRoleMap = new Map([
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { L as styleTags, Lt as parseMixed, R as tags, i as LocalTokenGroup, r as LRParser, s as LRLanguage, u as LanguageSupport } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import { r as javascriptLanguage } from "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-vue@0.1.3/node_modules/@codemirror/lang-vue/dist/index.js
|
|
5
5
|
var parser = /* @__PURE__ */ LRParser.deserialize({
|
|
6
6
|
version: 14,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { L as styleTags, Lt as parseMixed, R as tags, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import { r as javascriptLanguage } from "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-angular@0.1.4/node_modules/@codemirror/lang-angular/dist/index.js
|
|
5
5
|
var Text = 1, attributeContentSingle = 33, attributeContentDouble = 34, scriptAttributeContentSingle = 35, scriptAttributeContentDouble = 36;
|
|
6
6
|
var text = /* @__PURE__ */ new ExternalTokenizer((input) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, L as styleTags, R as tags, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, x as foldInside } from "./dist-5X8O7Rwc.js";
|
|
2
|
-
import { w as defineCSSCompletionSource } from "./entry-server-
|
|
2
|
+
import { w as defineCSSCompletionSource } from "./entry-server-D-Z6rVrS.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@codemirror+lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.js
|
|
4
4
|
var descendantOp = 110, Unit = 1, openArgList = 2;
|
|
5
5
|
var space = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, F as syntaxTree, L as styleTags, Lt as parseMixed, R as tags, V as EditorView, ft as EditorSelection, i as LocalTokenGroup, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-jinja@6.0.0/node_modules/@codemirror/lang-jinja/dist/index.js
|
|
5
5
|
var interpolationStart = 1, commentTagStart = 2, tagStart = 3, text = 155, endrawTagStart = 4, rawText = 156;
|
|
6
6
|
function wordChar(code) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, L as styleTags, R as tags, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, t as ContextTracker, u as LanguageSupport, x as foldInside } from "./dist-5X8O7Rwc.js";
|
|
2
|
-
import { w as defineCSSCompletionSource } from "./entry-server-
|
|
2
|
+
import { w as defineCSSCompletionSource } from "./entry-server-D-Z6rVrS.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@lezer+sass@1.1.0/node_modules/@lezer/sass/dist/index.js
|
|
4
4
|
var indent = 168, dedent = 169, descendantOp = 170, InterpolationEnd = 1, InterpolationContinue = 2, Unit = 3, callee = 171, identifier = 172, VariableName = 4, queryIdentifier = 173, InterpolationStart = 5, newline = 174, blankLineStart = 175, eof = 176, whitespace = 177, LineComment = 6, Comment = 7, IndentedMixin = 8, IndentedInclude = 9, Dialect_indented = 0;
|
|
5
5
|
var space = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, F as syntaxTree, L as styleTags, Lt as parseMixed, R as tags, V as EditorView, ft as EditorSelection, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@codemirror+lang-liquid@6.3.0/node_modules/@codemirror/lang-liquid/dist/index.js
|
|
5
5
|
var interpolationStart = 1, tagStart = 2, endTagStart = 3, text = 179, endrawTagStart = 4, rawText = 180, endcommentTagStart = 5, commentText = 181, InlineComment = 6;
|
|
6
6
|
function wordChar(code) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as foldNodeProp, D as indentNodeProp, L as styleTags, Lt as parseMixed, R as tags, h as continuedIndent, n as ExternalTokenizer, r as LRParser, s as LRLanguage, u as LanguageSupport, v as delimitedIndent, x as foldInside } from "./dist-5X8O7Rwc.js";
|
|
2
2
|
import "./dist-CCduGocE.js";
|
|
3
|
-
import { _ as html } from "./entry-server-
|
|
3
|
+
import { _ as html } from "./entry-server-D-Z6rVrS.js";
|
|
4
4
|
//#region ../../node_modules/.pnpm/@lezer+php@1.0.5/node_modules/@lezer/php/dist/index.js
|
|
5
5
|
var castOpen = 1, HeredocString = 2, interpolatedStringContent = 275, EscapeSequence = 3, afterInterpolation = 276, automaticSemicolon = 277, eof = 278, abstract = 4, and = 5, array = 6, as = 7, Boolean = 8, _break = 9, _case = 10, _catch = 11, clone = 12, _const = 13, _continue = 14, _default = 15, declare = 16, _do = 17, echo = 18, _else = 19, elseif = 20, enddeclare = 21, endfor = 22, endforeach = 23, endif = 24, endswitch = 25, endwhile = 26, _enum = 27, _extends = 28, final = 29, _finally = 30, fn = 31, _for = 32, foreach = 33, from = 34, _function = 35, global = 36, goto = 37, _if = 38, _implements = 39, include = 40, include_once = 41, _instanceof = 42, insteadof = 43, _interface = 44, list = 45, match = 46, namespace = 47, _new = 48, _null = 49, or = 50, print = 51, readonly = 52, _require = 53, require_once = 54, _return = 55, _switch = 56, _throw = 57, trait = 58, _try = 59, unset = 60, use = 61, _var = 62, Visibility = 63;
|
|
6
6
|
var keywordMap = {
|
|
@@ -30908,7 +30908,7 @@ var NavController = class {
|
|
|
30908
30908
|
this.storageKey = scopedStorageKey;
|
|
30909
30909
|
this.rebindProjectScopedLayout(scopedStorageKey);
|
|
30910
30910
|
}
|
|
30911
|
-
const { trpcClient } = await import("./trpc-
|
|
30911
|
+
const { trpcClient } = await import("./trpc-4dLqTVBm.js");
|
|
30912
30912
|
const remote = parsePersistedLayout(await trpcClient.kv.get.query({ key: this.storageKey }));
|
|
30913
30913
|
if (remote) {
|
|
30914
30914
|
if (remote.updatedAt > this.state.updatedAt) this.dispatch({
|
|
@@ -31051,7 +31051,7 @@ var NavController = class {
|
|
|
31051
31051
|
this.cancelPersistTimer();
|
|
31052
31052
|
this.persistTimer = setTimeout(() => {
|
|
31053
31053
|
this.persistTimer = null;
|
|
31054
|
-
import("./trpc-
|
|
31054
|
+
import("./trpc-4dLqTVBm.js").then(({ trpcClient }) => trpcClient.kv.set.mutate({
|
|
31055
31055
|
key: this.storageKey,
|
|
31056
31056
|
value: {
|
|
31057
31057
|
mainTabs: this.state.mainTabs,
|
|
@@ -71099,7 +71099,7 @@ var browserExt = {
|
|
|
71099
71099
|
},
|
|
71100
71100
|
test: () => true,
|
|
71101
71101
|
load: async () => {
|
|
71102
|
-
await import("./browserAll-
|
|
71102
|
+
await import("./browserAll-BJZwRDaI.js");
|
|
71103
71103
|
}
|
|
71104
71104
|
};
|
|
71105
71105
|
//#endregion
|
|
@@ -71112,7 +71112,7 @@ var webworkerExt = {
|
|
|
71112
71112
|
},
|
|
71113
71113
|
test: () => typeof self !== "undefined" && self.WorkerGlobalScope !== void 0,
|
|
71114
71114
|
load: async () => {
|
|
71115
|
-
await import("./webworkerAll-
|
|
71115
|
+
await import("./webworkerAll-DVUDp5xO.js");
|
|
71116
71116
|
}
|
|
71117
71117
|
};
|
|
71118
71118
|
//#endregion
|
|
@@ -73706,7 +73706,7 @@ async function autoDetectRenderer(options) {
|
|
|
73706
73706
|
for (let i = 0; i < preferredOrder.length; i++) {
|
|
73707
73707
|
const rendererType = preferredOrder[i];
|
|
73708
73708
|
if (rendererType === "webgpu" && await isWebGPUSupported()) {
|
|
73709
|
-
const { WebGPURenderer } = await import("./WebGPURenderer-
|
|
73709
|
+
const { WebGPURenderer } = await import("./WebGPURenderer-moX8CQUm.js");
|
|
73710
73710
|
RendererClass = WebGPURenderer;
|
|
73711
73711
|
finalOptions = {
|
|
73712
73712
|
...options,
|
|
@@ -73714,7 +73714,7 @@ async function autoDetectRenderer(options) {
|
|
|
73714
73714
|
};
|
|
73715
73715
|
break;
|
|
73716
73716
|
} else if (rendererType === "webgl" && isWebGLSupported(options.failIfMajorPerformanceCaveat ?? AbstractRenderer.defaultOptions.failIfMajorPerformanceCaveat)) {
|
|
73717
|
-
const { WebGLRenderer } = await import("./WebGLRenderer-
|
|
73717
|
+
const { WebGLRenderer } = await import("./WebGLRenderer-cfN96M_D.js");
|
|
73718
73718
|
RendererClass = WebGLRenderer;
|
|
73719
73719
|
finalOptions = {
|
|
73720
73720
|
...options,
|
|
@@ -73722,7 +73722,7 @@ async function autoDetectRenderer(options) {
|
|
|
73722
73722
|
};
|
|
73723
73723
|
break;
|
|
73724
73724
|
} else if (rendererType === "canvas") {
|
|
73725
|
-
const { CanvasRenderer } = await import("./CanvasRenderer-
|
|
73725
|
+
const { CanvasRenderer } = await import("./CanvasRenderer-k_tFIFoA.js");
|
|
73726
73726
|
RendererClass = CanvasRenderer;
|
|
73727
73727
|
finalOptions = {
|
|
73728
73728
|
...options,
|
|
@@ -97471,7 +97471,7 @@ var TerminalController = class {
|
|
|
97471
97471
|
if (this.configPersistTimer) clearTimeout(this.configPersistTimer);
|
|
97472
97472
|
this.configPersistTimer = setTimeout(() => {
|
|
97473
97473
|
this.configPersistTimer = null;
|
|
97474
|
-
import("./trpc-
|
|
97474
|
+
import("./trpc-4dLqTVBm.js").then(({ trpcClient }) => {
|
|
97475
97475
|
trpcClient.config.update.mutate({ terminal: { fontSize: this.config.fontSize } });
|
|
97476
97476
|
}).catch(() => {});
|
|
97477
97477
|
}, CONFIG_PERSIST_DEBOUNCE);
|
|
@@ -108032,7 +108032,7 @@ var languages = [
|
|
|
108032
108032
|
name: "CSS",
|
|
108033
108033
|
extensions: ["css"],
|
|
108034
108034
|
load() {
|
|
108035
|
-
return import("./dist-
|
|
108035
|
+
return import("./dist-CgFGYGuV.js").then((m) => m.css());
|
|
108036
108036
|
}
|
|
108037
108037
|
}),
|
|
108038
108038
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108052,7 +108052,7 @@ var languages = [
|
|
|
108052
108052
|
"hbs"
|
|
108053
108053
|
],
|
|
108054
108054
|
load() {
|
|
108055
|
-
return import("./dist-
|
|
108055
|
+
return import("./dist-C7cu-Ohs.js").then((m) => m.html());
|
|
108056
108056
|
}
|
|
108057
108057
|
}),
|
|
108058
108058
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108086,7 +108086,7 @@ var languages = [
|
|
|
108086
108086
|
"jinja2"
|
|
108087
108087
|
],
|
|
108088
108088
|
load() {
|
|
108089
|
-
return import("./dist-
|
|
108089
|
+
return import("./dist-CmkO24b2.js").then((m) => m.jinja());
|
|
108090
108090
|
}
|
|
108091
108091
|
}),
|
|
108092
108092
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108094,7 +108094,7 @@ var languages = [
|
|
|
108094
108094
|
alias: ["json5"],
|
|
108095
108095
|
extensions: ["json", "map"],
|
|
108096
108096
|
load() {
|
|
108097
|
-
return import("./dist-
|
|
108097
|
+
return import("./dist-Bosp3yvI.js").then((m) => m.json());
|
|
108098
108098
|
}
|
|
108099
108099
|
}),
|
|
108100
108100
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108108,14 +108108,14 @@ var languages = [
|
|
|
108108
108108
|
name: "LESS",
|
|
108109
108109
|
extensions: ["less"],
|
|
108110
108110
|
load() {
|
|
108111
|
-
return import("./dist-
|
|
108111
|
+
return import("./dist-CTDTyhyq.js").then((m) => m.less());
|
|
108112
108112
|
}
|
|
108113
108113
|
}),
|
|
108114
108114
|
/* @__PURE__ */ LanguageDescription.of({
|
|
108115
108115
|
name: "Liquid",
|
|
108116
108116
|
extensions: ["liquid"],
|
|
108117
108117
|
load() {
|
|
108118
|
-
return import("./dist-
|
|
108118
|
+
return import("./dist-FpVzh8vE.js").then((m) => m.liquid());
|
|
108119
108119
|
}
|
|
108120
108120
|
}),
|
|
108121
108121
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108132,7 +108132,7 @@ var languages = [
|
|
|
108132
108132
|
"mkd"
|
|
108133
108133
|
],
|
|
108134
108134
|
load() {
|
|
108135
|
-
return import("./dist-
|
|
108135
|
+
return import("./dist-BbKu_y6W.js").then((m) => m.markdown());
|
|
108136
108136
|
}
|
|
108137
108137
|
}),
|
|
108138
108138
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108158,7 +108158,7 @@ var languages = [
|
|
|
108158
108158
|
"phtml"
|
|
108159
108159
|
],
|
|
108160
108160
|
load() {
|
|
108161
|
-
return import("./dist-
|
|
108161
|
+
return import("./dist-glvfDQXi.js").then((m) => m.php());
|
|
108162
108162
|
}
|
|
108163
108163
|
}),
|
|
108164
108164
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108198,14 +108198,14 @@ var languages = [
|
|
|
108198
108198
|
name: "Sass",
|
|
108199
108199
|
extensions: ["sass"],
|
|
108200
108200
|
load() {
|
|
108201
|
-
return import("./dist-
|
|
108201
|
+
return import("./dist-Cxmy4PRF.js").then((m) => m.sass({ indented: true }));
|
|
108202
108202
|
}
|
|
108203
108203
|
}),
|
|
108204
108204
|
/* @__PURE__ */ LanguageDescription.of({
|
|
108205
108205
|
name: "SCSS",
|
|
108206
108206
|
extensions: ["scss"],
|
|
108207
108207
|
load() {
|
|
108208
|
-
return import("./dist-
|
|
108208
|
+
return import("./dist-Cxmy4PRF.js").then((m) => m.sass());
|
|
108209
108209
|
}
|
|
108210
108210
|
}),
|
|
108211
108211
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -108272,7 +108272,7 @@ var languages = [
|
|
|
108272
108272
|
alias: ["yml"],
|
|
108273
108273
|
extensions: ["yaml", "yml"],
|
|
108274
108274
|
load() {
|
|
108275
|
-
return import("./dist-
|
|
108275
|
+
return import("./dist-DaxZJMDX.js").then((m) => m.yaml());
|
|
108276
108276
|
}
|
|
108277
108277
|
}),
|
|
108278
108278
|
/* @__PURE__ */ LanguageDescription.of({
|
|
@@ -109159,13 +109159,13 @@ var languages = [
|
|
|
109159
109159
|
name: "Vue",
|
|
109160
109160
|
extensions: ["vue"],
|
|
109161
109161
|
load() {
|
|
109162
|
-
return import("./dist-
|
|
109162
|
+
return import("./dist-BZbvCEXY.js").then((m) => m.vue());
|
|
109163
109163
|
}
|
|
109164
109164
|
}),
|
|
109165
109165
|
/* @__PURE__ */ LanguageDescription.of({
|
|
109166
109166
|
name: "Angular Template",
|
|
109167
109167
|
load() {
|
|
109168
|
-
return import("./dist-
|
|
109168
|
+
return import("./dist-C0TNMvo3.js").then((m) => m.angular());
|
|
109169
109169
|
}
|
|
109170
109170
|
})
|
|
109171
109171
|
];
|
|
@@ -169295,6 +169295,7 @@ function ProjectionEvidence({ activeError, archiveError, applyStatusError, rowEr
|
|
|
169295
169295
|
* 2. Share one compact/full presentation while compact Pending geometry stays fixed.
|
|
169296
169296
|
* 3. Own a 1/2/4-column container-responsive topology composed from layered lane viewports.
|
|
169297
169297
|
* 4. Preserve list continuity through motion layout transitions and stable identities.
|
|
169298
|
+
* 5. Show task counts and progress only when supplied by the CLI row projection.
|
|
169298
169299
|
*
|
|
169299
169300
|
* Original request (2026-07-28): add ReadonlyKanban to Dashboard and keep static mode objective.
|
|
169300
169301
|
* Owner correction (2026-07-28): use container queries for 4x1, 2x2, and 1x4 without horizontal scrolling.
|
|
@@ -169365,7 +169366,8 @@ function ReadonlyKanban({ activeItems, archivedItems, activeCounts, archivedCoun
|
|
|
169365
169366
|
transition: { duration: .16 },
|
|
169366
169367
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ReadonlyKanbanRow, {
|
|
169367
169368
|
item,
|
|
169368
|
-
laneId: lane.id
|
|
169369
|
+
laneId: lane.id,
|
|
169370
|
+
compact
|
|
169369
169371
|
})
|
|
169370
169372
|
}, `${lane.id}:${item.id}`))
|
|
169371
169373
|
}), rows.length === 0 && count === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
@@ -169384,13 +169386,19 @@ function ReadonlyKanban({ activeItems, archivedItems, activeCounts, archivedCoun
|
|
|
169384
169386
|
})
|
|
169385
169387
|
});
|
|
169386
169388
|
}
|
|
169387
|
-
function ReadonlyKanbanRow({ item, laneId }) {
|
|
169389
|
+
function ReadonlyKanbanRow({ item, laneId, compact }) {
|
|
169388
169390
|
const archived = laneId === "archived";
|
|
169389
169391
|
const sharedDescriptor = {
|
|
169390
169392
|
family: archived ? "archive" : "changes",
|
|
169391
169393
|
entityId: item.id
|
|
169392
169394
|
};
|
|
169393
|
-
|
|
169395
|
+
const cli = item.cliTaskSummary;
|
|
169396
|
+
const cliProgress = cli ? {
|
|
169397
|
+
completed: cli.completedTasks,
|
|
169398
|
+
total: cli.totalTasks
|
|
169399
|
+
} : null;
|
|
169400
|
+
const cliPercent = cliProgress && cliProgress.total > 0 ? Math.min(100, Math.max(0, cliProgress.completed / cliProgress.total * 100)) : 0;
|
|
169401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(VTLink, {
|
|
169394
169402
|
to: archived ? "/archive/$changeId" : "/changes/$changeId",
|
|
169395
169403
|
params: { changeId: item.id },
|
|
169396
169404
|
state: (previous) => ({
|
|
@@ -169404,20 +169412,38 @@ function ReadonlyKanbanRow({ item, laneId }) {
|
|
|
169404
169412
|
vt: { sharedElements: sharedDescriptor },
|
|
169405
169413
|
...getSharedElementBinding(sharedDescriptor, "container"),
|
|
169406
169414
|
className: "border-border/70 bg-card hover:bg-muted/50 block min-w-0 rounded-md border px-2.5 py-2",
|
|
169407
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
169415
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
169408
169416
|
className: "flex min-w-0 items-start gap-2",
|
|
169409
|
-
children: [
|
|
169410
|
-
className: "
|
|
169411
|
-
|
|
169412
|
-
|
|
169413
|
-
|
|
169414
|
-
|
|
169415
|
-
|
|
169416
|
-
|
|
169417
|
-
|
|
169418
|
-
|
|
169419
|
-
|
|
169420
|
-
|
|
169417
|
+
children: [
|
|
169418
|
+
archived ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Archive, { className: "text-muted-foreground mt-0.5 h-3.5 w-3.5 shrink-0" }) : null,
|
|
169419
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
169420
|
+
className: "min-w-0 flex-1",
|
|
169421
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
169422
|
+
...getSharedElementBinding(sharedDescriptor, "title"),
|
|
169423
|
+
className: "truncate text-xs font-medium",
|
|
169424
|
+
children: item.name
|
|
169425
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
169426
|
+
className: "text-muted-foreground truncate text-[11px]",
|
|
169427
|
+
children: archived ? formatDate(getKanbanArchiveTimestamp(item)) : item.updatedAt > 0 ? formatRelativeTime(item.updatedAt) : item.id
|
|
169428
|
+
})]
|
|
169429
|
+
}),
|
|
169430
|
+
!archived && cliProgress ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
169431
|
+
className: "text-muted-foreground shrink-0 font-mono text-[10px]",
|
|
169432
|
+
children: [
|
|
169433
|
+
cliProgress.completed,
|
|
169434
|
+
"/",
|
|
169435
|
+
cliProgress.total
|
|
169436
|
+
]
|
|
169437
|
+
}) : null
|
|
169438
|
+
]
|
|
169439
|
+
}), !archived && !compact && cliProgress ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
169440
|
+
className: "bg-muted mt-2 h-1 rounded-full",
|
|
169441
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(motion.div, {
|
|
169442
|
+
className: "bg-primary h-full rounded-full",
|
|
169443
|
+
initial: false,
|
|
169444
|
+
animate: { width: `${cliPercent}%` }
|
|
169445
|
+
})
|
|
169446
|
+
}) : null]
|
|
169421
169447
|
});
|
|
169422
169448
|
}
|
|
169423
169449
|
//#endregion
|
|
@@ -169775,13 +169801,23 @@ function Board() {
|
|
|
169775
169801
|
* 2. Keep the phase badge vertically centered while the time anchors the rail bottom.
|
|
169776
169802
|
* 3. Share the exact row vocabulary between the Changes list and Dashboard.
|
|
169777
169803
|
* 4. Preserve shared-element bindings for View Transition continuity.
|
|
169778
|
-
* 5.
|
|
169804
|
+
* 5. Render an optional CLI Apply ratio as an ambient fill without making local tracked data authoritative.
|
|
169779
169805
|
*
|
|
169780
169806
|
* Original request (2026-08-15): Owner walkthrough: grid layout, subtitle facts, badge
|
|
169781
169807
|
* centered with time at the bottom, one atomic row component across pages.
|
|
169782
169808
|
*/
|
|
169809
|
+
/** Ambient fill behind a phase badge; the caller must derive this ratio from CLI evidence. */
|
|
169810
|
+
function PhaseBadgeProgressFill({ ratio }) {
|
|
169811
|
+
if (!Number.isFinite(ratio) || ratio <= 0) return null;
|
|
169812
|
+
const clamped = Math.min(100, Math.max(0, ratio * 100));
|
|
169813
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
169814
|
+
"aria-hidden": "true",
|
|
169815
|
+
className: "bg-primary/50 pointer-events-none absolute inset-y-0 left-0",
|
|
169816
|
+
style: { width: `${clamped}%` }
|
|
169817
|
+
});
|
|
169818
|
+
}
|
|
169783
169819
|
/** Shared Change-row layout: icon | title+subtitle | badge(time) | chevron. */
|
|
169784
|
-
function ChangeRow({ changeId, name, subtitle, phase, updatedAt, formatTime, sharedFamily = "changes", className = "", containerProps, titleProps, iconProps }) {
|
|
169820
|
+
function ChangeRow({ changeId, name, subtitle, phase, updatedAt, formatTime, sharedFamily = "changes", className = "", progressRatio = null, containerProps, titleProps, iconProps }) {
|
|
169785
169821
|
const sharedDescriptor = {
|
|
169786
169822
|
family: sharedFamily,
|
|
169787
169823
|
entityId: changeId
|
|
@@ -169815,12 +169851,15 @@ function ChangeRow({ changeId, name, subtitle, phase, updatedAt, formatTime, sha
|
|
|
169815
169851
|
className: "flex flex-col items-end justify-between gap-1 text-right",
|
|
169816
169852
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
169817
169853
|
className: "flex flex-1 items-center",
|
|
169818
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
169854
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Badge, {
|
|
169819
169855
|
tone: "custom",
|
|
169820
169856
|
size: "sm",
|
|
169821
169857
|
shape: "box",
|
|
169822
|
-
className: `border ${phase.toneClass}`,
|
|
169823
|
-
children:
|
|
169858
|
+
className: `relative overflow-hidden border ${phase.toneClass}`,
|
|
169859
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PhaseBadgeProgressFill, { ratio: progressRatio ?? NaN }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
169860
|
+
className: "relative",
|
|
169861
|
+
children: phase.label
|
|
169862
|
+
})]
|
|
169824
169863
|
})
|
|
169825
169864
|
}), updatedAt > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
169826
169865
|
className: "text-muted-foreground shrink-0 text-xs",
|
|
@@ -169840,14 +169879,18 @@ function ChangeRowChevron() {
|
|
|
169840
169879
|
//#endregion
|
|
169841
169880
|
//#region src/lib/change-workflow-phase.ts
|
|
169842
169881
|
function classifyChangeWorkflowPhase(params) {
|
|
169882
|
+
if (params.hasStatus && params.trackedArtifactStatus === "blocked") return {
|
|
169883
|
+
label: "Draft",
|
|
169884
|
+
toneClass: "border-amber-500/40 text-amber-700 dark:text-amber-300"
|
|
169885
|
+
};
|
|
169886
|
+
if (typeof params.cliCompletedTasks === "number" && params.cliCompletedTasks > 0) return {
|
|
169887
|
+
label: "Applying",
|
|
169888
|
+
toneClass: "border-primary/40 text-primary"
|
|
169889
|
+
};
|
|
169843
169890
|
if (!params.hasStatus) return {
|
|
169844
169891
|
label: "Unknown",
|
|
169845
169892
|
toneClass: "border-border text-muted-foreground"
|
|
169846
169893
|
};
|
|
169847
|
-
if (params.trackedArtifactStatus === "blocked") return {
|
|
169848
|
-
label: "Draft",
|
|
169849
|
-
toneClass: "border-amber-500/40 text-amber-700 dark:text-amber-300"
|
|
169850
|
-
};
|
|
169851
169894
|
if (params.isPlanningComplete) return {
|
|
169852
169895
|
label: "Planning Complete",
|
|
169853
169896
|
toneClass: "border-sky-500/40 text-sky-700 dark:text-sky-300"
|
|
@@ -169943,7 +169986,7 @@ function useChangeListContinuity(incomingChanges, containerRef) {
|
|
|
169943
169986
|
/**
|
|
169944
169987
|
* Orthogonal intents (updated 2026-08-15 Asia/Shanghai):
|
|
169945
169988
|
* 1. List only active Changes from the current writable Planning root.
|
|
169946
|
-
* 2. Derive planning/artifact state and
|
|
169989
|
+
* 2. Derive planning/artifact state from CLI Status and implementation progress from CLI task evidence.
|
|
169947
169990
|
* 3. Preserve ChangeList row continuity and stale display together with collision-safe detail navigation.
|
|
169948
169991
|
* 4. Keep the advanced New Change command reachable from the page header.
|
|
169949
169992
|
* 5. Defer aggregate workflow Status until a primary Change row is renderable; preserve explicit failures.
|
|
@@ -170079,8 +170122,20 @@ function ChangeList() {
|
|
|
170079
170122
|
const phase = classifyChangeWorkflowPhase({
|
|
170080
170123
|
hasStatus: Boolean(status),
|
|
170081
170124
|
isPlanningComplete: status?.isPlanningComplete ?? false,
|
|
170082
|
-
trackedArtifactStatus: inferTrackedArtifactStatus(status?.artifacts.map((artifact) => artifact.status) ?? [])
|
|
170125
|
+
trackedArtifactStatus: inferTrackedArtifactStatus(status?.artifacts.map((artifact) => artifact.status) ?? []),
|
|
170126
|
+
cliCompletedTasks: change.cliTaskSummary?.completedTasks ?? null
|
|
170083
170127
|
});
|
|
170128
|
+
const cliTaskSummary = change.cliTaskSummary;
|
|
170129
|
+
const cliProgressRatio = cliTaskSummary && cliTaskSummary.totalTasks > 0 ? cliTaskSummary.completedTasks / cliTaskSummary.totalTasks : null;
|
|
170130
|
+
const cliTaskEvidence = cliTaskSummary ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
170131
|
+
title: "Task counts reported by the OpenSpec CLI for this Change.",
|
|
170132
|
+
children: [
|
|
170133
|
+
"Tasks ",
|
|
170134
|
+
cliTaskSummary.completedTasks,
|
|
170135
|
+
"/",
|
|
170136
|
+
cliTaskSummary.totalTasks
|
|
170137
|
+
]
|
|
170138
|
+
}) : null;
|
|
170084
170139
|
const sharedDescriptor = {
|
|
170085
170140
|
family: "changes",
|
|
170086
170141
|
entityId: change.id
|
|
@@ -170108,15 +170163,19 @@ function ChangeList() {
|
|
|
170108
170163
|
phase,
|
|
170109
170164
|
updatedAt: change.updatedAt,
|
|
170110
170165
|
formatTime: formatRelativeTime,
|
|
170166
|
+
progressRatio: cliProgressRatio,
|
|
170111
170167
|
className: "min-w-0 flex-1",
|
|
170112
170168
|
titleProps: { ...change.id !== change.name ? {} : null },
|
|
170113
|
-
subtitle: !statusError && status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
170169
|
+
subtitle: !statusError && status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
170114
170170
|
doneArtifacts,
|
|
170115
170171
|
"/",
|
|
170116
170172
|
totalArtifacts,
|
|
170117
170173
|
" artifacts · ",
|
|
170118
170174
|
status.schemaName
|
|
170119
|
-
] }) : !statusError && statuses === void 0 && isStatusLoading ? /* @__PURE__ */ (0, import_jsx_runtime.
|
|
170175
|
+
] }), cliTaskEvidence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [" · ", cliTaskEvidence] }) : null] }) : !statusError && statuses === void 0 && isStatusLoading ? cliTaskEvidence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
170176
|
+
className: "inline-flex items-center gap-1.5",
|
|
170177
|
+
children: [cliTaskEvidence, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RealtimeSkeletonLine, { className: "w-12" })]
|
|
170178
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RealtimeSkeletonLine, { className: "w-28" }) : cliTaskEvidence ?? "Workflow status unavailable"
|
|
170120
170179
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChangeRowChevron, {})]
|
|
170121
170180
|
})
|
|
170122
170181
|
}, change.id);
|
|
@@ -172341,7 +172400,7 @@ var CONFIG_GUIDE_STAGE_META = {
|
|
|
172341
172400
|
//#region src/components/config/config-guide.tsx
|
|
172342
172401
|
var ConfigGuideContext = (0, import_react.createContext)(null);
|
|
172343
172402
|
(0, import_react.lazy)(async () => {
|
|
172344
|
-
return { default: (await import("./config-guide-presentation-
|
|
172403
|
+
return { default: (await import("./config-guide-presentation-CcpWbzbF.js")).ConfigGuidePresentationLayer };
|
|
172345
172404
|
});
|
|
172346
172405
|
/** Access the root-owned adaptive Guide runtime. */
|
|
172347
172406
|
function useConfigGuide() {
|
|
@@ -177366,7 +177425,7 @@ async function refreshDashboardGitSnapshot(reason, expectedBindingToken) {
|
|
|
177366
177425
|
* 1. Render independent Dashboard projections inside stable region-owned Pending geometry.
|
|
177367
177426
|
* 2. Keep Dashboard-owned readonly Code Git refresh bound to rendered provenance and separate from Planning-root mutation authority.
|
|
177368
177427
|
* 3. Curate Code Git activity while preserving binding-token detail handoff provenance.
|
|
177369
|
-
* 4. Show
|
|
177428
|
+
* 4. Show objective planning/artifact facts plus CLI task evidence, never tracked task completion.
|
|
177370
177429
|
* 5. Retain stable regional snapshots beside their own loading, updating, and error evidence.
|
|
177371
177430
|
*
|
|
177372
177431
|
* Original request (2026-07-16): "接下来,你来接手后续工作"
|
|
@@ -177849,8 +177908,20 @@ function Dashboard() {
|
|
|
177849
177908
|
const phase = classifyChangeWorkflowPhase({
|
|
177850
177909
|
hasStatus: Boolean(status),
|
|
177851
177910
|
isPlanningComplete: status?.isPlanningComplete ?? false,
|
|
177852
|
-
trackedArtifactStatus
|
|
177911
|
+
trackedArtifactStatus,
|
|
177912
|
+
cliCompletedTasks: change.cliTaskSummary?.completedTasks ?? null
|
|
177853
177913
|
});
|
|
177914
|
+
const cliTaskSummary = change.cliTaskSummary;
|
|
177915
|
+
const cliProgressRatio = cliTaskSummary && cliTaskSummary.totalTasks > 0 ? cliTaskSummary.completedTasks / cliTaskSummary.totalTasks : null;
|
|
177916
|
+
const cliTaskEvidence = cliTaskSummary ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
177917
|
+
title: "Task counts reported by the OpenSpec CLI for this Change.",
|
|
177918
|
+
children: [
|
|
177919
|
+
"Tasks ",
|
|
177920
|
+
cliTaskSummary.completedTasks,
|
|
177921
|
+
"/",
|
|
177922
|
+
cliTaskSummary.totalTasks
|
|
177923
|
+
]
|
|
177924
|
+
}) : null;
|
|
177854
177925
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(VTLink, {
|
|
177855
177926
|
to: "/changes/$changeId",
|
|
177856
177927
|
params: { changeId: change.id },
|
|
@@ -177880,14 +177951,15 @@ function Dashboard() {
|
|
|
177880
177951
|
phase,
|
|
177881
177952
|
updatedAt: change.updatedAt,
|
|
177882
177953
|
formatTime: formatRelativeTime,
|
|
177954
|
+
progressRatio: cliProgressRatio,
|
|
177883
177955
|
className: "min-w-0 flex-1",
|
|
177884
|
-
subtitle: status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
177956
|
+
subtitle: status ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
|
|
177885
177957
|
doneArtifacts,
|
|
177886
177958
|
"/",
|
|
177887
177959
|
totalArtifacts,
|
|
177888
177960
|
" artifacts · ",
|
|
177889
177961
|
status.schemaName
|
|
177890
|
-
] }) : "Artifacts status unavailable"
|
|
177962
|
+
] }), cliTaskEvidence ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [" · ", cliTaskEvidence] }) : null] }) : cliTaskEvidence ?? "Artifacts status unavailable"
|
|
177891
177963
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChangeRowChevron, {})]
|
|
177892
177964
|
})
|
|
177893
177965
|
}, change.id);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { it as extensions } from "./Geometry-jQ4l8GtP.js";
|
|
2
|
-
import { M as FilterPipe, j as FilterSystem } from "./entry-server-
|
|
2
|
+
import { M as FilterPipe, j as FilterSystem } from "./entry-server-D-Z6rVrS.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/pixi.js@8.16.0/node_modules/pixi.js/lib/filters/init.mjs
|
|
4
4
|
extensions.add(FilterSystem);
|
|
5
5
|
extensions.add(FilterPipe);
|