@codeuxai/codeux 0.8.2 → 0.8.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/README.md +128 -45
- package/dashboard/dist/assets/{AgentAvatarScene-3Fa3RQHc.js → AgentAvatarScene-CdYNjBsU.js} +1 -1
- package/dashboard/dist/assets/{AgentsPage-woorcNHq.js → AgentsPage-BKJ1Zdbv.js} +2 -2
- package/dashboard/dist/assets/{BackgroundManager-DbgGcx7x.js → BackgroundManager-B4A4jACF.js} +1 -1
- package/dashboard/dist/assets/{BranchNameSchemeEditor-Bk2p-g2z.js → BranchNameSchemeEditor-DfnH2VYW.js} +1 -1
- package/dashboard/dist/assets/{BrowserPage-BLTJo_tK.js → BrowserPage-BxfAsG3M.js} +1 -1
- package/dashboard/dist/assets/{ChatPage-BljTU3OV.js → ChatPage-MXugCDvS.js} +1 -1
- package/dashboard/dist/assets/{ErrorPage-DgYd7CGv.js → ErrorPage-Y-fEDzly.js} +1 -1
- package/dashboard/dist/assets/{FileBrowserPage-ChIelEM6.js → FileBrowserPage-B4JEdW9B.js} +1 -1
- package/dashboard/dist/assets/{KnowledgePage-DP7v0vk3.js → KnowledgePage-DVbW7o61.js} +1 -1
- package/dashboard/dist/assets/{ListWindowSelector-DtKcmXGY.js → ListWindowSelector-CPMgebqM.js} +1 -1
- package/dashboard/dist/assets/{MemoryPage-2N_EfqqO.js → MemoryPage-C3RWZJL5.js} +1 -1
- package/dashboard/dist/assets/{OverviewTelemetry-C1hoOMVQ.js → OverviewTelemetry-Cy9vzhdY.js} +1 -1
- package/dashboard/dist/assets/{ProjectsPage-CEn6QDXI.js → ProjectsPage-RmR2LMuR.js} +1 -1
- package/dashboard/dist/assets/{SchedulerPage-BDTm8Q3w.js → SchedulerPage-Bg08X7Tm.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-CvSsreD8.js → SettingsPage-DzE_F7Kw.js} +1 -1
- package/dashboard/dist/assets/{SprintBoatRace-Ryphd2ZR.js → SprintBoatRace-BeZOItMO.js} +1 -1
- package/dashboard/dist/assets/{SprintDag-BLP6gb8k.js → SprintDag-vF8f33gn.js} +1 -1
- package/dashboard/dist/assets/{SprintsPage-DORSqECT.js → SprintsPage-bRHQPfWP.js} +1 -1
- package/dashboard/dist/assets/{StatsPage-BODQk1cJ.js → StatsPage-BZl_tzUr.js} +1 -1
- package/dashboard/dist/assets/{TasksPage-PeouQ4EB.js → TasksPage-rLMlkgxX.js} +1 -1
- package/dashboard/dist/assets/{index-DddY8OV0.js → index-DdNzHP9F.js} +5 -5
- package/dashboard/dist/assets/{monaco.contribution-Bxle9Jvf.js → monaco.contribution-2KFAi0p0.js} +2 -2
- package/dashboard/dist/assets/{tsMode-BYb4cdGe.js → tsMode-dZI5bz0O.js} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dist/infrastructure/providers/cli/provider-logs/opencode-log-parser.js +174 -20
- package/dist/infrastructure/providers/cli/provider-runner.js +51 -0
- package/dist/infrastructure/providers/cli/provider-usage.js +39 -6
- package/dist/infrastructure/providers/cli/workspace-artifact-service.js +17 -7
- package/dist/repositories/execution-repository.js +77 -0
- package/dist/services/provider-execution-service.js +10 -1
- package/dist/services/runtime-startup-recovery-service.js +170 -0
- package/dist/services/sprint-task-dispatch-service.js +7 -0
- package/docs/getting-started/quickstart.md +14 -3
- package/docs/operations/runbook.md +2 -0
- package/docs/settings/configuration-and-storage.md +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{O as e,S as t,_ as n,a as r,c as i,f as a,h as o,j as s,w as c,x as l,y as u}from"./vendor-Dl0fhdV0.js";import{t as d}from"./anchor-CpTtI1nV.js";import{t as f}from"./use-reduced-motion-Dxh6NCDM.js";import{bt as p,pr as m}from"./index-DddY8OV0.js";import{n as h}from"./signals.module-7u1xQmIO.js";l();var g=800,_=[{progress:.25,label:`CODING`,color:`#00E0A0`},{progress:.48,label:`CODE DONE`,color:`#0F9FA8`},{progress:.62,label:`CI`,color:`#5dade2`},{progress:.72,label:`QA`,color:`#D97706`},{progress:.78,label:`MERGE`,color:`#FFB800`},{progress:.96,label:`COMPLETED`,color:`#00AB84`}];function v(e){let t=new Map;for(let n of e)n.taskId&&t.set(n.taskId,n),n.taskKey&&t.set(n.taskKey,n);return t}function y(e,t){return((e.record_id?t.get(e.record_id):void 0)||(e.id?t.get(e.id):void 0))?.executorType===`docker_cli`?`container`:e.provider===`jules`?`wooden`:`container`}function b(e){let t=typeof e.record_id==`string`?e.record_id.trim():``;if(t)return t;let n=typeof e.project_id==`string`?e.project_id.trim():``,r=typeof e.sprint_id==`string`?e.sprint_id.trim():``;return[n||`project`,r||`sprint`,e.id].join(`:`)}function x(e){return g}function S(){return _}function C(e){let t=p(e);return t===`PENDING`||t===`BLOCKED`||t===`QUOTA`}function w(e){return!C(e)}a();var T=1400,E=1320,D=E-100-40,O=e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)},k=(e,t=0)=>O(`${e}:${t}`)%1e4/1e4,A=()=>{let[e,t]=u(()=>document.documentElement.classList.contains(`dark`));return c(()=>{let e=new MutationObserver(()=>{t(document.documentElement.classList.contains(`dark`))});return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]),e},j=e=>{switch(p(e)){case`RUNNING`:return{color:`#00E0A0`,label:`Coding`,dim:!1};case`CODING_COMPLETED`:{let t=e.merge_indicator;return t===`AUTOMERGE`?{color:`#FFB800`,label:`Automerge`,dim:!1}:t===`CI`?{color:`#5dade2`,label:`CI`,dim:!1}:t===`QA_PENDING`?{color:`#D97706`,label:`QA Pending`,dim:!1}:t===`MERGE_BLOCKED`?{color:`#F59E0B`,label:`Blocked`,dim:!1}:t===`MERGE_CONFLICT`?{color:`#E3000F`,label:`Conflict`,dim:!1}:{color:`#0F9FA8`,label:`Coding Done`,dim:!1}}case`COMPLETED`:return{color:`#00AB84`,label:`Completed`,dim:!1};case`FAILED`:return{color:`#E3000F`,label:`Failed`,dim:!0};case`BLOCKED`:return{color:`#F59E0B`,label:`Blocked`,dim:!0};case`PENDING`:return{color:`#475569`,label:`Queued`,dim:!0};default:return{color:`#475569`,label:`—`,dim:!0}}},M=i(({x:e,color:t,label:n,isDark:i})=>{let a=f();return r(`g`,{children:[r(`line`,{x1:e,y1:95,x2:e,y2:385,stroke:i?`white`:`black`,strokeWidth:.3,strokeDasharray:`3,12`,opacity:.06}),r(`g`,{transform:`translate(${e}, 82)`,children:[r(`ellipse`,{cx:0,cy:14,rx:8,ry:3,fill:t,opacity:.06}),r(`rect`,{x:-5,y:0,width:10,height:12,rx:3,fill:i?`#0a1520`:`#e2d6c6`,stroke:t,strokeWidth:.6,opacity:.5}),r(`circle`,{cx:0,cy:-2,r:2,fill:t,opacity:.4,children:!a&&r(`animate`,{attributeName:`opacity`,values:`0.4;0.15;0.4`,dur:`2s`,repeatCount:`indefinite`})}),r(`text`,{y:-8,textAnchor:`middle`,fill:t,fontSize:5.5,fontFamily:`monospace`,fontWeight:`bold`,letterSpacing:`0.1em`,opacity:.4,children:n})]})]})}),N=i(({x:e,isDark:t})=>{let n=f();return r(`g`,{children:[r(`ellipse`,{cx:e,cy:440/2,rx:60,ry:440*.65,fill:`url(#br-finish-glow)`}),r(`line`,{x1:e-4,y1:24,x2:e-4,y2:392,stroke:t?`#1a3050`:`#8395a7`,strokeWidth:2.5,opacity:.5}),r(`line`,{x1:e+18,y1:24,x2:e+18,y2:392,stroke:t?`#1a3050`:`#8395a7`,strokeWidth:2.5,opacity:.5}),r(`defs`,{children:r(`pattern`,{id:`br-checker`,width:`6`,height:`6`,patternUnits:`userSpaceOnUse`,children:[r(`rect`,{width:`3`,height:`3`,fill:t?`white`:`#1e293b`,opacity:.6}),r(`rect`,{x:`3`,y:`3`,width:`3`,height:`3`,fill:t?`white`:`#1e293b`,opacity:.6})]})}),r(`rect`,{x:e-2,y:24,width:18,height:14,rx:1.5,fill:`url(#br-checker)`,opacity:t?.4:.5,children:!n&&r(`animate`,{attributeName:`width`,values:`18;19.5;18`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`line`,{x1:e-8,y1:88,x2:e-8,y2:392,stroke:`#00E0A0`,strokeWidth:1.8,opacity:.08,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.08;0.2;0.08`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`line`,{x1:e-8,y1:88,x2:e-8,y2:392,stroke:`#00E0A0`,strokeWidth:6,opacity:.02,filter:`url(#br-glow2)`,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.02;0.06;0.02`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e-4,cy:22,r:2.5,fill:`#00E0A0`,opacity:.4,filter:`url(#br-glow)`,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.4;0.15;0.4`,dur:`2s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e+18,cy:22,r:2.5,fill:`#00E0A0`,opacity:.4,filter:`url(#br-glow)`,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.4;0.15;0.4`,dur:`2s`,repeatCount:`indefinite`,begin:`0.5s`})}),r(`text`,{x:e+7,y:424,textAnchor:`middle`,fill:`#00E0A0`,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,letterSpacing:`0.3em`,opacity:.3,children:`FINISH`})]})}),P=Array.from({length:30},(e,t)=>({cx:40+O(`sx${t}`)%(T-80),cy:4+O(`sy${t}`)%55,r:.3+O(`sr${t}`)%8/10,dur:2+O(`sd${t}`)%40/10,op:.04+O(`so${t}`)%10/100})),F=i(({isDark:e})=>{let t=f();return e?r(`g`,{children:[r(`circle`,{cx:T*.88,cy:28,r:22,fill:`#E8E4D0`,opacity:.04}),r(`circle`,{cx:T*.88,cy:28,r:16,fill:`#E8E4D0`,opacity:.06}),r(`circle`,{cx:T*.88,cy:28,r:11,fill:`#F0ECD8`,opacity:.08}),r(`circle`,{cx:T*.88+5,cy:26,r:9,fill:`#030810`,opacity:.06}),P.map((e,n)=>r(`circle`,{cx:e.cx,cy:e.cy,r:e.r,fill:`white`,opacity:e.op,children:!t&&r(`animate`,{attributeName:`opacity`,values:`${e.op};${e.op+.12};${e.op}`,dur:`${e.dur}s`,repeatCount:`indefinite`})},`s${n}`))]}):r(`g`,{children:[r(`circle`,{cx:T*.85,cy:36,r:40,fill:`#FFB800`,opacity:.04}),r(`circle`,{cx:T*.85,cy:36,r:24,fill:`#FFB800`,opacity:.06}),r(`circle`,{cx:T*.85,cy:36,r:14,fill:`#FFD060`,opacity:.12}),[...Array(8)].map((e,n)=>{let i=n*45*Math.PI/180;return r(`line`,{x1:T*.85+Math.cos(i)*18,y1:36+Math.sin(i)*18,x2:T*.85+Math.cos(i)*32,y2:36+Math.sin(i)*32,stroke:`#FFB800`,strokeWidth:1.5,opacity:.08,strokeLinecap:`round`,children:!t&&r(`animate`,{attributeName:`opacity`,values:`0.08;0.15;0.08`,dur:`${3+n*.3}s`,repeatCount:`indefinite`})},`ray${n}`)}),[[180,20],[400,35],[900,15]].map(([e,t],n)=>r(`g`,{opacity:.06,children:[r(`ellipse`,{cx:e,cy:t,rx:30,ry:8,fill:`#64748b`}),r(`ellipse`,{cx:e+20,cy:t-3,rx:20,ry:7,fill:`#64748b`}),r(`ellipse`,{cx:e-15,cy:t+2,rx:18,ry:6,fill:`#64748b`})]},`cloud${n}`))]})}),I=i(({isDark:e})=>{let t=f(),n=e?`white`:`#334155`;return r(`g`,{children:[80,140,200,260,320,380].map((i,a)=>{let o=3+a*.6,s=160+a*15,c=7+a*1.5,l=e?.02+a*.004:.03+a*.005;return r(`path`,{d:`M-100 ${i} ${Array.from({length:10},(e,t)=>{let n=-100+t*s,r=n+s/2,a=n+s;return`Q${r} ${i-o} ${a} ${i}`}).join(` `)}`,fill:`none`,stroke:n,strokeWidth:.4,opacity:l,children:!t&&r(`animateTransform`,{attributeName:`transform`,type:`translate`,values:`0 0; ${s/3} ${o*.4}; 0 0`,dur:`${c}s`,repeatCount:`indefinite`})},a)})})}),L=i(({isDark:e,ripples:t})=>{let n=f();return r(`g`,{children:[r(`defs`,{children:[r(`linearGradient`,{id:`br-wake`,x1:`1`,y1:`0.5`,x2:`0`,y2:`0.5`,children:[r(`stop`,{offset:`0%`,stopColor:e?`white`:`#334155`,stopOpacity:.14}),r(`stop`,{offset:`50%`,stopColor:e?`white`:`#334155`,stopOpacity:.04}),r(`stop`,{offset:`100%`,stopColor:e?`white`:`#334155`,stopOpacity:0})]}),r(`radialGradient`,{id:`br-harbour-glow`,cx:`0.5`,cy:`0.5`,r:`0.5`,children:[r(`stop`,{offset:`0%`,stopColor:`#FFB800`,stopOpacity:e?.06:.04}),r(`stop`,{offset:`100%`,stopColor:`transparent`})]}),r(`radialGradient`,{id:`br-finish-glow`,cx:`0.5`,cy:`0.5`,r:`0.5`,children:[r(`stop`,{offset:`0%`,stopColor:`#00AB84`,stopOpacity:e?.08:.05}),r(`stop`,{offset:`100%`,stopColor:`transparent`})]}),r(`filter`,{id:`br-glow`,children:[r(`feGaussianBlur`,{stdDeviation:`2.5`}),r(`feMerge`,{children:[r(`feMergeNode`,{}),r(`feMergeNode`,{in:`SourceGraphic`})]})]}),r(`filter`,{id:`br-glow2`,children:[r(`feGaussianBlur`,{stdDeviation:`6`}),r(`feMerge`,{children:[r(`feMergeNode`,{}),r(`feMergeNode`,{in:`SourceGraphic`})]})]}),r(`filter`,{id:`br-ripple`,children:r(`feGaussianBlur`,{stdDeviation:`1.5`})})]}),r(F,{isDark:e}),r(I,{isDark:e}),t.map(t=>r(`g`,{children:[r(`circle`,{cx:t.x,cy:t.y,r:2,fill:`none`,stroke:e?`white`:`#334155`,strokeWidth:.5,opacity:n?.12:0,children:[!n&&r(`animate`,{attributeName:`r`,values:`2;40`,dur:`2s`,fill:`freeze`}),!n&&r(`animate`,{attributeName:`opacity`,values:`0.12;0`,dur:`2s`,fill:`freeze`})]}),r(`circle`,{cx:t.x,cy:t.y,r:2,fill:`none`,stroke:e?`white`:`#334155`,strokeWidth:.3,opacity:n?.08:0,children:[!n&&r(`animate`,{attributeName:`r`,values:`2;25`,dur:`1.5s`,fill:`freeze`}),!n&&r(`animate`,{attributeName:`opacity`,values:`0.08;0`,dur:`1.5s`,fill:`freeze`})]})]},t.id))]})}),R=S(),z=i(({isDark:e,activeShips:t})=>r(`g`,{children:[R.map(t=>r(M,{x:120+t.progress*D,label:t.label,color:t.color,isDark:e},t.label)),r(N,{x:E,isDark:e}),t.map(t=>r(`line`,{x1:140,y1:t.laneY+16,x2:E-20,y2:t.laneY+16,stroke:e?`white`:`black`,strokeWidth:.2,strokeDasharray:`2,24`,opacity:.025},`ln-${t.key}`))]}));a();var B=i(({x:e,waitingCount:t,isDark:n})=>{let i=n?`#0c1825`:`#c8d6e5`,a=n?`#162840`:`#8395a7`,o=n?`#101c2e`:`#a4b0be`,s=n?`#1a3050`:`#8395a7`,c=n?`#0e1e30`:`#a4b0be`,l=n?`#152540`:`#8395a7`,u=n?`#FFCC44`:`#FFB800`,d=n?`#FFB800`:`#F59E0B`,f=n?`#1a3050`:`#8395a7`,p=n?`#1e3a5e`:`#8395a7`;return r(`g`,{children:[r(`ellipse`,{cx:e,cy:440/2,rx:90,ry:440*.6,fill:`url(#br-harbour-glow)`}),[0,14,28,42].map(t=>r(`rect`,{x:e+t-6,y:70,width:5,height:330,fill:c,opacity:.6,rx:1.5},t)),[95,140,185,230,275,320].map(t=>r(`line`,{x1:e-8,y1:t,x2:e+44,y2:t,stroke:l,strokeWidth:2.5,opacity:.35},t)),r(`rect`,{x:e-36,y:30,width:56,height:65,rx:2,fill:i,stroke:a,strokeWidth:.8}),r(`path`,{d:`M${e-40} 30 L${e-8} 10 L${e+24} 30 Z`,fill:o,stroke:s,strokeWidth:.6}),r(`line`,{x1:e-8,y1:10,x2:e-8,y2:6,stroke:s,strokeWidth:1.2}),r(`line`,{x1:e-8,y1:6,x2:e+2,y2:4,stroke:n?`#2a4a70`:`#8395a7`,strokeWidth:.6}),r(`polygon`,{points:`${e+2},2 ${e+6},4 ${e+2},6`,fill:`#FFB800`,opacity:n?.5:.7}),[[e-30,40],[e-18,40],[e-6,40],[e+6,40],[e-30,56],[e-18,56],[e-6,56],[e+6,56]].map(([e,t],i)=>r(`g`,{children:[r(`rect`,{x:e,y:t,width:8,height:10,rx:1,fill:d,opacity:n?.06:.12}),r(`rect`,{x:e+1,y:t+1,width:6,height:8,rx:.8,fill:u,opacity:n?.12:.25,children:r(`animate`,{attributeName:`opacity`,values:`${n?.12:.25};${(n?.06:.15)+O(`w${i}`)%8/100};${n?.12:.25}`,dur:`${3+O(`wd${i}`)%30/10}s`,repeatCount:`indefinite`})})]},i)),r(`path`,{d:`M${e-10} 95 Q${e+4} 76 ${e+18} 95`,fill:`none`,stroke:s,strokeWidth:1.5}),r(`rect`,{x:e-10,y:85,width:28,height:10,fill:n?`#060e18`:`#a4b0be`,opacity:.6,rx:1}),r(`g`,{opacity:n?.25:.35,children:[r(`line`,{x1:e+30,y1:60,x2:e+30,y2:15,stroke:p,strokeWidth:3}),r(`line`,{x1:e+30,y1:15,x2:e+75,y2:15,stroke:p,strokeWidth:2.2}),r(`line`,{x1:e+30,y1:60,x2:e+75,y2:15,stroke:p,strokeWidth:.8,opacity:.4}),r(`line`,{x1:e+72,y1:15,x2:e+72,y2:34,stroke:p,strokeWidth:.8,strokeDasharray:`2,2`,children:r(`animate`,{attributeName:`y2`,values:`34;42;34`,dur:`4s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e+30,cy:13,r:2.5,fill:`#FFB800`,opacity:.35,filter:`url(#br-glow)`,children:r(`animate`,{attributeName:`opacity`,values:`0.35;0.1;0.35`,dur:`3s`,repeatCount:`indefinite`})})]}),r(`circle`,{cx:e-8,cy:28,r:3,fill:`#FFB800`,opacity:n?.5:.7,filter:`url(#br-glow)`,children:r(`animate`,{attributeName:`opacity`,values:n?`0.5;0.15;0.5`:`0.7;0.3;0.7`,dur:`2.8s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e+38,cy:58,r:2.5,fill:`#FFB800`,opacity:n?.3:.5,filter:`url(#br-glow)`,children:r(`animate`,{attributeName:`opacity`,values:n?`0.3;0.08;0.3`:`0.5;0.2;0.5`,dur:`3.5s`,repeatCount:`indefinite`})}),t>0&&r(`g`,{transform:`translate(${e+4}, 75)`,children:[r(`circle`,{r:14,fill:n?`#0a1520`:`#f0e6d2`,stroke:`#FFB800`,strokeWidth:1.2,opacity:.95}),r(`circle`,{r:14,fill:`none`,stroke:`#FFB800`,strokeWidth:.6,opacity:0,children:[r(`animate`,{attributeName:`opacity`,values:`0;0.5;0`,dur:`2.5s`,repeatCount:`indefinite`}),r(`animate`,{attributeName:`r`,values:`14;18;14`,dur:`2.5s`,repeatCount:`indefinite`})]}),r(`text`,{y:-2,textAnchor:`middle`,fill:`#FFB800`,fontSize:10,fontWeight:`bold`,fontFamily:`monospace`,dominantBaseline:`middle`,opacity:.9,children:t}),r(`text`,{y:9,textAnchor:`middle`,fill:`#FFB800`,fontSize:4.5,fontFamily:`monospace`,dominantBaseline:`middle`,opacity:.5,letterSpacing:`0.1em`,children:`WAITING`})]}),r(`text`,{x:e+4,y:422,textAnchor:`middle`,fill:f,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,letterSpacing:`0.3em`,opacity:n?.5:.6,children:`HARBOUR`})]})}),V=i(({isDark:e,waitingCount:t})=>r(B,{x:60,waitingCount:t,isDark:e}));l(),a(),s();var H=i(({accentColor:e,dim:t,isMoving:n,isDark:i,isFailed:a})=>{let o=f(),s=t?.35:1,c=i?`#0f1d33`:`#c8d6e5`,l=i?`#1a3050`:`#8395a7`,u=i?`#162840`:`#a4b0be`,d=i?`#1a2d50`:`#8395a7`,p=i?`#25406a`:`#576574`,m=i?`#1e3450`:`#8395a7`,h=i?`#4a8ad4`:`#2e86de`,g=i?`#b8c8d8`:`#636e72`,_=i?`#4b5563`:`#374151`;return r(`g`,{opacity:s,children:[r(`ellipse`,{cx:0,cy:24,rx:46,ry:8,fill:e,opacity:.08,children:n&&!o&&r(`animate`,{attributeName:`ry`,values:`8;10;8`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`ellipse`,{cx:3,cy:20,rx:40,ry:6,fill:i?`black`:`#2d3436`,opacity:i?.4:.15}),r(`path`,{d:`M-40 3 L-35 16 Q-32 20 0 20 Q32 20 35 16 L40 3 L34 -6 Q20 -10 0 -10 Q-20 -10 -34 -6 Z`,fill:c,stroke:l,strokeWidth:.8}),r(`path`,{d:`M-35 16 Q0 21 35 16 Q32 20 0 20 Q-32 20 -35 16 Z`,fill:e,opacity:.18}),r(`rect`,{x:-33,y:-7,width:66,height:9,rx:1.5,fill:u}),[[`#E74C3C`,-29],[`#3498DB`,-18],[`#F1C40F`,-7],[`#2ECC71`,4],[`#9B59B6`,15]].map(([e,t])=>r(`rect`,{x:t,y:-10,width:10,height:7,rx:1.2,fill:e,opacity:.85},t)),[[`#E67E22`,-26],[`#1ABC9C`,-15],[`#E74C3C`,-4],[`#3498DB`,7]].map(([e,t])=>r(`rect`,{x:t,y:-17,width:10,height:6.5,rx:1.2,fill:e,opacity:.65},t)),r(`rect`,{x:-6,y:-29,width:12,height:12,rx:2,fill:d,stroke:p,strokeWidth:.6}),r(`rect`,{x:-4.5,y:-27,width:9,height:4,rx:1,fill:h,opacity:i?.25:.5}),r(`rect`,{x:-4.5,y:-22,width:9,height:2.5,rx:.6,fill:h,opacity:i?.15:.35}),r(`rect`,{x:-3,y:-37,width:6,height:8,rx:1.8,fill:m}),r(`rect`,{x:-2.5,y:-37.5,width:5,height:2.5,rx:1,fill:e,opacity:.9}),r(`line`,{x1:0,y1:-29,x2:0,y2:-40,stroke:p,strokeWidth:.8}),r(`circle`,{cx:0,cy:-40.5,r:1.2,fill:e,opacity:.5,children:o?null:r(`animate`,{attributeName:`opacity`,values:`0.5;0.1;0.5`,dur:`1.8s`,repeatCount:`indefinite`})}),r(`circle`,{cx:-36,cy:0,r:1.5,fill:`#E3000F`,opacity:.7}),r(`circle`,{cx:36,cy:0,r:1.5,fill:`#2ECC71`,opacity:.7}),n&&r(`g`,{opacity:.12,children:[0,1,2,3,4].map(e=>r(`circle`,{cx:-2+e*.8,cy:-37,r:1,fill:g,children:[o?null:r(`animate`,{attributeName:`cy`,values:`-37;-62`,dur:`${2+e*.5}s`,repeatCount:`indefinite`,begin:`${e*.5}s`}),o?null:r(`animate`,{attributeName:`r`,values:`1;5`,dur:`${2+e*.5}s`,repeatCount:`indefinite`,begin:`${e*.5}s`}),o?null:r(`animate`,{attributeName:`opacity`,values:`0.2;0`,dur:`${2+e*.5}s`,repeatCount:`indefinite`,begin:`${e*.5}s`})]},e))}),a&&r(`g`,{opacity:.8,children:[0,1,2,3,4].map(e=>r(`circle`,{cx:e*2-4,cy:-5,r:1.5,fill:_,children:[o?null:r(`animate`,{attributeName:`cy`,values:`-5;-30`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`r`,values:`1.5;6`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`opacity`,values:`0.8;0`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`})]},e))})]})}),U=i(({accentColor:e,dim:t,isMoving:n,isDark:i,isFailed:a})=>{let o=f(),s=t?.35:1,c=i?`#5C3D0E`:`#8B6914`,l=i?`#7A5518`:`#A67B20`,u=i?`#4A3008`:`#7A5518`,d=i?`#7A5518`:`#A67B20`,p=i?`#4A3008`:`#5C3D0E`,m=i?`#F5EFE0`:`#FFF8E7`,h=i?`#C9BFA8`:`#B8A888`,g=i?`#4A3008`:`#7A5518`,_=i?`#FFD080`:`#FFE0A0`,v=i?`#4b5563`:`#374151`;return r(`g`,{opacity:s,children:[r(`ellipse`,{cx:0,cy:24,rx:38,ry:7,fill:e,opacity:.06,children:n&&!o?r(`animate`,{attributeName:`ry`,values:`7;9;7`,dur:`2.8s`,repeatCount:`indefinite`}):null}),r(`ellipse`,{cx:3,cy:20,rx:36,ry:5.5,fill:i?`black`:`#2d3436`,opacity:i?.35:.12}),r(`path`,{d:`M-32 5 Q-36 5 -32 17 L-24 20 Q0 22 24 20 L32 17 Q36 5 32 5 Z`,fill:c,stroke:l,strokeWidth:.9}),r(`path`,{d:`M-29 10 Q0 8 29 10`,fill:`none`,stroke:u,strokeWidth:.5,opacity:.45}),r(`path`,{d:`M-27 14 Q0 12 27 14`,fill:`none`,stroke:u,strokeWidth:.4,opacity:.35}),r(`path`,{d:`M-32 17 Q0 20 32 17 Q30 19 0 19 Q-30 19 -32 17 Z`,fill:e,opacity:.1}),r(`path`,{d:`M-28 5 Q0 2 28 5 Q22 2 0 2 Q-22 2 -28 5 Z`,fill:d,opacity:.85}),[-22,-14,-6,2,10,18].map(e=>r(`line`,{x1:e,y1:2,x2:e,y2:-1.5,stroke:i?`#8B6914`:`#A67B20`,strokeWidth:.5,opacity:.35},e)),r(`line`,{x1:-24,y1:-1,x2:24,y2:-1,stroke:i?`#8B6914`:`#A67B20`,strokeWidth:.5,opacity:.3}),r(`line`,{x1:-2,y1:2,x2:-2,y2:-48,stroke:p,strokeWidth:3}),r(`line`,{x1:-22,y1:-36,x2:18,y2:-36,stroke:p,strokeWidth:2}),r(`line`,{x1:-18,y1:-24,x2:14,y2:-24,stroke:p,strokeWidth:1.3}),r(`path`,{d:`M0 -46 Q22 -34 22 -14 L0 -10 Z`,fill:m,opacity:.92,stroke:h,strokeWidth:.6,children:o?null:r(`animate`,{attributeName:`d`,values:`M0 -46 Q22 -34 22 -14 L0 -10 Z;M0 -46 Q24 -33 23 -13 L0 -10 Z;M0 -46 Q22 -34 22 -14 L0 -10 Z`,dur:`5s`,repeatCount:`indefinite`})}),r(`path`,{d:`M0 -46 Q14 -42 14 -36 L0 -34 Z`,fill:m,opacity:.7,stroke:h,strokeWidth:.4,children:o?null:r(`animate`,{attributeName:`d`,values:`M0 -46 Q14 -42 14 -36 L0 -34 Z;M0 -46 Q15 -41 15 -35 L0 -34 Z;M0 -46 Q14 -42 14 -36 L0 -34 Z`,dur:`4s`,repeatCount:`indefinite`})}),r(`path`,{d:`M-4 -44 Q-18 -32 -18 -14 L-4 -12 Z`,fill:m,opacity:.75,stroke:h,strokeWidth:.4,children:o?null:r(`animate`,{attributeName:`d`,values:`M-4 -44 Q-18 -32 -18 -14 L-4 -12 Z;M-4 -44 Q-20 -31 -19 -13 L-4 -12 Z;M-4 -44 Q-18 -32 -18 -14 L-4 -12 Z`,dur:`4.5s`,repeatCount:`indefinite`})}),r(`line`,{x1:-2,y1:-46,x2:22,y2:-14,stroke:p,strokeWidth:.3,opacity:.3}),r(`line`,{x1:-2,y1:-46,x2:-18,y2:-14,stroke:p,strokeWidth:.3,opacity:.3}),r(`path`,{d:`M-2 -48 L10 -46 L-2 -44`,fill:e,opacity:.9,children:o?null:r(`animate`,{attributeName:`d`,values:`M-2 -48 L10 -46 L-2 -44;M-2 -48 L11 -45.5 L-2 -44;M-2 -48 L10 -46 L-2 -44`,dur:`2s`,repeatCount:`indefinite`})}),r(`line`,{x1:18,y1:3,x2:18,y2:-22,stroke:p,strokeWidth:1.6}),r(`rect`,{x:-20,y:-4.5,width:12,height:6.5,rx:1.5,fill:g,opacity:.75}),r(`rect`,{x:-18,y:-3.5,width:4.5,height:4,rx:.8,fill:_,opacity:.35}),r(`rect`,{x:-12.5,y:-3.5,width:3.5,height:4,rx:.8,fill:_,opacity:.25}),r(`circle`,{cx:30,cy:4,r:2,fill:`#FFB800`,opacity:.6,children:o?null:r(`animate`,{attributeName:`opacity`,values:`0.6;0.15;0.6`,dur:`3.5s`,repeatCount:`indefinite`})}),r(`circle`,{cx:-30,cy:8,r:1.4,fill:e,opacity:.4,children:o?null:r(`animate`,{attributeName:`opacity`,values:`0.4;0.1;0.4`,dur:`2.5s`,repeatCount:`indefinite`})}),a&&r(`g`,{opacity:.8,children:[0,1,2,3,4].map(e=>r(`circle`,{cx:e*2-4,cy:0,r:1.5,fill:v,children:[o?null:r(`animate`,{attributeName:`cy`,values:`0;-25`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`r`,values:`1.5;6`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`opacity`,values:`0.8;0`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`})]},e))})]})}),W=i(({color:e,length:t})=>{let n=f(),i=t/6;return r(`g`,{children:[r(`line`,{x1:0,y1:0,x2:-t,y2:0,stroke:e,strokeWidth:.5,opacity:.15,strokeDasharray:`2,3`}),Array.from({length:5},(t,a)=>{let o=-(i*(a+1)),s=a*.18;return r(`circle`,{cx:o,cy:0,r:1.8-a*.15,fill:e,opacity:.4,children:[n?null:r(`animate`,{attributeName:`cy`,values:`0;-2;0;2;0`,dur:`1.6s`,repeatCount:`indefinite`,begin:`${s}s`}),n?null:r(`animate`,{attributeName:`opacity`,values:`0.4;0.7;0.4`,dur:`1.6s`,repeatCount:`indefinite`,begin:`${s}s`})]},a)})]})}),G=i(({taskId:t,title:n,style:i,mergeIndicator:a,isRunning:o,isDark:s})=>{let c=f(),l=s?`rgba(4,8,16,0.92)`:`rgba(255,255,255,0.92)`,u=s?`white`:`#1e293b`;return r(`g`,{children:[r(`circle`,{r:22,fill:i.color,opacity:.06}),r(`rect`,{x:-58,y:-12,width:116,height:24,rx:12,fill:l,stroke:i.color,strokeWidth:.8,strokeOpacity:.5}),o&&r(`rect`,{x:-58,y:-12,width:116,height:24,rx:12,fill:`none`,stroke:i.color,strokeWidth:.9,opacity:0,children:[c?null:r(`animate`,{attributeName:`opacity`,values:`0;0.4;0`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`x`,values:`-58;-61`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`y`,values:`-12;-15`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`width`,values:`116;122`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`height`,values:`24;30`,dur:`2s`,repeatCount:`indefinite`})]}),r(`circle`,{cx:-42,cy:0,r:o?3.5:2.5,fill:i.color,children:o&&r(e,{children:[c?null:r(`animate`,{attributeName:`r`,values:`3.5;4.5;3.5`,dur:`1.5s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`opacity`,values:`1;0.5;1`,dur:`1.5s`,repeatCount:`indefinite`})]})}),r(`text`,{x:-32,y:1,fill:i.color,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,opacity:.9,dominantBaseline:`middle`,children:i.label}),r(`text`,{x:16,y:1,fill:u,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,opacity:s?.4:.5,dominantBaseline:`middle`,children:[`#`,t]}),a&&r(`g`,{transform:`translate(44, 0)`,children:[r(`circle`,{r:7,fill:a===`MERGED`?`#00AB84`:a===`CI`?`#5dade2`:a===`QA_PENDING`?`#D97706`:a===`MERGE_CONFLICT`?`#E3000F`:`#F59E0B`,opacity:.85}),r(`text`,{y:.5,textAnchor:`middle`,fill:`white`,fontSize:5.2,fontWeight:`bold`,fontFamily:`monospace`,dominantBaseline:`middle`,children:a===`MERGED`?`M`:a===`CI`?`CI`:a===`QA_PENDING`?`QA`:a===`MERGE_CONFLICT`?`!`:`AM`})]}),r(`text`,{y:20,textAnchor:`middle`,fill:u,fontSize:6.5,fontFamily:`monospace`,opacity:s?.2:.3,children:n.length>34?n.slice(0,32)+`…`:n})]})}),K=i(({s:t,isDark:n,animatedPositions:i,TOW_LINE_LENGTH:a,BADGE_OFFSET:s})=>{let l=f(),u=p(t.task)===`RUNNING`,d=!t.progress.stopped,h=p(t.task)===`FAILED`,g=i[t.key]||{x:-100,y:0,scale:.6,opacity:0,pingedCheckpoints:new Set},_=g.pingedCheckpoints.size,v=o(null),y=o(null),b=o(t.task.status),x=o(null);c(()=>{if(!x.current)return;let e=x.current,n=d?2.5+k(t.key,2)*2:1+k(t.key,2)*.8,r=3+k(t.key,3)*2,i=[m.to(e,{y:n,rotation:(k(t.key,4)-.5)*(d?3:1),duration:r,ease:`sine.inOut`,repeat:-1,yoyo:!0,delay:k(t.key,1)*4}),m.to(e,{x:d?3+k(t.key,5)*4:1,duration:5+k(t.key,6)*3,ease:`sine.inOut`,repeat:-1,yoyo:!0})];return()=>{i.forEach(e=>e.kill())}},[d,t.key]),c(()=>{let e=t.task.status;b.current!==e&&(e===`FAILED`||e===`BLOCKED`)&&y.current&&m.timeline().to(y.current,{rotation:-15,duration:.15,ease:`power1.inOut`,transformOrigin:`center center`}).to(y.current,{rotation:10,duration:.15,ease:`power1.inOut`,transformOrigin:`center center`}).to(y.current,{rotation:-5,duration:.15,ease:`power1.inOut`,transformOrigin:`center center`}).to(y.current,{rotation:0,duration:.3,ease:`power2.out`,transformOrigin:`center center`}),b.current=e},[t.task.status]);let S=o(_);return c(()=>{_>S.current&&v.current&&m.fromTo(v.current,{opacity:.8,r:0},{opacity:0,r:60,duration:1.5,ease:`power2.out`}),S.current=_},[_]),r(`g`,{className:`race-ship`,transform:`translate(${g.x}, ${g.y}) scale(${g.scale})`,opacity:g.opacity,children:r(`g`,{ref:x,children:[r(`circle`,{ref:v,className:`checkpoint-ping`,cx:0,cy:24,r:0,fill:`none`,stroke:t.style.color,strokeWidth:1.5,opacity:0}),r(`ellipse`,{cx:-45,cy:14,rx:d?60:25,ry:d?4.5:2,fill:`url(#br-wake)`,opacity:d?.3:.06,children:d&&(l?null:r(`animate`,{attributeName:`rx`,values:`55;70;55`,dur:`3s`,repeatCount:`indefinite`}))}),u&&r(e,{children:[r(`ellipse`,{cx:-65,cy:16,rx:30,ry:2.5,fill:n?`white`:`#334155`,opacity:.04,children:l?null:r(`animate`,{attributeName:`rx`,values:`24;36;24`,dur:`4s`,repeatCount:`indefinite`})}),[0,1,2,3,4].map(e=>r(`circle`,{cx:38+e*2,cy:e*2.5,r:.7+e*.15,fill:n?`white`:`#475569`,opacity:0,children:[l?null:r(`animate`,{attributeName:`cy`,values:`${e*2.5};${-6-e*3};${e*2.5}`,dur:`${.5+e*.12}s`,repeatCount:`indefinite`,begin:`${e*.1}s`}),l?null:r(`animate`,{attributeName:`opacity`,values:`0.25;0;0.25`,dur:`${.5+e*.12}s`,repeatCount:`indefinite`,begin:`${e*.1}s`})]},e))]}),r(`ellipse`,{cx:0,cy:24,rx:d?48:34,ry:d?10:6,fill:t.style.color,opacity:d?.08:.03,filter:`url(#br-glow2)`}),r(`g`,{className:`ship-model-wrapper`,ref:y,children:t.shipType===`container`?r(H,{accentColor:t.style.color,dim:t.style.dim,isMoving:d,isDark:n,isFailed:h}):r(U,{accentColor:t.style.color,dim:t.style.dim,isMoving:d,isDark:n,isFailed:h})}),r(`g`,{transform:`translate(-44, 4)`,children:[r(W,{color:t.style.color,length:a}),r(`g`,{transform:`translate(${-s+44}, 0)`,children:r(G,{taskId:t.task.id,title:t.task.title,style:t.style,mergeIndicator:t.task.merge_indicator,isRunning:u,isDark:n})})]})]})})}),q=i(({activeShips:e,animatedPositions:t,isDark:n,shipsGroupRef:i,TOW_LINE_LENGTH:a,BADGE_OFFSET:o})=>r(`g`,{ref:i,children:e.map(e=>r(K,{s:e,isDark:n,animatedPositions:t,TOW_LINE_LENGTH:a,BADGE_OFFSET:o},e.key))}));l();var J={HARBOUR:0,DEPARTURE:.04,RUNNING:.25,CODING_COMPLETED:.48,COMP_TARGET:.56,CI:.62,CI_TARGET:.68,QA:.72,QA_TARGET:.76,AUTOMERGE:.78,AM_TARGET:.9,COMPLETED:.96,FINISH:1.06},Y=4e4,X=e=>{let t=b(e);switch(p(e)){case`PENDING`:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0};case`BLOCKED`:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0};case`QUOTA`:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0};case`FAILED`:return{confirmed:J.DEPARTURE+k(t,30)*.12,target:J.DEPARTURE+k(t,30)*.12,stopped:!0};case`RUNNING`:return{confirmed:J.DEPARTURE,target:J.RUNNING,stopped:!1};case`CODING_COMPLETED`:{let t=e.merge_indicator;return t===`AUTOMERGE`?{confirmed:J.AUTOMERGE,target:J.AM_TARGET,stopped:!1}:t===`CI`?{confirmed:J.CI,target:J.CI_TARGET,stopped:!1}:t===`QA_PENDING`?{confirmed:J.QA,target:J.QA_TARGET,stopped:!1}:t===`MERGE_BLOCKED`||t===`MERGE_CONFLICT`?{confirmed:J.CODING_COMPLETED,target:J.CODING_COMPLETED,stopped:!0}:{confirmed:J.CODING_COMPLETED,target:J.COMP_TARGET,stopped:!1}}case`COMPLETED`:return{confirmed:J.COMPLETED,target:J.FINISH,stopped:!1};default:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0}}},Z=(e,t,n)=>{let r=(k(e,40)-.5)*.02,i=n?.confirmed??J.HARBOUR;return{currentProgress:i>J.DEPARTURE?Math.min(i,J.FINISH):J.DEPARTURE*.5+r,currentY:240+(k(e,41)-.5)*20,lastTime:t,yWobbleOffset:(k(e,42)-.5)*6,yWobblePhase:k(e,43)*Math.PI*2,pingedCheckpoints:new Set,opacity:0,scale:.6}},Q=(e,r,i)=>{let a=f(),s=n(()=>{if(!i||e.length===0)return[];let t=e.filter(w),n=t.length,a=Math.min(60,280/Math.max(1,n)),o=100+(280-a*n)/2,s=v(r);return t.map((e,t)=>{let n=b(e),r=X(e),i=j(e),c=(k(n,20)-.5)*a*.2;return{key:n,task:e,shipType:y(e,s),progress:r,laneY:o+t*a+a/2+c,style:i}})},[r,i,e]),l=n(()=>!i||e.length===0?0:e.filter(C).length,[i,e]),u=o(new Map),d=o(null),g=h({});c(()=>{(!i||s.length===0)&&(u.current.clear(),g.value={})},[s.length,i]);let _=t(()=>{if(s.length===0)return;let e=performance.now(),t={},n=!1;s.forEach((r,i)=>{let o=u.current.get(r.key),s=r.progress.target,c=r.progress.confirmed;if(o||(o=Z(r.key,e,r.progress),u.current.set(r.key,o),m.to(o,{opacity:1,scale:1,duration:a?0:1.6,ease:`power2.out`,delay:a?0:i*.12})),p(r.task)===`RUNNING`&&o.currentProgress>J.CODING_COMPLETED){let t=Z(r.key,e);o.currentProgress=t.currentProgress,o.currentY=t.currentY,o.lastTime=t.lastTime,o.yWobbleOffset=t.yWobbleOffset,o.yWobblePhase=t.yWobblePhase,o.pingedCheckpoints.clear()}let l=e-o.lastTime;if(o.lastTime=e,a)o.currentProgress=s,o.currentY=r.laneY;else{if(o.currentProgress<c&&(o.currentProgress+=(c-o.currentProgress)*.12,c-o.currentProgress<.002&&(o.currentProgress=c)),!r.progress.stopped&&Math.abs(s-o.currentProgress)>5e-4){let e=1-.5**(l/Y);o.currentProgress+=(s-o.currentProgress)*e}let e=r.laneY,t=e-o.currentY;if(Math.abs(t)>.5){let e=1-.5**(l/3e3);o.currentY+=t*e,o.yWobblePhase+=l*8e-4;let n=Math.sin(o.yWobblePhase)*o.yWobbleOffset*Math.min(1,Math.abs(t)/30);o.currentY+=n*e*.3}else o.currentY=e}let d=e=>{o.currentProgress>=e&&!o.pingedCheckpoints.has(e)&&(o.pingedCheckpoints.add(e),o.pingedCheckpoints=new Set(o.pingedCheckpoints))};d(J.CI),d(J.AUTOMERGE),d(J.COMPLETED);let f=120+o.currentProgress*D;t[r.key]={x:f,y:o.currentY,scale:o.scale,opacity:o.opacity,pingedCheckpoints:o.pingedCheckpoints},n=!0}),n&&(g.value=t)},[s]);return c(()=>{if(s.length===0)return;let e=new Set(s.map(e=>e.key));for(let t of u.current.keys())e.has(t)||u.current.delete(t);let t=()=>_();return d.current=t,m.ticker.add(t),()=>{d.current&&=(m.ticker.remove(d.current),null)}},[s,_]),{activeShips:s,harbourCount:l,animatedPositionsSignal:g}};l();var $=({tasks:e,dispatches:i,hasSprintContext:a})=>{let s=o(null),c=A(),{activeShips:l,harbourCount:u,animatedPositionsSignal:p}=Q(e,i,a),m=p.value,g=n(()=>x(l.length),[l.length]),_=o(null),v=h([]),y=o(0),b=o(0),S=f(),C=t(e=>{if(S)return;let t=_.current;if(!t)return;let n=performance.now();if(n-b.current<200)return;b.current=n;let r=t.getBoundingClientRect(),i=(e.clientX-r.left)/r.width*T,a=(e.clientY-r.top)/r.height*440,o=++y.current;v.value=[...v.value.slice(-6),{x:i,y:a,id:o}],setTimeout(()=>{v.value=v.value.filter(e=>e.id!==o)},2e3)},[S]);return!a||e.length===0?r(`div`,{className:`relative boat-race-bleed`,children:r(`div`,{className:`relative overflow-hidden p-12`,children:[r(`div`,{className:`absolute inset-0 pointer-events-none overflow-hidden`,children:r(`svg`,{viewBox:`0 0 600 120`,className:`absolute bottom-0 w-full opacity-[0.04]`,preserveAspectRatio:`none`,children:[r(`path`,{d:`M0 80 Q75 55 150 80 T300 80 T450 80 T600 80 V120 H0 Z`,fill:`currentColor`,children:r(`animateTransform`,{attributeName:`transform`,type:`translate`,values:`0 0;-50 4;0 0`,dur:`8s`,repeatCount:`indefinite`})}),r(`path`,{d:`M0 90 Q100 70 200 90 T400 90 T600 90 V120 H0 Z`,fill:`currentColor`,opacity:`0.5`,children:r(`animateTransform`,{attributeName:`transform`,type:`translate`,values:`0 0;30 -3;0 0`,dur:`6s`,repeatCount:`indefinite`})})]})}),r(`div`,{className:`relative z-10 flex items-center justify-center py-10`,children:r(`div`,{className:`text-center`,children:[r(`div`,{className:`relative inline-flex items-center justify-center w-20 h-20 mb-6`,children:[r(`div`,{className:`absolute inset-0 rounded-full border border-black/[0.04] dark:border-white/[0.04]`}),r(`div`,{className:`absolute inset-2 rounded-full border border-black/[0.03] dark:border-white/[0.03] animate-[spin_30s_linear_infinite]`}),r(`div`,{className:`absolute inset-4 rounded-full bg-signal-500/[0.06] animate-pulse`}),r(d,{className:`w-7 h-7 text-slate-400 dark:text-white/20`,strokeWidth:1.2})]}),r(`p`,{className:`text-[10px] font-bold uppercase tracking-[0.3em] text-slate-500 dark:text-white/25`,children:`Fleet Awaiting Departure`}),r(`p`,{className:`text-[11px] text-slate-400/60 dark:text-white/12 mt-3 font-mono max-w-xs mx-auto`,children:a?`No tasks currently in the pipeline`:`Launch a sprint to begin the race`})]})})]})}):r(`div`,{className:`relative boat-race-bleed`,children:r(`div`,{className:`relative overflow-hidden`,children:[r(`div`,{className:`relative z-20 flex items-center justify-between px-8 pt-5 pb-1`,children:[r(`div`,{className:`flex items-center gap-3`,children:[r(`div`,{className:`relative w-2.5 h-2.5`,children:[r(`div`,{className:`absolute inset-0 rounded-full bg-signal-500 shadow-[0_0_10px_rgba(0,224,160,0.6)]`}),r(`div`,{className:`absolute inset-0 rounded-full bg-signal-500 animate-ping opacity-30`})]}),r(`span`,{className:`text-[9px] font-bold uppercase tracking-[0.2em] text-slate-500 dark:text-white/35`,children:`Sprint Race`}),r(`span`,{className:`text-[8px] font-mono text-slate-400 dark:text-white/15 ml-1`,children:[l.length+u,` vessel`,l.length+u===1?``:`s`]})]}),r(`div`,{className:`flex items-center gap-5 text-[7px] font-mono text-slate-400 dark:text-white/20 uppercase tracking-wider`,children:[r(`span`,{className:`flex items-center gap-1.5`,children:[r(`span`,{className:`inline-block w-2.5 h-1.5 rounded-[1px] bg-gradient-to-r from-[#E74C3C]/60 to-[#3498DB]/60`}),`Container`]}),r(`span`,{className:`flex items-center gap-1.5`,children:[r(`span`,{className:`inline-block w-2.5 h-2.5 rounded-sm border border-[#7A5518]/50 bg-[#5C3D0E]/30`}),`Wooden`]})]})]}),r(`svg`,{ref:_,viewBox:`0 0 ${T} 440`,className:`w-full`,role:`img`,"aria-label":`Sprint Boat Race: Visual representation of task progress as ships racing across a harbour toward the finish line.`,style:{height:`${g}px`},preserveAspectRatio:`xMidYMid meet`,onMouseMove:C,children:[r(L,{isDark:c,ripples:v.value}),r(V,{isDark:c,waitingCount:u}),r(z,{isDark:c,activeShips:l}),r(q,{activeShips:l,animatedPositions:m,isDark:c,shipsGroupRef:s,TOW_LINE_LENGTH:70,BADGE_OFFSET:128})]})]})})};export{$ as SprintBoatRace};
|
|
1
|
+
import{O as e,S as t,_ as n,a as r,c as i,f as a,h as o,j as s,w as c,x as l,y as u}from"./vendor-Dl0fhdV0.js";import{t as d}from"./anchor-CpTtI1nV.js";import{t as f}from"./use-reduced-motion-Dxh6NCDM.js";import{bt as p,pr as m}from"./index-DdNzHP9F.js";import{n as h}from"./signals.module-7u1xQmIO.js";l();var g=800,_=[{progress:.25,label:`CODING`,color:`#00E0A0`},{progress:.48,label:`CODE DONE`,color:`#0F9FA8`},{progress:.62,label:`CI`,color:`#5dade2`},{progress:.72,label:`QA`,color:`#D97706`},{progress:.78,label:`MERGE`,color:`#FFB800`},{progress:.96,label:`COMPLETED`,color:`#00AB84`}];function v(e){let t=new Map;for(let n of e)n.taskId&&t.set(n.taskId,n),n.taskKey&&t.set(n.taskKey,n);return t}function y(e,t){return((e.record_id?t.get(e.record_id):void 0)||(e.id?t.get(e.id):void 0))?.executorType===`docker_cli`?`container`:e.provider===`jules`?`wooden`:`container`}function b(e){let t=typeof e.record_id==`string`?e.record_id.trim():``;if(t)return t;let n=typeof e.project_id==`string`?e.project_id.trim():``,r=typeof e.sprint_id==`string`?e.sprint_id.trim():``;return[n||`project`,r||`sprint`,e.id].join(`:`)}function x(e){return g}function S(){return _}function C(e){let t=p(e);return t===`PENDING`||t===`BLOCKED`||t===`QUOTA`}function w(e){return!C(e)}a();var T=1400,E=1320,D=E-100-40,O=e=>{let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t)},k=(e,t=0)=>O(`${e}:${t}`)%1e4/1e4,A=()=>{let[e,t]=u(()=>document.documentElement.classList.contains(`dark`));return c(()=>{let e=new MutationObserver(()=>{t(document.documentElement.classList.contains(`dark`))});return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]),e},j=e=>{switch(p(e)){case`RUNNING`:return{color:`#00E0A0`,label:`Coding`,dim:!1};case`CODING_COMPLETED`:{let t=e.merge_indicator;return t===`AUTOMERGE`?{color:`#FFB800`,label:`Automerge`,dim:!1}:t===`CI`?{color:`#5dade2`,label:`CI`,dim:!1}:t===`QA_PENDING`?{color:`#D97706`,label:`QA Pending`,dim:!1}:t===`MERGE_BLOCKED`?{color:`#F59E0B`,label:`Blocked`,dim:!1}:t===`MERGE_CONFLICT`?{color:`#E3000F`,label:`Conflict`,dim:!1}:{color:`#0F9FA8`,label:`Coding Done`,dim:!1}}case`COMPLETED`:return{color:`#00AB84`,label:`Completed`,dim:!1};case`FAILED`:return{color:`#E3000F`,label:`Failed`,dim:!0};case`BLOCKED`:return{color:`#F59E0B`,label:`Blocked`,dim:!0};case`PENDING`:return{color:`#475569`,label:`Queued`,dim:!0};default:return{color:`#475569`,label:`—`,dim:!0}}},M=i(({x:e,color:t,label:n,isDark:i})=>{let a=f();return r(`g`,{children:[r(`line`,{x1:e,y1:95,x2:e,y2:385,stroke:i?`white`:`black`,strokeWidth:.3,strokeDasharray:`3,12`,opacity:.06}),r(`g`,{transform:`translate(${e}, 82)`,children:[r(`ellipse`,{cx:0,cy:14,rx:8,ry:3,fill:t,opacity:.06}),r(`rect`,{x:-5,y:0,width:10,height:12,rx:3,fill:i?`#0a1520`:`#e2d6c6`,stroke:t,strokeWidth:.6,opacity:.5}),r(`circle`,{cx:0,cy:-2,r:2,fill:t,opacity:.4,children:!a&&r(`animate`,{attributeName:`opacity`,values:`0.4;0.15;0.4`,dur:`2s`,repeatCount:`indefinite`})}),r(`text`,{y:-8,textAnchor:`middle`,fill:t,fontSize:5.5,fontFamily:`monospace`,fontWeight:`bold`,letterSpacing:`0.1em`,opacity:.4,children:n})]})]})}),N=i(({x:e,isDark:t})=>{let n=f();return r(`g`,{children:[r(`ellipse`,{cx:e,cy:440/2,rx:60,ry:440*.65,fill:`url(#br-finish-glow)`}),r(`line`,{x1:e-4,y1:24,x2:e-4,y2:392,stroke:t?`#1a3050`:`#8395a7`,strokeWidth:2.5,opacity:.5}),r(`line`,{x1:e+18,y1:24,x2:e+18,y2:392,stroke:t?`#1a3050`:`#8395a7`,strokeWidth:2.5,opacity:.5}),r(`defs`,{children:r(`pattern`,{id:`br-checker`,width:`6`,height:`6`,patternUnits:`userSpaceOnUse`,children:[r(`rect`,{width:`3`,height:`3`,fill:t?`white`:`#1e293b`,opacity:.6}),r(`rect`,{x:`3`,y:`3`,width:`3`,height:`3`,fill:t?`white`:`#1e293b`,opacity:.6})]})}),r(`rect`,{x:e-2,y:24,width:18,height:14,rx:1.5,fill:`url(#br-checker)`,opacity:t?.4:.5,children:!n&&r(`animate`,{attributeName:`width`,values:`18;19.5;18`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`line`,{x1:e-8,y1:88,x2:e-8,y2:392,stroke:`#00E0A0`,strokeWidth:1.8,opacity:.08,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.08;0.2;0.08`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`line`,{x1:e-8,y1:88,x2:e-8,y2:392,stroke:`#00E0A0`,strokeWidth:6,opacity:.02,filter:`url(#br-glow2)`,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.02;0.06;0.02`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e-4,cy:22,r:2.5,fill:`#00E0A0`,opacity:.4,filter:`url(#br-glow)`,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.4;0.15;0.4`,dur:`2s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e+18,cy:22,r:2.5,fill:`#00E0A0`,opacity:.4,filter:`url(#br-glow)`,children:!n&&r(`animate`,{attributeName:`opacity`,values:`0.4;0.15;0.4`,dur:`2s`,repeatCount:`indefinite`,begin:`0.5s`})}),r(`text`,{x:e+7,y:424,textAnchor:`middle`,fill:`#00E0A0`,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,letterSpacing:`0.3em`,opacity:.3,children:`FINISH`})]})}),P=Array.from({length:30},(e,t)=>({cx:40+O(`sx${t}`)%(T-80),cy:4+O(`sy${t}`)%55,r:.3+O(`sr${t}`)%8/10,dur:2+O(`sd${t}`)%40/10,op:.04+O(`so${t}`)%10/100})),F=i(({isDark:e})=>{let t=f();return e?r(`g`,{children:[r(`circle`,{cx:T*.88,cy:28,r:22,fill:`#E8E4D0`,opacity:.04}),r(`circle`,{cx:T*.88,cy:28,r:16,fill:`#E8E4D0`,opacity:.06}),r(`circle`,{cx:T*.88,cy:28,r:11,fill:`#F0ECD8`,opacity:.08}),r(`circle`,{cx:T*.88+5,cy:26,r:9,fill:`#030810`,opacity:.06}),P.map((e,n)=>r(`circle`,{cx:e.cx,cy:e.cy,r:e.r,fill:`white`,opacity:e.op,children:!t&&r(`animate`,{attributeName:`opacity`,values:`${e.op};${e.op+.12};${e.op}`,dur:`${e.dur}s`,repeatCount:`indefinite`})},`s${n}`))]}):r(`g`,{children:[r(`circle`,{cx:T*.85,cy:36,r:40,fill:`#FFB800`,opacity:.04}),r(`circle`,{cx:T*.85,cy:36,r:24,fill:`#FFB800`,opacity:.06}),r(`circle`,{cx:T*.85,cy:36,r:14,fill:`#FFD060`,opacity:.12}),[...Array(8)].map((e,n)=>{let i=n*45*Math.PI/180;return r(`line`,{x1:T*.85+Math.cos(i)*18,y1:36+Math.sin(i)*18,x2:T*.85+Math.cos(i)*32,y2:36+Math.sin(i)*32,stroke:`#FFB800`,strokeWidth:1.5,opacity:.08,strokeLinecap:`round`,children:!t&&r(`animate`,{attributeName:`opacity`,values:`0.08;0.15;0.08`,dur:`${3+n*.3}s`,repeatCount:`indefinite`})},`ray${n}`)}),[[180,20],[400,35],[900,15]].map(([e,t],n)=>r(`g`,{opacity:.06,children:[r(`ellipse`,{cx:e,cy:t,rx:30,ry:8,fill:`#64748b`}),r(`ellipse`,{cx:e+20,cy:t-3,rx:20,ry:7,fill:`#64748b`}),r(`ellipse`,{cx:e-15,cy:t+2,rx:18,ry:6,fill:`#64748b`})]},`cloud${n}`))]})}),I=i(({isDark:e})=>{let t=f(),n=e?`white`:`#334155`;return r(`g`,{children:[80,140,200,260,320,380].map((i,a)=>{let o=3+a*.6,s=160+a*15,c=7+a*1.5,l=e?.02+a*.004:.03+a*.005;return r(`path`,{d:`M-100 ${i} ${Array.from({length:10},(e,t)=>{let n=-100+t*s,r=n+s/2,a=n+s;return`Q${r} ${i-o} ${a} ${i}`}).join(` `)}`,fill:`none`,stroke:n,strokeWidth:.4,opacity:l,children:!t&&r(`animateTransform`,{attributeName:`transform`,type:`translate`,values:`0 0; ${s/3} ${o*.4}; 0 0`,dur:`${c}s`,repeatCount:`indefinite`})},a)})})}),L=i(({isDark:e,ripples:t})=>{let n=f();return r(`g`,{children:[r(`defs`,{children:[r(`linearGradient`,{id:`br-wake`,x1:`1`,y1:`0.5`,x2:`0`,y2:`0.5`,children:[r(`stop`,{offset:`0%`,stopColor:e?`white`:`#334155`,stopOpacity:.14}),r(`stop`,{offset:`50%`,stopColor:e?`white`:`#334155`,stopOpacity:.04}),r(`stop`,{offset:`100%`,stopColor:e?`white`:`#334155`,stopOpacity:0})]}),r(`radialGradient`,{id:`br-harbour-glow`,cx:`0.5`,cy:`0.5`,r:`0.5`,children:[r(`stop`,{offset:`0%`,stopColor:`#FFB800`,stopOpacity:e?.06:.04}),r(`stop`,{offset:`100%`,stopColor:`transparent`})]}),r(`radialGradient`,{id:`br-finish-glow`,cx:`0.5`,cy:`0.5`,r:`0.5`,children:[r(`stop`,{offset:`0%`,stopColor:`#00AB84`,stopOpacity:e?.08:.05}),r(`stop`,{offset:`100%`,stopColor:`transparent`})]}),r(`filter`,{id:`br-glow`,children:[r(`feGaussianBlur`,{stdDeviation:`2.5`}),r(`feMerge`,{children:[r(`feMergeNode`,{}),r(`feMergeNode`,{in:`SourceGraphic`})]})]}),r(`filter`,{id:`br-glow2`,children:[r(`feGaussianBlur`,{stdDeviation:`6`}),r(`feMerge`,{children:[r(`feMergeNode`,{}),r(`feMergeNode`,{in:`SourceGraphic`})]})]}),r(`filter`,{id:`br-ripple`,children:r(`feGaussianBlur`,{stdDeviation:`1.5`})})]}),r(F,{isDark:e}),r(I,{isDark:e}),t.map(t=>r(`g`,{children:[r(`circle`,{cx:t.x,cy:t.y,r:2,fill:`none`,stroke:e?`white`:`#334155`,strokeWidth:.5,opacity:n?.12:0,children:[!n&&r(`animate`,{attributeName:`r`,values:`2;40`,dur:`2s`,fill:`freeze`}),!n&&r(`animate`,{attributeName:`opacity`,values:`0.12;0`,dur:`2s`,fill:`freeze`})]}),r(`circle`,{cx:t.x,cy:t.y,r:2,fill:`none`,stroke:e?`white`:`#334155`,strokeWidth:.3,opacity:n?.08:0,children:[!n&&r(`animate`,{attributeName:`r`,values:`2;25`,dur:`1.5s`,fill:`freeze`}),!n&&r(`animate`,{attributeName:`opacity`,values:`0.08;0`,dur:`1.5s`,fill:`freeze`})]})]},t.id))]})}),R=S(),z=i(({isDark:e,activeShips:t})=>r(`g`,{children:[R.map(t=>r(M,{x:120+t.progress*D,label:t.label,color:t.color,isDark:e},t.label)),r(N,{x:E,isDark:e}),t.map(t=>r(`line`,{x1:140,y1:t.laneY+16,x2:E-20,y2:t.laneY+16,stroke:e?`white`:`black`,strokeWidth:.2,strokeDasharray:`2,24`,opacity:.025},`ln-${t.key}`))]}));a();var B=i(({x:e,waitingCount:t,isDark:n})=>{let i=n?`#0c1825`:`#c8d6e5`,a=n?`#162840`:`#8395a7`,o=n?`#101c2e`:`#a4b0be`,s=n?`#1a3050`:`#8395a7`,c=n?`#0e1e30`:`#a4b0be`,l=n?`#152540`:`#8395a7`,u=n?`#FFCC44`:`#FFB800`,d=n?`#FFB800`:`#F59E0B`,f=n?`#1a3050`:`#8395a7`,p=n?`#1e3a5e`:`#8395a7`;return r(`g`,{children:[r(`ellipse`,{cx:e,cy:440/2,rx:90,ry:440*.6,fill:`url(#br-harbour-glow)`}),[0,14,28,42].map(t=>r(`rect`,{x:e+t-6,y:70,width:5,height:330,fill:c,opacity:.6,rx:1.5},t)),[95,140,185,230,275,320].map(t=>r(`line`,{x1:e-8,y1:t,x2:e+44,y2:t,stroke:l,strokeWidth:2.5,opacity:.35},t)),r(`rect`,{x:e-36,y:30,width:56,height:65,rx:2,fill:i,stroke:a,strokeWidth:.8}),r(`path`,{d:`M${e-40} 30 L${e-8} 10 L${e+24} 30 Z`,fill:o,stroke:s,strokeWidth:.6}),r(`line`,{x1:e-8,y1:10,x2:e-8,y2:6,stroke:s,strokeWidth:1.2}),r(`line`,{x1:e-8,y1:6,x2:e+2,y2:4,stroke:n?`#2a4a70`:`#8395a7`,strokeWidth:.6}),r(`polygon`,{points:`${e+2},2 ${e+6},4 ${e+2},6`,fill:`#FFB800`,opacity:n?.5:.7}),[[e-30,40],[e-18,40],[e-6,40],[e+6,40],[e-30,56],[e-18,56],[e-6,56],[e+6,56]].map(([e,t],i)=>r(`g`,{children:[r(`rect`,{x:e,y:t,width:8,height:10,rx:1,fill:d,opacity:n?.06:.12}),r(`rect`,{x:e+1,y:t+1,width:6,height:8,rx:.8,fill:u,opacity:n?.12:.25,children:r(`animate`,{attributeName:`opacity`,values:`${n?.12:.25};${(n?.06:.15)+O(`w${i}`)%8/100};${n?.12:.25}`,dur:`${3+O(`wd${i}`)%30/10}s`,repeatCount:`indefinite`})})]},i)),r(`path`,{d:`M${e-10} 95 Q${e+4} 76 ${e+18} 95`,fill:`none`,stroke:s,strokeWidth:1.5}),r(`rect`,{x:e-10,y:85,width:28,height:10,fill:n?`#060e18`:`#a4b0be`,opacity:.6,rx:1}),r(`g`,{opacity:n?.25:.35,children:[r(`line`,{x1:e+30,y1:60,x2:e+30,y2:15,stroke:p,strokeWidth:3}),r(`line`,{x1:e+30,y1:15,x2:e+75,y2:15,stroke:p,strokeWidth:2.2}),r(`line`,{x1:e+30,y1:60,x2:e+75,y2:15,stroke:p,strokeWidth:.8,opacity:.4}),r(`line`,{x1:e+72,y1:15,x2:e+72,y2:34,stroke:p,strokeWidth:.8,strokeDasharray:`2,2`,children:r(`animate`,{attributeName:`y2`,values:`34;42;34`,dur:`4s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e+30,cy:13,r:2.5,fill:`#FFB800`,opacity:.35,filter:`url(#br-glow)`,children:r(`animate`,{attributeName:`opacity`,values:`0.35;0.1;0.35`,dur:`3s`,repeatCount:`indefinite`})})]}),r(`circle`,{cx:e-8,cy:28,r:3,fill:`#FFB800`,opacity:n?.5:.7,filter:`url(#br-glow)`,children:r(`animate`,{attributeName:`opacity`,values:n?`0.5;0.15;0.5`:`0.7;0.3;0.7`,dur:`2.8s`,repeatCount:`indefinite`})}),r(`circle`,{cx:e+38,cy:58,r:2.5,fill:`#FFB800`,opacity:n?.3:.5,filter:`url(#br-glow)`,children:r(`animate`,{attributeName:`opacity`,values:n?`0.3;0.08;0.3`:`0.5;0.2;0.5`,dur:`3.5s`,repeatCount:`indefinite`})}),t>0&&r(`g`,{transform:`translate(${e+4}, 75)`,children:[r(`circle`,{r:14,fill:n?`#0a1520`:`#f0e6d2`,stroke:`#FFB800`,strokeWidth:1.2,opacity:.95}),r(`circle`,{r:14,fill:`none`,stroke:`#FFB800`,strokeWidth:.6,opacity:0,children:[r(`animate`,{attributeName:`opacity`,values:`0;0.5;0`,dur:`2.5s`,repeatCount:`indefinite`}),r(`animate`,{attributeName:`r`,values:`14;18;14`,dur:`2.5s`,repeatCount:`indefinite`})]}),r(`text`,{y:-2,textAnchor:`middle`,fill:`#FFB800`,fontSize:10,fontWeight:`bold`,fontFamily:`monospace`,dominantBaseline:`middle`,opacity:.9,children:t}),r(`text`,{y:9,textAnchor:`middle`,fill:`#FFB800`,fontSize:4.5,fontFamily:`monospace`,dominantBaseline:`middle`,opacity:.5,letterSpacing:`0.1em`,children:`WAITING`})]}),r(`text`,{x:e+4,y:422,textAnchor:`middle`,fill:f,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,letterSpacing:`0.3em`,opacity:n?.5:.6,children:`HARBOUR`})]})}),V=i(({isDark:e,waitingCount:t})=>r(B,{x:60,waitingCount:t,isDark:e}));l(),a(),s();var H=i(({accentColor:e,dim:t,isMoving:n,isDark:i,isFailed:a})=>{let o=f(),s=t?.35:1,c=i?`#0f1d33`:`#c8d6e5`,l=i?`#1a3050`:`#8395a7`,u=i?`#162840`:`#a4b0be`,d=i?`#1a2d50`:`#8395a7`,p=i?`#25406a`:`#576574`,m=i?`#1e3450`:`#8395a7`,h=i?`#4a8ad4`:`#2e86de`,g=i?`#b8c8d8`:`#636e72`,_=i?`#4b5563`:`#374151`;return r(`g`,{opacity:s,children:[r(`ellipse`,{cx:0,cy:24,rx:46,ry:8,fill:e,opacity:.08,children:n&&!o&&r(`animate`,{attributeName:`ry`,values:`8;10;8`,dur:`2.5s`,repeatCount:`indefinite`})}),r(`ellipse`,{cx:3,cy:20,rx:40,ry:6,fill:i?`black`:`#2d3436`,opacity:i?.4:.15}),r(`path`,{d:`M-40 3 L-35 16 Q-32 20 0 20 Q32 20 35 16 L40 3 L34 -6 Q20 -10 0 -10 Q-20 -10 -34 -6 Z`,fill:c,stroke:l,strokeWidth:.8}),r(`path`,{d:`M-35 16 Q0 21 35 16 Q32 20 0 20 Q-32 20 -35 16 Z`,fill:e,opacity:.18}),r(`rect`,{x:-33,y:-7,width:66,height:9,rx:1.5,fill:u}),[[`#E74C3C`,-29],[`#3498DB`,-18],[`#F1C40F`,-7],[`#2ECC71`,4],[`#9B59B6`,15]].map(([e,t])=>r(`rect`,{x:t,y:-10,width:10,height:7,rx:1.2,fill:e,opacity:.85},t)),[[`#E67E22`,-26],[`#1ABC9C`,-15],[`#E74C3C`,-4],[`#3498DB`,7]].map(([e,t])=>r(`rect`,{x:t,y:-17,width:10,height:6.5,rx:1.2,fill:e,opacity:.65},t)),r(`rect`,{x:-6,y:-29,width:12,height:12,rx:2,fill:d,stroke:p,strokeWidth:.6}),r(`rect`,{x:-4.5,y:-27,width:9,height:4,rx:1,fill:h,opacity:i?.25:.5}),r(`rect`,{x:-4.5,y:-22,width:9,height:2.5,rx:.6,fill:h,opacity:i?.15:.35}),r(`rect`,{x:-3,y:-37,width:6,height:8,rx:1.8,fill:m}),r(`rect`,{x:-2.5,y:-37.5,width:5,height:2.5,rx:1,fill:e,opacity:.9}),r(`line`,{x1:0,y1:-29,x2:0,y2:-40,stroke:p,strokeWidth:.8}),r(`circle`,{cx:0,cy:-40.5,r:1.2,fill:e,opacity:.5,children:o?null:r(`animate`,{attributeName:`opacity`,values:`0.5;0.1;0.5`,dur:`1.8s`,repeatCount:`indefinite`})}),r(`circle`,{cx:-36,cy:0,r:1.5,fill:`#E3000F`,opacity:.7}),r(`circle`,{cx:36,cy:0,r:1.5,fill:`#2ECC71`,opacity:.7}),n&&r(`g`,{opacity:.12,children:[0,1,2,3,4].map(e=>r(`circle`,{cx:-2+e*.8,cy:-37,r:1,fill:g,children:[o?null:r(`animate`,{attributeName:`cy`,values:`-37;-62`,dur:`${2+e*.5}s`,repeatCount:`indefinite`,begin:`${e*.5}s`}),o?null:r(`animate`,{attributeName:`r`,values:`1;5`,dur:`${2+e*.5}s`,repeatCount:`indefinite`,begin:`${e*.5}s`}),o?null:r(`animate`,{attributeName:`opacity`,values:`0.2;0`,dur:`${2+e*.5}s`,repeatCount:`indefinite`,begin:`${e*.5}s`})]},e))}),a&&r(`g`,{opacity:.8,children:[0,1,2,3,4].map(e=>r(`circle`,{cx:e*2-4,cy:-5,r:1.5,fill:_,children:[o?null:r(`animate`,{attributeName:`cy`,values:`-5;-30`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`r`,values:`1.5;6`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`opacity`,values:`0.8;0`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`})]},e))})]})}),U=i(({accentColor:e,dim:t,isMoving:n,isDark:i,isFailed:a})=>{let o=f(),s=t?.35:1,c=i?`#5C3D0E`:`#8B6914`,l=i?`#7A5518`:`#A67B20`,u=i?`#4A3008`:`#7A5518`,d=i?`#7A5518`:`#A67B20`,p=i?`#4A3008`:`#5C3D0E`,m=i?`#F5EFE0`:`#FFF8E7`,h=i?`#C9BFA8`:`#B8A888`,g=i?`#4A3008`:`#7A5518`,_=i?`#FFD080`:`#FFE0A0`,v=i?`#4b5563`:`#374151`;return r(`g`,{opacity:s,children:[r(`ellipse`,{cx:0,cy:24,rx:38,ry:7,fill:e,opacity:.06,children:n&&!o?r(`animate`,{attributeName:`ry`,values:`7;9;7`,dur:`2.8s`,repeatCount:`indefinite`}):null}),r(`ellipse`,{cx:3,cy:20,rx:36,ry:5.5,fill:i?`black`:`#2d3436`,opacity:i?.35:.12}),r(`path`,{d:`M-32 5 Q-36 5 -32 17 L-24 20 Q0 22 24 20 L32 17 Q36 5 32 5 Z`,fill:c,stroke:l,strokeWidth:.9}),r(`path`,{d:`M-29 10 Q0 8 29 10`,fill:`none`,stroke:u,strokeWidth:.5,opacity:.45}),r(`path`,{d:`M-27 14 Q0 12 27 14`,fill:`none`,stroke:u,strokeWidth:.4,opacity:.35}),r(`path`,{d:`M-32 17 Q0 20 32 17 Q30 19 0 19 Q-30 19 -32 17 Z`,fill:e,opacity:.1}),r(`path`,{d:`M-28 5 Q0 2 28 5 Q22 2 0 2 Q-22 2 -28 5 Z`,fill:d,opacity:.85}),[-22,-14,-6,2,10,18].map(e=>r(`line`,{x1:e,y1:2,x2:e,y2:-1.5,stroke:i?`#8B6914`:`#A67B20`,strokeWidth:.5,opacity:.35},e)),r(`line`,{x1:-24,y1:-1,x2:24,y2:-1,stroke:i?`#8B6914`:`#A67B20`,strokeWidth:.5,opacity:.3}),r(`line`,{x1:-2,y1:2,x2:-2,y2:-48,stroke:p,strokeWidth:3}),r(`line`,{x1:-22,y1:-36,x2:18,y2:-36,stroke:p,strokeWidth:2}),r(`line`,{x1:-18,y1:-24,x2:14,y2:-24,stroke:p,strokeWidth:1.3}),r(`path`,{d:`M0 -46 Q22 -34 22 -14 L0 -10 Z`,fill:m,opacity:.92,stroke:h,strokeWidth:.6,children:o?null:r(`animate`,{attributeName:`d`,values:`M0 -46 Q22 -34 22 -14 L0 -10 Z;M0 -46 Q24 -33 23 -13 L0 -10 Z;M0 -46 Q22 -34 22 -14 L0 -10 Z`,dur:`5s`,repeatCount:`indefinite`})}),r(`path`,{d:`M0 -46 Q14 -42 14 -36 L0 -34 Z`,fill:m,opacity:.7,stroke:h,strokeWidth:.4,children:o?null:r(`animate`,{attributeName:`d`,values:`M0 -46 Q14 -42 14 -36 L0 -34 Z;M0 -46 Q15 -41 15 -35 L0 -34 Z;M0 -46 Q14 -42 14 -36 L0 -34 Z`,dur:`4s`,repeatCount:`indefinite`})}),r(`path`,{d:`M-4 -44 Q-18 -32 -18 -14 L-4 -12 Z`,fill:m,opacity:.75,stroke:h,strokeWidth:.4,children:o?null:r(`animate`,{attributeName:`d`,values:`M-4 -44 Q-18 -32 -18 -14 L-4 -12 Z;M-4 -44 Q-20 -31 -19 -13 L-4 -12 Z;M-4 -44 Q-18 -32 -18 -14 L-4 -12 Z`,dur:`4.5s`,repeatCount:`indefinite`})}),r(`line`,{x1:-2,y1:-46,x2:22,y2:-14,stroke:p,strokeWidth:.3,opacity:.3}),r(`line`,{x1:-2,y1:-46,x2:-18,y2:-14,stroke:p,strokeWidth:.3,opacity:.3}),r(`path`,{d:`M-2 -48 L10 -46 L-2 -44`,fill:e,opacity:.9,children:o?null:r(`animate`,{attributeName:`d`,values:`M-2 -48 L10 -46 L-2 -44;M-2 -48 L11 -45.5 L-2 -44;M-2 -48 L10 -46 L-2 -44`,dur:`2s`,repeatCount:`indefinite`})}),r(`line`,{x1:18,y1:3,x2:18,y2:-22,stroke:p,strokeWidth:1.6}),r(`rect`,{x:-20,y:-4.5,width:12,height:6.5,rx:1.5,fill:g,opacity:.75}),r(`rect`,{x:-18,y:-3.5,width:4.5,height:4,rx:.8,fill:_,opacity:.35}),r(`rect`,{x:-12.5,y:-3.5,width:3.5,height:4,rx:.8,fill:_,opacity:.25}),r(`circle`,{cx:30,cy:4,r:2,fill:`#FFB800`,opacity:.6,children:o?null:r(`animate`,{attributeName:`opacity`,values:`0.6;0.15;0.6`,dur:`3.5s`,repeatCount:`indefinite`})}),r(`circle`,{cx:-30,cy:8,r:1.4,fill:e,opacity:.4,children:o?null:r(`animate`,{attributeName:`opacity`,values:`0.4;0.1;0.4`,dur:`2.5s`,repeatCount:`indefinite`})}),a&&r(`g`,{opacity:.8,children:[0,1,2,3,4].map(e=>r(`circle`,{cx:e*2-4,cy:0,r:1.5,fill:v,children:[o?null:r(`animate`,{attributeName:`cy`,values:`0;-25`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`r`,values:`1.5;6`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`}),o?null:r(`animate`,{attributeName:`opacity`,values:`0.8;0`,dur:`${1.5+e*.4}s`,repeatCount:`indefinite`,begin:`${e*.3}s`})]},e))})]})}),W=i(({color:e,length:t})=>{let n=f(),i=t/6;return r(`g`,{children:[r(`line`,{x1:0,y1:0,x2:-t,y2:0,stroke:e,strokeWidth:.5,opacity:.15,strokeDasharray:`2,3`}),Array.from({length:5},(t,a)=>{let o=-(i*(a+1)),s=a*.18;return r(`circle`,{cx:o,cy:0,r:1.8-a*.15,fill:e,opacity:.4,children:[n?null:r(`animate`,{attributeName:`cy`,values:`0;-2;0;2;0`,dur:`1.6s`,repeatCount:`indefinite`,begin:`${s}s`}),n?null:r(`animate`,{attributeName:`opacity`,values:`0.4;0.7;0.4`,dur:`1.6s`,repeatCount:`indefinite`,begin:`${s}s`})]},a)})]})}),G=i(({taskId:t,title:n,style:i,mergeIndicator:a,isRunning:o,isDark:s})=>{let c=f(),l=s?`rgba(4,8,16,0.92)`:`rgba(255,255,255,0.92)`,u=s?`white`:`#1e293b`;return r(`g`,{children:[r(`circle`,{r:22,fill:i.color,opacity:.06}),r(`rect`,{x:-58,y:-12,width:116,height:24,rx:12,fill:l,stroke:i.color,strokeWidth:.8,strokeOpacity:.5}),o&&r(`rect`,{x:-58,y:-12,width:116,height:24,rx:12,fill:`none`,stroke:i.color,strokeWidth:.9,opacity:0,children:[c?null:r(`animate`,{attributeName:`opacity`,values:`0;0.4;0`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`x`,values:`-58;-61`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`y`,values:`-12;-15`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`width`,values:`116;122`,dur:`2s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`height`,values:`24;30`,dur:`2s`,repeatCount:`indefinite`})]}),r(`circle`,{cx:-42,cy:0,r:o?3.5:2.5,fill:i.color,children:o&&r(e,{children:[c?null:r(`animate`,{attributeName:`r`,values:`3.5;4.5;3.5`,dur:`1.5s`,repeatCount:`indefinite`}),c?null:r(`animate`,{attributeName:`opacity`,values:`1;0.5;1`,dur:`1.5s`,repeatCount:`indefinite`})]})}),r(`text`,{x:-32,y:1,fill:i.color,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,opacity:.9,dominantBaseline:`middle`,children:i.label}),r(`text`,{x:16,y:1,fill:u,fontSize:7.5,fontFamily:`monospace`,fontWeight:`bold`,opacity:s?.4:.5,dominantBaseline:`middle`,children:[`#`,t]}),a&&r(`g`,{transform:`translate(44, 0)`,children:[r(`circle`,{r:7,fill:a===`MERGED`?`#00AB84`:a===`CI`?`#5dade2`:a===`QA_PENDING`?`#D97706`:a===`MERGE_CONFLICT`?`#E3000F`:`#F59E0B`,opacity:.85}),r(`text`,{y:.5,textAnchor:`middle`,fill:`white`,fontSize:5.2,fontWeight:`bold`,fontFamily:`monospace`,dominantBaseline:`middle`,children:a===`MERGED`?`M`:a===`CI`?`CI`:a===`QA_PENDING`?`QA`:a===`MERGE_CONFLICT`?`!`:`AM`})]}),r(`text`,{y:20,textAnchor:`middle`,fill:u,fontSize:6.5,fontFamily:`monospace`,opacity:s?.2:.3,children:n.length>34?n.slice(0,32)+`…`:n})]})}),K=i(({s:t,isDark:n,animatedPositions:i,TOW_LINE_LENGTH:a,BADGE_OFFSET:s})=>{let l=f(),u=p(t.task)===`RUNNING`,d=!t.progress.stopped,h=p(t.task)===`FAILED`,g=i[t.key]||{x:-100,y:0,scale:.6,opacity:0,pingedCheckpoints:new Set},_=g.pingedCheckpoints.size,v=o(null),y=o(null),b=o(t.task.status),x=o(null);c(()=>{if(!x.current)return;let e=x.current,n=d?2.5+k(t.key,2)*2:1+k(t.key,2)*.8,r=3+k(t.key,3)*2,i=[m.to(e,{y:n,rotation:(k(t.key,4)-.5)*(d?3:1),duration:r,ease:`sine.inOut`,repeat:-1,yoyo:!0,delay:k(t.key,1)*4}),m.to(e,{x:d?3+k(t.key,5)*4:1,duration:5+k(t.key,6)*3,ease:`sine.inOut`,repeat:-1,yoyo:!0})];return()=>{i.forEach(e=>e.kill())}},[d,t.key]),c(()=>{let e=t.task.status;b.current!==e&&(e===`FAILED`||e===`BLOCKED`)&&y.current&&m.timeline().to(y.current,{rotation:-15,duration:.15,ease:`power1.inOut`,transformOrigin:`center center`}).to(y.current,{rotation:10,duration:.15,ease:`power1.inOut`,transformOrigin:`center center`}).to(y.current,{rotation:-5,duration:.15,ease:`power1.inOut`,transformOrigin:`center center`}).to(y.current,{rotation:0,duration:.3,ease:`power2.out`,transformOrigin:`center center`}),b.current=e},[t.task.status]);let S=o(_);return c(()=>{_>S.current&&v.current&&m.fromTo(v.current,{opacity:.8,r:0},{opacity:0,r:60,duration:1.5,ease:`power2.out`}),S.current=_},[_]),r(`g`,{className:`race-ship`,transform:`translate(${g.x}, ${g.y}) scale(${g.scale})`,opacity:g.opacity,children:r(`g`,{ref:x,children:[r(`circle`,{ref:v,className:`checkpoint-ping`,cx:0,cy:24,r:0,fill:`none`,stroke:t.style.color,strokeWidth:1.5,opacity:0}),r(`ellipse`,{cx:-45,cy:14,rx:d?60:25,ry:d?4.5:2,fill:`url(#br-wake)`,opacity:d?.3:.06,children:d&&(l?null:r(`animate`,{attributeName:`rx`,values:`55;70;55`,dur:`3s`,repeatCount:`indefinite`}))}),u&&r(e,{children:[r(`ellipse`,{cx:-65,cy:16,rx:30,ry:2.5,fill:n?`white`:`#334155`,opacity:.04,children:l?null:r(`animate`,{attributeName:`rx`,values:`24;36;24`,dur:`4s`,repeatCount:`indefinite`})}),[0,1,2,3,4].map(e=>r(`circle`,{cx:38+e*2,cy:e*2.5,r:.7+e*.15,fill:n?`white`:`#475569`,opacity:0,children:[l?null:r(`animate`,{attributeName:`cy`,values:`${e*2.5};${-6-e*3};${e*2.5}`,dur:`${.5+e*.12}s`,repeatCount:`indefinite`,begin:`${e*.1}s`}),l?null:r(`animate`,{attributeName:`opacity`,values:`0.25;0;0.25`,dur:`${.5+e*.12}s`,repeatCount:`indefinite`,begin:`${e*.1}s`})]},e))]}),r(`ellipse`,{cx:0,cy:24,rx:d?48:34,ry:d?10:6,fill:t.style.color,opacity:d?.08:.03,filter:`url(#br-glow2)`}),r(`g`,{className:`ship-model-wrapper`,ref:y,children:t.shipType===`container`?r(H,{accentColor:t.style.color,dim:t.style.dim,isMoving:d,isDark:n,isFailed:h}):r(U,{accentColor:t.style.color,dim:t.style.dim,isMoving:d,isDark:n,isFailed:h})}),r(`g`,{transform:`translate(-44, 4)`,children:[r(W,{color:t.style.color,length:a}),r(`g`,{transform:`translate(${-s+44}, 0)`,children:r(G,{taskId:t.task.id,title:t.task.title,style:t.style,mergeIndicator:t.task.merge_indicator,isRunning:u,isDark:n})})]})]})})}),q=i(({activeShips:e,animatedPositions:t,isDark:n,shipsGroupRef:i,TOW_LINE_LENGTH:a,BADGE_OFFSET:o})=>r(`g`,{ref:i,children:e.map(e=>r(K,{s:e,isDark:n,animatedPositions:t,TOW_LINE_LENGTH:a,BADGE_OFFSET:o},e.key))}));l();var J={HARBOUR:0,DEPARTURE:.04,RUNNING:.25,CODING_COMPLETED:.48,COMP_TARGET:.56,CI:.62,CI_TARGET:.68,QA:.72,QA_TARGET:.76,AUTOMERGE:.78,AM_TARGET:.9,COMPLETED:.96,FINISH:1.06},Y=4e4,X=e=>{let t=b(e);switch(p(e)){case`PENDING`:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0};case`BLOCKED`:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0};case`QUOTA`:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0};case`FAILED`:return{confirmed:J.DEPARTURE+k(t,30)*.12,target:J.DEPARTURE+k(t,30)*.12,stopped:!0};case`RUNNING`:return{confirmed:J.DEPARTURE,target:J.RUNNING,stopped:!1};case`CODING_COMPLETED`:{let t=e.merge_indicator;return t===`AUTOMERGE`?{confirmed:J.AUTOMERGE,target:J.AM_TARGET,stopped:!1}:t===`CI`?{confirmed:J.CI,target:J.CI_TARGET,stopped:!1}:t===`QA_PENDING`?{confirmed:J.QA,target:J.QA_TARGET,stopped:!1}:t===`MERGE_BLOCKED`||t===`MERGE_CONFLICT`?{confirmed:J.CODING_COMPLETED,target:J.CODING_COMPLETED,stopped:!0}:{confirmed:J.CODING_COMPLETED,target:J.COMP_TARGET,stopped:!1}}case`COMPLETED`:return{confirmed:J.COMPLETED,target:J.FINISH,stopped:!1};default:return{confirmed:J.HARBOUR,target:J.HARBOUR,stopped:!0}}},Z=(e,t,n)=>{let r=(k(e,40)-.5)*.02,i=n?.confirmed??J.HARBOUR;return{currentProgress:i>J.DEPARTURE?Math.min(i,J.FINISH):J.DEPARTURE*.5+r,currentY:240+(k(e,41)-.5)*20,lastTime:t,yWobbleOffset:(k(e,42)-.5)*6,yWobblePhase:k(e,43)*Math.PI*2,pingedCheckpoints:new Set,opacity:0,scale:.6}},Q=(e,r,i)=>{let a=f(),s=n(()=>{if(!i||e.length===0)return[];let t=e.filter(w),n=t.length,a=Math.min(60,280/Math.max(1,n)),o=100+(280-a*n)/2,s=v(r);return t.map((e,t)=>{let n=b(e),r=X(e),i=j(e),c=(k(n,20)-.5)*a*.2;return{key:n,task:e,shipType:y(e,s),progress:r,laneY:o+t*a+a/2+c,style:i}})},[r,i,e]),l=n(()=>!i||e.length===0?0:e.filter(C).length,[i,e]),u=o(new Map),d=o(null),g=h({});c(()=>{(!i||s.length===0)&&(u.current.clear(),g.value={})},[s.length,i]);let _=t(()=>{if(s.length===0)return;let e=performance.now(),t={},n=!1;s.forEach((r,i)=>{let o=u.current.get(r.key),s=r.progress.target,c=r.progress.confirmed;if(o||(o=Z(r.key,e,r.progress),u.current.set(r.key,o),m.to(o,{opacity:1,scale:1,duration:a?0:1.6,ease:`power2.out`,delay:a?0:i*.12})),p(r.task)===`RUNNING`&&o.currentProgress>J.CODING_COMPLETED){let t=Z(r.key,e);o.currentProgress=t.currentProgress,o.currentY=t.currentY,o.lastTime=t.lastTime,o.yWobbleOffset=t.yWobbleOffset,o.yWobblePhase=t.yWobblePhase,o.pingedCheckpoints.clear()}let l=e-o.lastTime;if(o.lastTime=e,a)o.currentProgress=s,o.currentY=r.laneY;else{if(o.currentProgress<c&&(o.currentProgress+=(c-o.currentProgress)*.12,c-o.currentProgress<.002&&(o.currentProgress=c)),!r.progress.stopped&&Math.abs(s-o.currentProgress)>5e-4){let e=1-.5**(l/Y);o.currentProgress+=(s-o.currentProgress)*e}let e=r.laneY,t=e-o.currentY;if(Math.abs(t)>.5){let e=1-.5**(l/3e3);o.currentY+=t*e,o.yWobblePhase+=l*8e-4;let n=Math.sin(o.yWobblePhase)*o.yWobbleOffset*Math.min(1,Math.abs(t)/30);o.currentY+=n*e*.3}else o.currentY=e}let d=e=>{o.currentProgress>=e&&!o.pingedCheckpoints.has(e)&&(o.pingedCheckpoints.add(e),o.pingedCheckpoints=new Set(o.pingedCheckpoints))};d(J.CI),d(J.AUTOMERGE),d(J.COMPLETED);let f=120+o.currentProgress*D;t[r.key]={x:f,y:o.currentY,scale:o.scale,opacity:o.opacity,pingedCheckpoints:o.pingedCheckpoints},n=!0}),n&&(g.value=t)},[s]);return c(()=>{if(s.length===0)return;let e=new Set(s.map(e=>e.key));for(let t of u.current.keys())e.has(t)||u.current.delete(t);let t=()=>_();return d.current=t,m.ticker.add(t),()=>{d.current&&=(m.ticker.remove(d.current),null)}},[s,_]),{activeShips:s,harbourCount:l,animatedPositionsSignal:g}};l();var $=({tasks:e,dispatches:i,hasSprintContext:a})=>{let s=o(null),c=A(),{activeShips:l,harbourCount:u,animatedPositionsSignal:p}=Q(e,i,a),m=p.value,g=n(()=>x(l.length),[l.length]),_=o(null),v=h([]),y=o(0),b=o(0),S=f(),C=t(e=>{if(S)return;let t=_.current;if(!t)return;let n=performance.now();if(n-b.current<200)return;b.current=n;let r=t.getBoundingClientRect(),i=(e.clientX-r.left)/r.width*T,a=(e.clientY-r.top)/r.height*440,o=++y.current;v.value=[...v.value.slice(-6),{x:i,y:a,id:o}],setTimeout(()=>{v.value=v.value.filter(e=>e.id!==o)},2e3)},[S]);return!a||e.length===0?r(`div`,{className:`relative boat-race-bleed`,children:r(`div`,{className:`relative overflow-hidden p-12`,children:[r(`div`,{className:`absolute inset-0 pointer-events-none overflow-hidden`,children:r(`svg`,{viewBox:`0 0 600 120`,className:`absolute bottom-0 w-full opacity-[0.04]`,preserveAspectRatio:`none`,children:[r(`path`,{d:`M0 80 Q75 55 150 80 T300 80 T450 80 T600 80 V120 H0 Z`,fill:`currentColor`,children:r(`animateTransform`,{attributeName:`transform`,type:`translate`,values:`0 0;-50 4;0 0`,dur:`8s`,repeatCount:`indefinite`})}),r(`path`,{d:`M0 90 Q100 70 200 90 T400 90 T600 90 V120 H0 Z`,fill:`currentColor`,opacity:`0.5`,children:r(`animateTransform`,{attributeName:`transform`,type:`translate`,values:`0 0;30 -3;0 0`,dur:`6s`,repeatCount:`indefinite`})})]})}),r(`div`,{className:`relative z-10 flex items-center justify-center py-10`,children:r(`div`,{className:`text-center`,children:[r(`div`,{className:`relative inline-flex items-center justify-center w-20 h-20 mb-6`,children:[r(`div`,{className:`absolute inset-0 rounded-full border border-black/[0.04] dark:border-white/[0.04]`}),r(`div`,{className:`absolute inset-2 rounded-full border border-black/[0.03] dark:border-white/[0.03] animate-[spin_30s_linear_infinite]`}),r(`div`,{className:`absolute inset-4 rounded-full bg-signal-500/[0.06] animate-pulse`}),r(d,{className:`w-7 h-7 text-slate-400 dark:text-white/20`,strokeWidth:1.2})]}),r(`p`,{className:`text-[10px] font-bold uppercase tracking-[0.3em] text-slate-500 dark:text-white/25`,children:`Fleet Awaiting Departure`}),r(`p`,{className:`text-[11px] text-slate-400/60 dark:text-white/12 mt-3 font-mono max-w-xs mx-auto`,children:a?`No tasks currently in the pipeline`:`Launch a sprint to begin the race`})]})})]})}):r(`div`,{className:`relative boat-race-bleed`,children:r(`div`,{className:`relative overflow-hidden`,children:[r(`div`,{className:`relative z-20 flex items-center justify-between px-8 pt-5 pb-1`,children:[r(`div`,{className:`flex items-center gap-3`,children:[r(`div`,{className:`relative w-2.5 h-2.5`,children:[r(`div`,{className:`absolute inset-0 rounded-full bg-signal-500 shadow-[0_0_10px_rgba(0,224,160,0.6)]`}),r(`div`,{className:`absolute inset-0 rounded-full bg-signal-500 animate-ping opacity-30`})]}),r(`span`,{className:`text-[9px] font-bold uppercase tracking-[0.2em] text-slate-500 dark:text-white/35`,children:`Sprint Race`}),r(`span`,{className:`text-[8px] font-mono text-slate-400 dark:text-white/15 ml-1`,children:[l.length+u,` vessel`,l.length+u===1?``:`s`]})]}),r(`div`,{className:`flex items-center gap-5 text-[7px] font-mono text-slate-400 dark:text-white/20 uppercase tracking-wider`,children:[r(`span`,{className:`flex items-center gap-1.5`,children:[r(`span`,{className:`inline-block w-2.5 h-1.5 rounded-[1px] bg-gradient-to-r from-[#E74C3C]/60 to-[#3498DB]/60`}),`Container`]}),r(`span`,{className:`flex items-center gap-1.5`,children:[r(`span`,{className:`inline-block w-2.5 h-2.5 rounded-sm border border-[#7A5518]/50 bg-[#5C3D0E]/30`}),`Wooden`]})]})]}),r(`svg`,{ref:_,viewBox:`0 0 ${T} 440`,className:`w-full`,role:`img`,"aria-label":`Sprint Boat Race: Visual representation of task progress as ships racing across a harbour toward the finish line.`,style:{height:`${g}px`},preserveAspectRatio:`xMidYMid meet`,onMouseMove:C,children:[r(L,{isDark:c,ripples:v.value}),r(V,{isDark:c,waitingCount:u}),r(z,{isDark:c,activeShips:l}),r(q,{activeShips:l,animatedPositions:m,isDark:c,shipsGroupRef:s,TOW_LINE_LENGTH:70,BADGE_OFFSET:128})]})]})})};export{$ as SprintBoatRace};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,f as r,h as i,v as a,x as o,y as s}from"./vendor-Dl0fhdV0.js";import{t as c}from"./createLucideIcon-BshUfn15.js";import{Pi as l,Qr as u,Tr as d,_r as f,br as p,bt as m,fi as h,ft as g,gr as _,hi as v,li as y,pr as b,pt as x,vi as S}from"./index-DddY8OV0.js";var C=c(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]);o(),r();function w(e){return e===`COMPLETED`}function T(e){return e===`FAILED`||e===`BLOCKED`||e===`QUOTA`}function E(e){let t=new Map(e.map(e=>[e.id,e])),n=new Map(e.map(e=>[e.id,m(e)])),r=new Map,i=e=>Array.isArray(e.depends_on)?e.depends_on.filter(e=>t.has(e)):[],a=(e,n=new Set)=>{if(r.has(e))return r.get(e)||0;if(n.has(e))return 0;n.add(e);let o=t.get(e);if(!o)return r.set(e,0),0;let s=i(o),c=s.length===0?0:Math.max(...s.map(e=>a(e,new Set(n))))+1;return r.set(e,c),c},o=new Map;for(let t of e)for(let e of i(t)){let n=o.get(e)||[];n.push(t.id),o.set(e,n)}let s=e.map((e,r)=>{let s=n.get(e.id)||`PENDING`,c=i(e),l=c.map(e=>n.get(e)||`PENDING`),u=typeof e.prompt==`string`&&e.prompt.trim().length>0?e.prompt.trim():`No prompt provided`,d=c.map(e=>({id:e,title:t.get(e)?.title||`Unknown Task`})),f=o.get(e.id)||[];return{task:e,phase:s,depth:a(e.id),row:0,order:r,incoming:c,outgoing:f,isReady:s===`PENDING`&&l.every(e=>w(e)),hover:{prompt:u,dependencies:d,counters:{incoming:c.length,outgoing:f.length}},isFocusMode:s===`RUNNING`||s===`CODING_COMPLETED`}}),c=new Map;for(let e of s){let t=c.get(e.depth)||[];t.push(e),c.set(e.depth,t)}let l=Array.from(c.entries()).sort((e,t)=>e[0]-t[0]).map(([,e])=>e.map((e,t)=>({...e,row:t}))),u=l.flat(),d=new Map(u.map(e=>[e.task.id,e])),f=[];for(let e of u)for(let t of e.incoming){let n=d.get(t);if(!n)continue;let r=T(e.phase)||T(n.phase)?`blocked`:w(e.phase)?`settled`:e.phase===`RUNNING`||e.phase===`CODING_COMPLETED`?`active`:`pending`;f.push({id:`${t}->${e.task.id}`,from:t,to:e.task.id,state:r})}let p=[];for(let e of l)for(let t=0;t<e.length-1;t++)p.push({id:`${e[t].task.id}~${e[t+1].task.id}`,from:e[t].task.id,to:e[t+1].task.id});return{nodes:u,edges:f,adjacencies:p,columns:l,metrics:{rootCount:u.filter(e=>e.incoming.length===0).length,longestChain:Math.max(0,...u.map(e=>e.depth+1)),readyCount:u.filter(e=>e.isReady).length,runningCount:u.filter(e=>e.phase===`RUNNING`).length,codingCompletedCount:u.filter(e=>e.phase===`CODING_COMPLETED`).length,completedCount:u.filter(e=>e.phase===`COMPLETED`).length}}}var D=280,O=188,k=370,A=38,j=110,M=110,N=352,P=14;function F(e){let t=0;for(let n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t%1e4)/1e4}function I(e){switch(e.phase){case`RUNNING`:return{accent:`#00E0A0`,edge:`#00E0A0`,glow:`drop-shadow-[0_18px_34px_rgba(0,224,160,0.08)]`,badge:`border-signal-500/25 bg-signal-500/12 text-signal-600 dark:text-signal-300`,card:`border-signal-500/20 bg-white/80 dark:bg-void-800/78`,label:`Running`,dim:``,icon:l};case`CODING_COMPLETED`:return{accent:`#0F9FA8`,edge:`#0F9FA8`,glow:`drop-shadow-[0_16px_30px_rgba(15,159,168,0.08)]`,badge:`border-cyan-500/25 bg-cyan-500/12 text-cyan-600 dark:text-cyan-300`,card:`border-cyan-500/18 bg-white/78 dark:bg-void-800/76`,label:`Coding Completed`,dim:``,icon:y};case`COMPLETED`:return{accent:`#00AB84`,edge:`#00AB84`,glow:`drop-shadow-[0_16px_30px_rgba(0,171,132,0.07)]`,badge:`border-status-green/20 bg-status-green/12 text-status-green`,card:`border-status-green/18 bg-white/78 dark:bg-void-800/76`,label:`Completed`,dim:``,icon:S};case`FAILED`:return{accent:`#E3000F`,edge:`#E3000F`,glow:`drop-shadow-[0_14px_26px_rgba(227,0,15,0.06)]`,badge:`border-status-red/20 bg-status-red/12 text-status-red`,card:`border-status-red/16 bg-white/72 dark:bg-void-800/72`,label:`Failed`,dim:`opacity-85`,icon:v};case`BLOCKED`:case`QUOTA`:return{accent:`#F59E0B`,edge:`#F59E0B`,glow:`drop-shadow-[0_14px_26px_rgba(245,158,11,0.06)]`,badge:`border-status-amber/20 bg-status-amber/12 text-status-amber`,card:`border-status-amber/16 bg-white/72 dark:bg-void-800/72`,label:e.phase===`QUOTA`?`Quota`:`Blocked`,dim:`opacity-90`,icon:f};default:return{accent:`#64748B`,edge:`#64748B`,glow:`shadow-none`,badge:`border-black/[0.07] bg-black/[0.04] text-slate-500 dark:border-white/[0.07] dark:bg-white/[0.04] dark:text-slate-400`,card:`border-black/[0.06] bg-white/70 dark:border-white/[0.06] dark:bg-void-800/68`,label:e.isReady?`Ready`:`Pending`,dim:`opacity-92`,icon:C}}}function L(e){switch(e.merge_indicator){case`MERGED`:return`Merged`;case`CI`:return`CI`;case`AUTOMERGE`:return`Automerge`;case`MERGE_CONFLICT`:return`Conflict`;case`MERGE_BLOCKED`:return`Blocked`;default:return null}}function R(e){switch(e.state){case`active`:return{stroke:`#00E0A0`,opacity:.9,width:2.4};case`settled`:return{stroke:`#00AB84`,opacity:.75,width:2.1};case`blocked`:return{stroke:`#F59E0B`,opacity:.6,width:2.1};default:return{stroke:`#64748B`,opacity:.28,width:1.6}}}function z(e,t){return e===0?`Roots`:e===t?`Finish`:e===1?`Build`:e===t-1?`Integration`:`Layer ${e+1}`}function B(e){if(!e?.executorType)return null;switch(e.executorType){case`docker_cli`:return`CLI`;case`jules`:return`Jules`;default:return`Auto`}}function V(e){let n=e.hover,r=e.phase===`CODING_COMPLETED`?`Coding Done`:e.phase.toLowerCase(),i=n?.dependencies||[];return t(`div`,{className:`w-full`,children:[t(`div`,{className:`absolute inset-x-0 top-0 h-[3px] bg-gradient-to-r from-signal-500 via-signal-400 to-ember-400`}),t(`div`,{className:`flex flex-col gap-3`,children:[t(`div`,{className:`flex items-start justify-between gap-3 border-b border-black/[0.06] pb-3 dark:border-white/[0.08]`,children:[t(`div`,{className:`min-w-0`,children:[t(`div`,{className:`font-mono text-[10px] font-black uppercase tracking-[0.16em] text-signal-600 dark:text-signal-300`,children:e.task.id}),t(`div`,{className:`mt-1 line-clamp-2 text-sm font-bold leading-snug text-slate-900 dark:text-white`,children:e.task.title})]}),t(`div`,{className:`shrink-0 rounded-full border border-signal-500/20 bg-signal-500/10 px-2.5 py-1 text-[9px] font-bold uppercase tracking-[0.12em] text-signal-700 dark:text-signal-300`,children:r})]}),t(`div`,{className:`rounded-[1rem] border border-black/[0.06] bg-black/[0.025] p-3 dark:border-white/[0.07] dark:bg-white/[0.035]`,children:[t(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[t(`div`,{className:`text-[10px] font-bold uppercase tracking-[0.14em] text-slate-500 dark:text-slate-400`,children:`Prompt`}),t(`div`,{className:`font-mono text-[9px] text-slate-400`,children:[n?.prompt?.length||0,` chars`]})]}),t(`div`,{className:`max-h-32 overflow-y-auto pr-1 font-mono text-xs leading-relaxed text-slate-600 break-words whitespace-pre-wrap dark:text-slate-300 dropdown-scrollbar`,children:n?.prompt||`No prompt available.`})]}),i.length>0&&t(`div`,{className:`rounded-[1rem] border border-black/[0.06] bg-white/70 p-3 dark:border-white/[0.07] dark:bg-white/[0.035]`,children:[t(`div`,{className:`mb-2 text-[10px] font-bold uppercase tracking-[0.14em] text-slate-500 dark:text-slate-400`,children:`Waiting on`}),t(`ul`,{className:`flex max-h-24 flex-col gap-1 overflow-y-auto pr-1 dropdown-scrollbar`,children:i.map(e=>t(`li`,{className:`flex items-center gap-2 rounded-lg bg-black/[0.025] px-2 py-1.5 text-[11px] text-slate-600 dark:bg-white/[0.035] dark:text-slate-300`,children:[t(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-amber-500/70`}),t(`span`,{className:`truncate`,children:e.title})]},e.id))})]}),t(`div`,{className:`grid grid-cols-3 gap-2`,children:[[`Depth`,String(e.depth+1)],[`In`,String(n?.counters.incoming||0)],[`Out`,String(n?.counters.outgoing||0)]].map(([e,n])=>t(`div`,{className:`rounded-[0.9rem] border border-black/[0.06] bg-white/75 px-3 py-2 dark:border-white/[0.07] dark:bg-white/[0.04]`,children:[t(`div`,{className:`text-[9px] font-bold uppercase tracking-[0.14em] text-slate-400`,children:e}),t(`div`,{className:`mt-1 font-mono text-sm font-black text-slate-800 dark:text-white`,children:n})]},e))})]})]})}var H=n(({node:e,dispatch:n,onNodeClick:r})=>{let i=I(e),a=B(n),o=L(e.task),s=e.phase===`CODING_COMPLETED`?`Coding Done`:i.label;return t(`div`,{className:`group/dag-node pointer-events-auto absolute z-10 cursor-pointer hover:z-50 focus-within:z-50 ${i.glow} ${i.dim}`,onClick:()=>r?.(e),style:{left:`${e.x}px`,top:`${e.y}px`,width:`${D}px`,height:`${O}px`},tabIndex:0,"aria-label":`${e.task.id}: ${e.task.title}`,children:t(`div`,{className:`relative h-full w-full`,children:[e.incoming.length>0&&t(`div`,{className:`absolute left-[-5px] top-1/2 z-20 h-2.5 w-2.5 -translate-y-1/2 rounded-full border border-white/75 dark:border-white/20`,style:{backgroundColor:`${i.accent}CC`,boxShadow:`0 0 18px ${i.accent}50`}}),e.outgoing.length>0&&t(`div`,{className:`absolute right-[-5px] top-1/2 z-20 h-2.5 w-2.5 -translate-y-1/2 rounded-full border border-white/75 dark:border-white/20`,style:{backgroundColor:`${i.accent}CC`,boxShadow:`0 0 18px ${i.accent}50`}}),t(`div`,{className:`pointer-events-none absolute left-[calc(100%+14px)] top-0 z-50 w-[22rem] max-w-[calc(100vw-2rem)] translate-x-2 scale-[0.98] overflow-hidden rounded-[1.45rem] border border-black/[0.08] bg-white/98 p-4 text-slate-700 opacity-0 drop-shadow-[0_18px_34px_rgba(15,23,42,0.18)] backdrop-blur-sm transition-all duration-180 ease-out group-hover/dag-node:pointer-events-auto group-hover/dag-node:translate-x-0 group-hover/dag-node:scale-100 group-hover/dag-node:opacity-100 group-focus-within/dag-node:pointer-events-auto group-focus-within/dag-node:translate-x-0 group-focus-within/dag-node:scale-100 group-focus-within/dag-node:opacity-100 dark:border-white/[0.09] dark:bg-void-800/98 dark:text-slate-200 dark:drop-shadow-[0_22px_44px_rgba(0,0,0,0.42)]`,role:`tooltip`,children:V(e)}),t(`div`,{className:`relative isolate flex h-full w-full flex-col overflow-hidden rounded-[1.4rem] border ${i.card} p-4.5 backdrop-blur-sm transition-all duration-500 group-hover/dag-node:scale-[1.02]`,children:[t(`div`,{className:`pointer-events-none absolute inset-x-4 top-2 z-0 h-[2px] rounded-full opacity-90`,style:{background:`linear-gradient(90deg, transparent, ${i.accent}, transparent)`}}),t(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 z-0 h-16 rounded-b-[1.4rem] opacity-70`,style:{background:`radial-gradient(circle at 50% 0%, ${i.accent}16 0%, transparent 68%)`}}),e.phase===`RUNNING`&&t(`div`,{className:`dag-running-ring pointer-events-none absolute inset-0 z-0 rounded-[1.35rem] border border-signal-500/30`,style:{boxShadow:`inset 0 0 0 1px rgba(0,224,160,0.08), 0 0 28px rgba(0,224,160,0.10)`}}),t(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:[t(`div`,{className:`flex items-start justify-between gap-3`,children:[t(`div`,{className:`min-w-0 flex-1`,children:[t(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[t(`span`,{className:`min-w-0 max-w-[8rem] truncate rounded-full border border-black/[0.06] bg-black/[0.03] px-2.5 py-1 font-mono text-[10px] font-bold tracking-[0.08em] text-slate-500 dark:border-white/[0.06] dark:bg-white/[0.04] dark:text-slate-300`,children:e.task.id}),e.incoming.length===0&&t(`span`,{className:`shrink-0 rounded-full border border-ember-500/20 bg-ember-500/10 px-2 py-1 text-[9px] font-bold uppercase tracking-[0.08em] text-ember-600 dark:text-ember-400`,children:`Root`}),e.isReady&&t(`span`,{className:`shrink-0 rounded-full border border-signal-500/20 bg-signal-500/10 px-2 py-1 text-[9px] font-bold uppercase tracking-[0.08em] text-signal-600 dark:text-signal-300`,children:`Ready`})]}),t(`div`,{className:`mt-2 line-clamp-2 text-[14px] font-bold leading-snug tracking-tight text-slate-900 dark:text-white`,children:e.task.title})]}),t(`div`,{className:`relative mt-1 h-3 w-3 shrink-0 rounded-full`,style:{backgroundColor:i.accent,boxShadow:`0 0 18px ${i.accent}70`},children:(e.phase===`RUNNING`||e.phase===`CODING_COMPLETED`)&&t(`span`,{className:`absolute inset-0 rounded-full bg-current opacity-50 animate-ping`})})]}),t(`div`,{className:`mt-3 flex min-w-0 flex-wrap items-center gap-1.5`,children:[t(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] font-bold uppercase tracking-[0.08em] ${i.badge}`,children:[t(i.icon,{className:`h-3 w-3 shrink-0`,strokeWidth:2.5}),t(`span`,{className:`truncate`,children:s})]}),o&&t(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-full border border-black/[0.06] bg-black/[0.03] px-2.5 py-1 text-[10px] font-bold uppercase tracking-[0.08em] text-slate-500 dark:border-white/[0.06] dark:bg-white/[0.04] dark:text-slate-300`,children:[t(u,{className:`h-3 w-3 shrink-0`,strokeWidth:2.5}),t(`span`,{className:`truncate`,children:o})]})]}),t(`div`,{className:`mt-auto grid grid-cols-[1fr_auto] items-end gap-3 pt-3`,children:[t(`div`,{className:`min-w-0 rounded-2xl border border-black/[0.045] bg-white/38 px-3 py-2 font-mono text-[10px] leading-tight text-slate-500 dark:border-white/[0.055] dark:bg-white/[0.035] dark:text-slate-400`,children:[t(`div`,{className:`truncate`,children:[e.incoming.length,` deps in`]}),t(`div`,{className:`truncate`,children:[e.outgoing.length,` deps out`]})]}),t(`div`,{className:`flex min-w-0 max-w-[7.5rem] flex-col items-end rounded-2xl border border-black/[0.045] bg-white/38 px-3 py-2 text-right font-mono text-[10px] leading-tight text-slate-500 dark:border-white/[0.055] dark:bg-white/[0.035] dark:text-slate-400`,children:[a&&t(`span`,{className:`max-w-full truncate`,children:a}),n?.provider&&t(`span`,{className:`max-w-full truncate`,children:n.provider}),!a&&!n?.provider&&t(h,{className:`h-3.5 w-3.5 opacity-50`,strokeWidth:1.8})]})]})]})]})]})})},(e,t)=>e.node.task.id===t.node.task.id&&e.node.phase===t.node.phase&&e.node.isReady===t.node.isReady&&e.node.incoming.length===t.node.incoming.length&&e.node.outgoing.length===t.node.outgoing.length&&e.node.x===t.node.x&&e.node.y===t.node.y&&e.node.hover.counters.incoming===t.node.hover.counters.incoming&&e.node.hover.counters.outgoing===t.node.hover.counters.outgoing&&e.node.hover.prompt===t.node.hover.prompt&&e.dispatch?.executorType===t.dispatch?.executorType&&e.dispatch?.provider===t.dispatch?.provider),U=({tasks:n,dispatches:r,hasSprintContext:o})=>{let c=i(null),f=i(!1),m=i({x:0,y:0}),h=i({left:0,top:0}),[v,y]=s(!1),C=Array.isArray(n)?n:[],w=Array.isArray(r)?r:[],T=e(()=>E(C),[C]),I=e(()=>{let e=new Map;for(let t of w)t.taskId&&!e.has(t.taskId)&&e.set(t.taskId,t),t.taskKey&&!e.has(t.taskKey)&&e.set(t.taskKey,t);return e},[w]),L=T.columns.length-1,B=Math.max(1,...T.columns.map(e=>e.length)),V=Math.max(1180,j*2+Math.max(0,L)*k+D+N+P),U=Math.max(560,M*2+B*O+Math.max(0,B-1)*A),W=e(()=>T.nodes.map(e=>({...e,x:j+e.depth*k,y:M+e.row*226})),[T.nodes]),G=e(()=>new Map(W.map(e=>[e.task.id,e])),[W]),K=e(()=>T.columns.map((e,t)=>({depth:t,x:j+t*k+D/2,y:40,label:z(t,L),count:e.length})),[T.columns,L]),q=e=>{if(!c.current)return;let t=c.current.clientWidth,n=c.current.clientHeight,r=e.x-t/2+280/2,i=e.y-n/2+188/2;c.current.scrollTo({left:Math.max(0,r),top:Math.max(0,i),behavior:`smooth`})},J=e=>{c.current&&(f.current=!0,y(!0),m.current={x:e.pageX,y:e.pageY},h.current={left:c.current.scrollLeft,top:c.current.scrollTop})},Y=e=>{if(!f.current||!c.current)return;let t=e.pageX-m.current.x,n=e.pageY-m.current.y;c.current.scrollLeft=h.current.left-t,c.current.scrollTop=h.current.top-n},X=()=>{f.current=!1,y(!1)};return a(()=>{if(o&&C.length>0&&c.current){let e=c.current.querySelector(`.relative.pointer-events-none`);e&&b.fromTo(e,{opacity:0,scale:.96},{opacity:1,scale:1,duration:.5,ease:`power3.out`})}},[o]),!o||C.length===0?t(`div`,{className:`relative overflow-hidden rounded-[2rem] border border-black/[0.06] bg-white/80 p-8 shadow-[0_2px_20px_rgba(0,0,0,0.04)] backdrop-blur-sm dark:border-white/[0.06] dark:bg-void-800/75 dark:shadow-[0_4px_24px_rgba(0,0,0,0.2)]`,children:[t(x,{accentHex:`#00E0A0`}),t(g,{accentHex:`#00E0A0`}),t(`div`,{className:`relative z-10 flex min-h-[22rem] flex-col items-center justify-center text-center`,children:[t(`div`,{className:`mb-5 flex h-16 w-16 items-center justify-center rounded-[1.3rem] border border-signal-500/20 bg-signal-500/10 text-signal-500 shadow-[0_0_24px_rgba(0,224,160,0.16)]`,children:t(_,{className:`h-8 w-8`,strokeWidth:1.4})}),t(`div`,{className:`text-[10px] font-bold uppercase tracking-[0.2em] text-signal-500`,children:`Dependency Graph`}),t(`h3`,{className:`mt-3 font-display text-3xl font-black tracking-tight text-slate-900 dark:text-white`,children:`The DAG wakes up with the sprint.`}),t(`p`,{className:`mt-3 max-w-xl text-sm leading-relaxed text-slate-500 dark:text-slate-400`,children:`Start a sprint to visualize task dependencies, live execution flow, and which parts of the graph are still waiting on code, merge work, or final completion.`})]})]}):t(`div`,{className:`group relative overflow-hidden rounded-[2rem] border border-black/[0.06] bg-white/80 p-5 shadow-[0_2px_20px_rgba(0,0,0,0.04)] backdrop-blur-sm dark:border-white/[0.06] dark:bg-void-800/75 dark:shadow-[0_4px_24px_rgba(0,0,0,0.2)] md:p-6`,children:[t(x,{accentHex:`#00E0A0`}),t(g,{accentHex:`#00E0A0`}),t(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[t(`div`,{className:`dag-aurora absolute -left-20 top-8 h-56 w-56 rounded-full`,style:{background:`radial-gradient(circle, rgba(0,224,160,0.08) 0%, transparent 70%)`}}),t(`div`,{className:`dag-aurora absolute right-[-4rem] top-1/3 h-64 w-64 rounded-full`,style:{background:`radial-gradient(circle, rgba(255,184,0,0.08) 0%, transparent 70%)`,animationDelay:`-4s`}}),t(`div`,{className:`dag-grid-pan absolute inset-0 opacity-40 dark:opacity-50`,style:{backgroundImage:`radial-gradient(circle at 1px 1px, rgba(100,116,139,0.18) 1px, transparent 0)`,backgroundSize:`26px 26px`}})]}),t(`div`,{className:`relative z-10`,children:[t(`div`,{className:`mb-5 flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between`,children:[t(`div`,{children:[t(`div`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.2em] text-signal-500`,children:[t(_,{className:`h-4 w-4`,strokeWidth:1.6}),`Dependency Constellation`]}),t(`h3`,{className:`mt-2 font-display text-3xl font-black tracking-tight text-slate-900 dark:text-white md:text-[2.35rem]`,children:`Live sprint DAG, rendered as motion.`}),t(`p`,{className:`mt-2 max-w-3xl text-sm leading-relaxed text-slate-500 dark:text-slate-400`,children:`Each node is a task on the current sprint. Flow moves left to right through real dependency edges, while color and motion show what is running, merge-waiting, blocked, or fully complete.`})]}),t(`div`,{className:`w-full overflow-x-auto pb-1 xl:max-w-[58rem] xl:justify-end`,children:t(`div`,{className:`grid min-w-[52rem] grid-cols-5 gap-2.5`,children:[{label:`Roots`,value:T.metrics.rootCount,icon:u,accent:`text-signal-500`},{label:`Running`,value:T.metrics.runningCount,icon:l,accent:`text-signal-500`},{label:`Ready`,value:T.metrics.readyCount,icon:d,accent:`text-ember-500`},{label:`Longest Chain`,value:T.metrics.longestChain,icon:p,accent:`text-cyan-500`},{label:`Completed`,value:T.metrics.completedCount,icon:S,accent:`text-status-green`}].map(({label:e,value:n,icon:r,accent:i})=>t(`div`,{className:`rounded-[1.1rem] border border-black/[0.05] bg-white/75 px-3 py-3 backdrop-blur-sm dark:border-white/[0.05] dark:bg-void-900/50`,children:[t(`div`,{className:`mb-2 flex items-center gap-2 text-[9px] font-bold uppercase tracking-[0.14em] ${i}`,children:[t(r,{className:`h-3.5 w-3.5`,strokeWidth:1.8}),t(`span`,{className:`leading-tight`,children:e})]}),t(`div`,{className:`font-mono text-2xl font-black tracking-tighter text-slate-900 dark:text-white`,children:n})]},e))})})]}),t(`div`,{className:`rounded-[1.6rem] border border-black/[0.05] bg-black/[0.02] p-3 dark:border-white/[0.05] dark:bg-white/[0.02]`,children:[t(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3 px-2`,children:[t(`div`,{className:`flex flex-wrap items-center gap-2.5 text-[10px] font-bold uppercase tracking-[0.14em] text-slate-400`,children:[t(`span`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 dark:border-white/[0.06] dark:bg-void-900/55`,children:`Scrollable canvas`}),t(`span`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 dark:border-white/[0.06] dark:bg-void-900/55`,children:[`Dependency depth `,Math.max(1,T.columns.length)]}),t(`span`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 dark:border-white/[0.06] dark:bg-void-900/55`,children:[T.metrics.codingCompletedCount,` merge-stage nodes`]})]}),t(`div`,{className:`flex flex-wrap items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-slate-400`,children:[t(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-signal-500/20 bg-signal-500/10 px-3 py-1 text-signal-600 dark:text-signal-300`,children:[t(`span`,{className:`h-2 w-2 rounded-full bg-signal-500 animate-pulse`}),`Running`]}),t(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-cyan-500/20 bg-cyan-500/10 px-3 py-1 text-cyan-600 dark:text-cyan-300`,children:[t(`span`,{className:`h-2 w-2 rounded-full bg-cyan-500`}),`Coding Completed`]}),t(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-status-green/20 bg-status-green/10 px-3 py-1 text-status-green`,children:[t(`span`,{className:`h-2 w-2 rounded-full bg-status-green`}),`Completed`]})]})]}),t(`div`,{ref:c,className:`dag-scroll-shell h-[38rem] overflow-auto rounded-[1.35rem] border border-black/[0.05] bg-[linear-gradient(180deg,rgba(255,255,255,0.72),rgba(249,248,244,0.56))] shadow-[inset_0_1px_0_rgba(255,255,255,0.45)] dark:border-white/[0.04] dark:bg-[linear-gradient(180deg,rgba(24,20,17,0.88),rgba(8,6,5,0.76))] md:h-[46rem] ${v?`cursor-grabbing select-none`:`cursor-grab`}`,onPointerDown:J,onPointerMove:Y,onPointerUp:X,onPointerLeave:X,onPointerCancel:X,children:t(`div`,{className:`relative pointer-events-none`,style:{width:`${V}px`,height:`${U}px`},children:[t(`svg`,{className:`absolute inset-0`,width:V,height:U,viewBox:`0 0 ${V} ${U}`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[t(`defs`,{children:[t(`linearGradient`,{id:`dag-edge-active`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`#00B882`}),t(`stop`,{offset:`50%`,stopColor:`#00E0A0`}),t(`stop`,{offset:`100%`,stopColor:`#80FFD6`})]}),t(`linearGradient`,{id:`dag-edge-active-soft`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`rgba(0,184,130,0)`}),t(`stop`,{offset:`30%`,stopColor:`rgba(0,224,160,0.45)`}),t(`stop`,{offset:`70%`,stopColor:`rgba(128,255,214,0.75)`}),t(`stop`,{offset:`100%`,stopColor:`rgba(128,255,214,0)`})]}),t(`linearGradient`,{id:`dag-edge-settled`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`#008F65`}),t(`stop`,{offset:`100%`,stopColor:`#00AB84`})]}),t(`linearGradient`,{id:`dag-edge-blocked`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`#F59E0B`}),t(`stop`,{offset:`100%`,stopColor:`#FFB800`})]}),t(`filter`,{id:`dag-glow`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`,children:[t(`feGaussianBlur`,{stdDeviation:`6`,result:`blur`}),t(`feMerge`,{children:[t(`feMergeNode`,{in:`blur`}),t(`feMergeNode`,{in:`SourceGraphic`})]})]}),t(`filter`,{id:`dag-edge-bloom`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`,children:t(`feGaussianBlur`,{stdDeviation:`4`,result:`blur`})})]}),K.map(e=>t(`g`,{children:t(`line`,{x1:e.x,x2:e.x,y1:0,y2:U,stroke:`rgba(100,116,139,0.1)`,strokeDasharray:`5 12`})},e.depth)),T.edges.map(e=>{let n=G.get(e.from),r=G.get(e.to);if(!n||!r)return null;let i=n.x+D,a=n.y+O/2,o=r.x,s=r.y+O/2,c=Math.max(70,(o-i)*.42),l=`M ${i} ${a} C ${i+c} ${a}, ${o-c} ${s}, ${o} ${s}`,u=R(e),d=e.state===`active`?`url(#dag-edge-active)`:e.state===`settled`?`url(#dag-edge-settled)`:e.state===`blocked`?`url(#dag-edge-blocked)`:u.stroke;return t(`g`,{children:[t(`path`,{className:`dag-edge-transition`,d:l,stroke:`rgba(15,23,42,0.10)`,strokeWidth:u.width+8,opacity:e.state===`active`?.18:.1,strokeLinecap:`round`}),e.state===`active`&&t(`path`,{className:`dag-edge-transition`,d:l,stroke:`url(#dag-edge-active-soft)`,strokeWidth:u.width+10,opacity:.55,strokeLinecap:`round`,filter:`url(#dag-edge-bloom)`}),t(`path`,{id:`dag-path-${e.id}`,className:`dag-edge-transition`,d:l,stroke:d,strokeWidth:Math.max(u.width,2),opacity:Math.max(u.opacity,e.state===`pending`?.5:u.opacity),strokeLinecap:`round`,strokeDasharray:e.state===`pending`?`7 9`:void 0,filter:e.state===`active`?`url(#dag-glow)`:void 0,children:e.state===`pending`&&t(`animate`,{attributeName:`stroke-dashoffset`,from:`32`,to:`0`,dur:`2.8s`,repeatCount:`indefinite`})}),e.state===`active`&&t(`path`,{d:l,stroke:`#CFFFF0`,strokeWidth:2.4,opacity:.95,strokeLinecap:`round`,strokeDasharray:`18 32`,filter:`url(#dag-glow)`,children:t(`animate`,{attributeName:`stroke-dashoffset`,from:`0`,to:`-100`,dur:`1.6s`,repeatCount:`indefinite`})}),(e.state===`active`||e.state===`blocked`&&(n.isFocusMode||r.isFocusMode))&&t(`circle`,{r:e.state===`active`?4.5:3.2,fill:u.stroke,opacity:0,children:[t(`animate`,{attributeName:`opacity`,values:e.state===`blocked`?`0; 0.7; 0.7; 0`:`0; 0.92; 0.92; 0`,keyTimes:`0; 0.1; 0.9; 1`,dur:e.state===`active`?`3s`:`4.8s`,repeatCount:`indefinite`}),t(`animateMotion`,{dur:e.state===`active`?`3s`:`4.8s`,repeatCount:`indefinite`,rotate:`auto`,children:t(`mpath`,{href:`#dag-path-${e.id}`})})]}),e.state===`active`&&t(`circle`,{r:2.8,fill:`#F4FFF8`,opacity:0,children:[t(`animate`,{attributeName:`opacity`,values:`0; 0.95; 0.95; 0`,keyTimes:`0; 0.1; 0.9; 1`,dur:`2s`,begin:`${(F(e.id)*1.2).toFixed(2)}s`,repeatCount:`indefinite`}),t(`animateMotion`,{dur:`2s`,begin:`${(F(e.id)*1.2).toFixed(2)}s`,repeatCount:`indefinite`,rotate:`auto`,children:t(`mpath`,{href:`#dag-path-${e.id}`})})]}),e.state!==`pending`&&t(`circle`,{cx:o,cy:s,r:e.state===`active`?7:5,fill:u.stroke,opacity:e.state===`blocked`?.18:.12,children:e.state===`active`&&t(`animate`,{attributeName:`r`,values:`6;10;6`,dur:`2.2s`,repeatCount:`indefinite`})})]},e.id)})]}),K.map(e=>t(`div`,{className:`pointer-events-none absolute -translate-x-1/2`,style:{left:`${e.x}px`,top:`18px`},children:t(`div`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 text-[10px] font-bold uppercase tracking-[0.16em] text-slate-500 shadow-sm backdrop-blur-xl dark:border-white/[0.06] dark:bg-void-900/60 dark:text-slate-300`,children:[t(`span`,{children:e.label}),t(`span`,{className:`ml-2 font-mono text-slate-400`,children:e.count})]})},`label-${e.depth}`)),W.map(e=>t(H,{node:e,dispatch:I.get(e.task.record_id||``)||I.get(e.task.id),onNodeClick:q},e.task.id))]})})]})]})]})};export{U as SprintDag};
|
|
1
|
+
import{_ as e,a as t,c as n,f as r,h as i,v as a,x as o,y as s}from"./vendor-Dl0fhdV0.js";import{t as c}from"./createLucideIcon-BshUfn15.js";import{Pi as l,Qr as u,Tr as d,_r as f,br as p,bt as m,fi as h,ft as g,gr as _,hi as v,li as y,pr as b,pt as x,vi as S}from"./index-DdNzHP9F.js";var C=c(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]);o(),r();function w(e){return e===`COMPLETED`}function T(e){return e===`FAILED`||e===`BLOCKED`||e===`QUOTA`}function E(e){let t=new Map(e.map(e=>[e.id,e])),n=new Map(e.map(e=>[e.id,m(e)])),r=new Map,i=e=>Array.isArray(e.depends_on)?e.depends_on.filter(e=>t.has(e)):[],a=(e,n=new Set)=>{if(r.has(e))return r.get(e)||0;if(n.has(e))return 0;n.add(e);let o=t.get(e);if(!o)return r.set(e,0),0;let s=i(o),c=s.length===0?0:Math.max(...s.map(e=>a(e,new Set(n))))+1;return r.set(e,c),c},o=new Map;for(let t of e)for(let e of i(t)){let n=o.get(e)||[];n.push(t.id),o.set(e,n)}let s=e.map((e,r)=>{let s=n.get(e.id)||`PENDING`,c=i(e),l=c.map(e=>n.get(e)||`PENDING`),u=typeof e.prompt==`string`&&e.prompt.trim().length>0?e.prompt.trim():`No prompt provided`,d=c.map(e=>({id:e,title:t.get(e)?.title||`Unknown Task`})),f=o.get(e.id)||[];return{task:e,phase:s,depth:a(e.id),row:0,order:r,incoming:c,outgoing:f,isReady:s===`PENDING`&&l.every(e=>w(e)),hover:{prompt:u,dependencies:d,counters:{incoming:c.length,outgoing:f.length}},isFocusMode:s===`RUNNING`||s===`CODING_COMPLETED`}}),c=new Map;for(let e of s){let t=c.get(e.depth)||[];t.push(e),c.set(e.depth,t)}let l=Array.from(c.entries()).sort((e,t)=>e[0]-t[0]).map(([,e])=>e.map((e,t)=>({...e,row:t}))),u=l.flat(),d=new Map(u.map(e=>[e.task.id,e])),f=[];for(let e of u)for(let t of e.incoming){let n=d.get(t);if(!n)continue;let r=T(e.phase)||T(n.phase)?`blocked`:w(e.phase)?`settled`:e.phase===`RUNNING`||e.phase===`CODING_COMPLETED`?`active`:`pending`;f.push({id:`${t}->${e.task.id}`,from:t,to:e.task.id,state:r})}let p=[];for(let e of l)for(let t=0;t<e.length-1;t++)p.push({id:`${e[t].task.id}~${e[t+1].task.id}`,from:e[t].task.id,to:e[t+1].task.id});return{nodes:u,edges:f,adjacencies:p,columns:l,metrics:{rootCount:u.filter(e=>e.incoming.length===0).length,longestChain:Math.max(0,...u.map(e=>e.depth+1)),readyCount:u.filter(e=>e.isReady).length,runningCount:u.filter(e=>e.phase===`RUNNING`).length,codingCompletedCount:u.filter(e=>e.phase===`CODING_COMPLETED`).length,completedCount:u.filter(e=>e.phase===`COMPLETED`).length}}}var D=280,O=188,k=370,A=38,j=110,M=110,N=352,P=14;function F(e){let t=0;for(let n=0;n<e.length;n+=1)t=(t<<5)-t+e.charCodeAt(n)|0;return Math.abs(t%1e4)/1e4}function I(e){switch(e.phase){case`RUNNING`:return{accent:`#00E0A0`,edge:`#00E0A0`,glow:`drop-shadow-[0_18px_34px_rgba(0,224,160,0.08)]`,badge:`border-signal-500/25 bg-signal-500/12 text-signal-600 dark:text-signal-300`,card:`border-signal-500/20 bg-white/80 dark:bg-void-800/78`,label:`Running`,dim:``,icon:l};case`CODING_COMPLETED`:return{accent:`#0F9FA8`,edge:`#0F9FA8`,glow:`drop-shadow-[0_16px_30px_rgba(15,159,168,0.08)]`,badge:`border-cyan-500/25 bg-cyan-500/12 text-cyan-600 dark:text-cyan-300`,card:`border-cyan-500/18 bg-white/78 dark:bg-void-800/76`,label:`Coding Completed`,dim:``,icon:y};case`COMPLETED`:return{accent:`#00AB84`,edge:`#00AB84`,glow:`drop-shadow-[0_16px_30px_rgba(0,171,132,0.07)]`,badge:`border-status-green/20 bg-status-green/12 text-status-green`,card:`border-status-green/18 bg-white/78 dark:bg-void-800/76`,label:`Completed`,dim:``,icon:S};case`FAILED`:return{accent:`#E3000F`,edge:`#E3000F`,glow:`drop-shadow-[0_14px_26px_rgba(227,0,15,0.06)]`,badge:`border-status-red/20 bg-status-red/12 text-status-red`,card:`border-status-red/16 bg-white/72 dark:bg-void-800/72`,label:`Failed`,dim:`opacity-85`,icon:v};case`BLOCKED`:case`QUOTA`:return{accent:`#F59E0B`,edge:`#F59E0B`,glow:`drop-shadow-[0_14px_26px_rgba(245,158,11,0.06)]`,badge:`border-status-amber/20 bg-status-amber/12 text-status-amber`,card:`border-status-amber/16 bg-white/72 dark:bg-void-800/72`,label:e.phase===`QUOTA`?`Quota`:`Blocked`,dim:`opacity-90`,icon:f};default:return{accent:`#64748B`,edge:`#64748B`,glow:`shadow-none`,badge:`border-black/[0.07] bg-black/[0.04] text-slate-500 dark:border-white/[0.07] dark:bg-white/[0.04] dark:text-slate-400`,card:`border-black/[0.06] bg-white/70 dark:border-white/[0.06] dark:bg-void-800/68`,label:e.isReady?`Ready`:`Pending`,dim:`opacity-92`,icon:C}}}function L(e){switch(e.merge_indicator){case`MERGED`:return`Merged`;case`CI`:return`CI`;case`AUTOMERGE`:return`Automerge`;case`MERGE_CONFLICT`:return`Conflict`;case`MERGE_BLOCKED`:return`Blocked`;default:return null}}function R(e){switch(e.state){case`active`:return{stroke:`#00E0A0`,opacity:.9,width:2.4};case`settled`:return{stroke:`#00AB84`,opacity:.75,width:2.1};case`blocked`:return{stroke:`#F59E0B`,opacity:.6,width:2.1};default:return{stroke:`#64748B`,opacity:.28,width:1.6}}}function z(e,t){return e===0?`Roots`:e===t?`Finish`:e===1?`Build`:e===t-1?`Integration`:`Layer ${e+1}`}function B(e){if(!e?.executorType)return null;switch(e.executorType){case`docker_cli`:return`CLI`;case`jules`:return`Jules`;default:return`Auto`}}function V(e){let n=e.hover,r=e.phase===`CODING_COMPLETED`?`Coding Done`:e.phase.toLowerCase(),i=n?.dependencies||[];return t(`div`,{className:`w-full`,children:[t(`div`,{className:`absolute inset-x-0 top-0 h-[3px] bg-gradient-to-r from-signal-500 via-signal-400 to-ember-400`}),t(`div`,{className:`flex flex-col gap-3`,children:[t(`div`,{className:`flex items-start justify-between gap-3 border-b border-black/[0.06] pb-3 dark:border-white/[0.08]`,children:[t(`div`,{className:`min-w-0`,children:[t(`div`,{className:`font-mono text-[10px] font-black uppercase tracking-[0.16em] text-signal-600 dark:text-signal-300`,children:e.task.id}),t(`div`,{className:`mt-1 line-clamp-2 text-sm font-bold leading-snug text-slate-900 dark:text-white`,children:e.task.title})]}),t(`div`,{className:`shrink-0 rounded-full border border-signal-500/20 bg-signal-500/10 px-2.5 py-1 text-[9px] font-bold uppercase tracking-[0.12em] text-signal-700 dark:text-signal-300`,children:r})]}),t(`div`,{className:`rounded-[1rem] border border-black/[0.06] bg-black/[0.025] p-3 dark:border-white/[0.07] dark:bg-white/[0.035]`,children:[t(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[t(`div`,{className:`text-[10px] font-bold uppercase tracking-[0.14em] text-slate-500 dark:text-slate-400`,children:`Prompt`}),t(`div`,{className:`font-mono text-[9px] text-slate-400`,children:[n?.prompt?.length||0,` chars`]})]}),t(`div`,{className:`max-h-32 overflow-y-auto pr-1 font-mono text-xs leading-relaxed text-slate-600 break-words whitespace-pre-wrap dark:text-slate-300 dropdown-scrollbar`,children:n?.prompt||`No prompt available.`})]}),i.length>0&&t(`div`,{className:`rounded-[1rem] border border-black/[0.06] bg-white/70 p-3 dark:border-white/[0.07] dark:bg-white/[0.035]`,children:[t(`div`,{className:`mb-2 text-[10px] font-bold uppercase tracking-[0.14em] text-slate-500 dark:text-slate-400`,children:`Waiting on`}),t(`ul`,{className:`flex max-h-24 flex-col gap-1 overflow-y-auto pr-1 dropdown-scrollbar`,children:i.map(e=>t(`li`,{className:`flex items-center gap-2 rounded-lg bg-black/[0.025] px-2 py-1.5 text-[11px] text-slate-600 dark:bg-white/[0.035] dark:text-slate-300`,children:[t(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-amber-500/70`}),t(`span`,{className:`truncate`,children:e.title})]},e.id))})]}),t(`div`,{className:`grid grid-cols-3 gap-2`,children:[[`Depth`,String(e.depth+1)],[`In`,String(n?.counters.incoming||0)],[`Out`,String(n?.counters.outgoing||0)]].map(([e,n])=>t(`div`,{className:`rounded-[0.9rem] border border-black/[0.06] bg-white/75 px-3 py-2 dark:border-white/[0.07] dark:bg-white/[0.04]`,children:[t(`div`,{className:`text-[9px] font-bold uppercase tracking-[0.14em] text-slate-400`,children:e}),t(`div`,{className:`mt-1 font-mono text-sm font-black text-slate-800 dark:text-white`,children:n})]},e))})]})]})}var H=n(({node:e,dispatch:n,onNodeClick:r})=>{let i=I(e),a=B(n),o=L(e.task),s=e.phase===`CODING_COMPLETED`?`Coding Done`:i.label;return t(`div`,{className:`group/dag-node pointer-events-auto absolute z-10 cursor-pointer hover:z-50 focus-within:z-50 ${i.glow} ${i.dim}`,onClick:()=>r?.(e),style:{left:`${e.x}px`,top:`${e.y}px`,width:`${D}px`,height:`${O}px`},tabIndex:0,"aria-label":`${e.task.id}: ${e.task.title}`,children:t(`div`,{className:`relative h-full w-full`,children:[e.incoming.length>0&&t(`div`,{className:`absolute left-[-5px] top-1/2 z-20 h-2.5 w-2.5 -translate-y-1/2 rounded-full border border-white/75 dark:border-white/20`,style:{backgroundColor:`${i.accent}CC`,boxShadow:`0 0 18px ${i.accent}50`}}),e.outgoing.length>0&&t(`div`,{className:`absolute right-[-5px] top-1/2 z-20 h-2.5 w-2.5 -translate-y-1/2 rounded-full border border-white/75 dark:border-white/20`,style:{backgroundColor:`${i.accent}CC`,boxShadow:`0 0 18px ${i.accent}50`}}),t(`div`,{className:`pointer-events-none absolute left-[calc(100%+14px)] top-0 z-50 w-[22rem] max-w-[calc(100vw-2rem)] translate-x-2 scale-[0.98] overflow-hidden rounded-[1.45rem] border border-black/[0.08] bg-white/98 p-4 text-slate-700 opacity-0 drop-shadow-[0_18px_34px_rgba(15,23,42,0.18)] backdrop-blur-sm transition-all duration-180 ease-out group-hover/dag-node:pointer-events-auto group-hover/dag-node:translate-x-0 group-hover/dag-node:scale-100 group-hover/dag-node:opacity-100 group-focus-within/dag-node:pointer-events-auto group-focus-within/dag-node:translate-x-0 group-focus-within/dag-node:scale-100 group-focus-within/dag-node:opacity-100 dark:border-white/[0.09] dark:bg-void-800/98 dark:text-slate-200 dark:drop-shadow-[0_22px_44px_rgba(0,0,0,0.42)]`,role:`tooltip`,children:V(e)}),t(`div`,{className:`relative isolate flex h-full w-full flex-col overflow-hidden rounded-[1.4rem] border ${i.card} p-4.5 backdrop-blur-sm transition-all duration-500 group-hover/dag-node:scale-[1.02]`,children:[t(`div`,{className:`pointer-events-none absolute inset-x-4 top-2 z-0 h-[2px] rounded-full opacity-90`,style:{background:`linear-gradient(90deg, transparent, ${i.accent}, transparent)`}}),t(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 z-0 h-16 rounded-b-[1.4rem] opacity-70`,style:{background:`radial-gradient(circle at 50% 0%, ${i.accent}16 0%, transparent 68%)`}}),e.phase===`RUNNING`&&t(`div`,{className:`dag-running-ring pointer-events-none absolute inset-0 z-0 rounded-[1.35rem] border border-signal-500/30`,style:{boxShadow:`inset 0 0 0 1px rgba(0,224,160,0.08), 0 0 28px rgba(0,224,160,0.10)`}}),t(`div`,{className:`relative z-10 flex min-h-0 flex-1 flex-col`,children:[t(`div`,{className:`flex items-start justify-between gap-3`,children:[t(`div`,{className:`min-w-0 flex-1`,children:[t(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-hidden`,children:[t(`span`,{className:`min-w-0 max-w-[8rem] truncate rounded-full border border-black/[0.06] bg-black/[0.03] px-2.5 py-1 font-mono text-[10px] font-bold tracking-[0.08em] text-slate-500 dark:border-white/[0.06] dark:bg-white/[0.04] dark:text-slate-300`,children:e.task.id}),e.incoming.length===0&&t(`span`,{className:`shrink-0 rounded-full border border-ember-500/20 bg-ember-500/10 px-2 py-1 text-[9px] font-bold uppercase tracking-[0.08em] text-ember-600 dark:text-ember-400`,children:`Root`}),e.isReady&&t(`span`,{className:`shrink-0 rounded-full border border-signal-500/20 bg-signal-500/10 px-2 py-1 text-[9px] font-bold uppercase tracking-[0.08em] text-signal-600 dark:text-signal-300`,children:`Ready`})]}),t(`div`,{className:`mt-2 line-clamp-2 text-[14px] font-bold leading-snug tracking-tight text-slate-900 dark:text-white`,children:e.task.title})]}),t(`div`,{className:`relative mt-1 h-3 w-3 shrink-0 rounded-full`,style:{backgroundColor:i.accent,boxShadow:`0 0 18px ${i.accent}70`},children:(e.phase===`RUNNING`||e.phase===`CODING_COMPLETED`)&&t(`span`,{className:`absolute inset-0 rounded-full bg-current opacity-50 animate-ping`})})]}),t(`div`,{className:`mt-3 flex min-w-0 flex-wrap items-center gap-1.5`,children:[t(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-full border px-2.5 py-1 text-[10px] font-bold uppercase tracking-[0.08em] ${i.badge}`,children:[t(i.icon,{className:`h-3 w-3 shrink-0`,strokeWidth:2.5}),t(`span`,{className:`truncate`,children:s})]}),o&&t(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-full border border-black/[0.06] bg-black/[0.03] px-2.5 py-1 text-[10px] font-bold uppercase tracking-[0.08em] text-slate-500 dark:border-white/[0.06] dark:bg-white/[0.04] dark:text-slate-300`,children:[t(u,{className:`h-3 w-3 shrink-0`,strokeWidth:2.5}),t(`span`,{className:`truncate`,children:o})]})]}),t(`div`,{className:`mt-auto grid grid-cols-[1fr_auto] items-end gap-3 pt-3`,children:[t(`div`,{className:`min-w-0 rounded-2xl border border-black/[0.045] bg-white/38 px-3 py-2 font-mono text-[10px] leading-tight text-slate-500 dark:border-white/[0.055] dark:bg-white/[0.035] dark:text-slate-400`,children:[t(`div`,{className:`truncate`,children:[e.incoming.length,` deps in`]}),t(`div`,{className:`truncate`,children:[e.outgoing.length,` deps out`]})]}),t(`div`,{className:`flex min-w-0 max-w-[7.5rem] flex-col items-end rounded-2xl border border-black/[0.045] bg-white/38 px-3 py-2 text-right font-mono text-[10px] leading-tight text-slate-500 dark:border-white/[0.055] dark:bg-white/[0.035] dark:text-slate-400`,children:[a&&t(`span`,{className:`max-w-full truncate`,children:a}),n?.provider&&t(`span`,{className:`max-w-full truncate`,children:n.provider}),!a&&!n?.provider&&t(h,{className:`h-3.5 w-3.5 opacity-50`,strokeWidth:1.8})]})]})]})]})]})})},(e,t)=>e.node.task.id===t.node.task.id&&e.node.phase===t.node.phase&&e.node.isReady===t.node.isReady&&e.node.incoming.length===t.node.incoming.length&&e.node.outgoing.length===t.node.outgoing.length&&e.node.x===t.node.x&&e.node.y===t.node.y&&e.node.hover.counters.incoming===t.node.hover.counters.incoming&&e.node.hover.counters.outgoing===t.node.hover.counters.outgoing&&e.node.hover.prompt===t.node.hover.prompt&&e.dispatch?.executorType===t.dispatch?.executorType&&e.dispatch?.provider===t.dispatch?.provider),U=({tasks:n,dispatches:r,hasSprintContext:o})=>{let c=i(null),f=i(!1),m=i({x:0,y:0}),h=i({left:0,top:0}),[v,y]=s(!1),C=Array.isArray(n)?n:[],w=Array.isArray(r)?r:[],T=e(()=>E(C),[C]),I=e(()=>{let e=new Map;for(let t of w)t.taskId&&!e.has(t.taskId)&&e.set(t.taskId,t),t.taskKey&&!e.has(t.taskKey)&&e.set(t.taskKey,t);return e},[w]),L=T.columns.length-1,B=Math.max(1,...T.columns.map(e=>e.length)),V=Math.max(1180,j*2+Math.max(0,L)*k+D+N+P),U=Math.max(560,M*2+B*O+Math.max(0,B-1)*A),W=e(()=>T.nodes.map(e=>({...e,x:j+e.depth*k,y:M+e.row*226})),[T.nodes]),G=e(()=>new Map(W.map(e=>[e.task.id,e])),[W]),K=e(()=>T.columns.map((e,t)=>({depth:t,x:j+t*k+D/2,y:40,label:z(t,L),count:e.length})),[T.columns,L]),q=e=>{if(!c.current)return;let t=c.current.clientWidth,n=c.current.clientHeight,r=e.x-t/2+280/2,i=e.y-n/2+188/2;c.current.scrollTo({left:Math.max(0,r),top:Math.max(0,i),behavior:`smooth`})},J=e=>{c.current&&(f.current=!0,y(!0),m.current={x:e.pageX,y:e.pageY},h.current={left:c.current.scrollLeft,top:c.current.scrollTop})},Y=e=>{if(!f.current||!c.current)return;let t=e.pageX-m.current.x,n=e.pageY-m.current.y;c.current.scrollLeft=h.current.left-t,c.current.scrollTop=h.current.top-n},X=()=>{f.current=!1,y(!1)};return a(()=>{if(o&&C.length>0&&c.current){let e=c.current.querySelector(`.relative.pointer-events-none`);e&&b.fromTo(e,{opacity:0,scale:.96},{opacity:1,scale:1,duration:.5,ease:`power3.out`})}},[o]),!o||C.length===0?t(`div`,{className:`relative overflow-hidden rounded-[2rem] border border-black/[0.06] bg-white/80 p-8 shadow-[0_2px_20px_rgba(0,0,0,0.04)] backdrop-blur-sm dark:border-white/[0.06] dark:bg-void-800/75 dark:shadow-[0_4px_24px_rgba(0,0,0,0.2)]`,children:[t(x,{accentHex:`#00E0A0`}),t(g,{accentHex:`#00E0A0`}),t(`div`,{className:`relative z-10 flex min-h-[22rem] flex-col items-center justify-center text-center`,children:[t(`div`,{className:`mb-5 flex h-16 w-16 items-center justify-center rounded-[1.3rem] border border-signal-500/20 bg-signal-500/10 text-signal-500 shadow-[0_0_24px_rgba(0,224,160,0.16)]`,children:t(_,{className:`h-8 w-8`,strokeWidth:1.4})}),t(`div`,{className:`text-[10px] font-bold uppercase tracking-[0.2em] text-signal-500`,children:`Dependency Graph`}),t(`h3`,{className:`mt-3 font-display text-3xl font-black tracking-tight text-slate-900 dark:text-white`,children:`The DAG wakes up with the sprint.`}),t(`p`,{className:`mt-3 max-w-xl text-sm leading-relaxed text-slate-500 dark:text-slate-400`,children:`Start a sprint to visualize task dependencies, live execution flow, and which parts of the graph are still waiting on code, merge work, or final completion.`})]})]}):t(`div`,{className:`group relative overflow-hidden rounded-[2rem] border border-black/[0.06] bg-white/80 p-5 shadow-[0_2px_20px_rgba(0,0,0,0.04)] backdrop-blur-sm dark:border-white/[0.06] dark:bg-void-800/75 dark:shadow-[0_4px_24px_rgba(0,0,0,0.2)] md:p-6`,children:[t(x,{accentHex:`#00E0A0`}),t(g,{accentHex:`#00E0A0`}),t(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[t(`div`,{className:`dag-aurora absolute -left-20 top-8 h-56 w-56 rounded-full`,style:{background:`radial-gradient(circle, rgba(0,224,160,0.08) 0%, transparent 70%)`}}),t(`div`,{className:`dag-aurora absolute right-[-4rem] top-1/3 h-64 w-64 rounded-full`,style:{background:`radial-gradient(circle, rgba(255,184,0,0.08) 0%, transparent 70%)`,animationDelay:`-4s`}}),t(`div`,{className:`dag-grid-pan absolute inset-0 opacity-40 dark:opacity-50`,style:{backgroundImage:`radial-gradient(circle at 1px 1px, rgba(100,116,139,0.18) 1px, transparent 0)`,backgroundSize:`26px 26px`}})]}),t(`div`,{className:`relative z-10`,children:[t(`div`,{className:`mb-5 flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between`,children:[t(`div`,{children:[t(`div`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.2em] text-signal-500`,children:[t(_,{className:`h-4 w-4`,strokeWidth:1.6}),`Dependency Constellation`]}),t(`h3`,{className:`mt-2 font-display text-3xl font-black tracking-tight text-slate-900 dark:text-white md:text-[2.35rem]`,children:`Live sprint DAG, rendered as motion.`}),t(`p`,{className:`mt-2 max-w-3xl text-sm leading-relaxed text-slate-500 dark:text-slate-400`,children:`Each node is a task on the current sprint. Flow moves left to right through real dependency edges, while color and motion show what is running, merge-waiting, blocked, or fully complete.`})]}),t(`div`,{className:`w-full overflow-x-auto pb-1 xl:max-w-[58rem] xl:justify-end`,children:t(`div`,{className:`grid min-w-[52rem] grid-cols-5 gap-2.5`,children:[{label:`Roots`,value:T.metrics.rootCount,icon:u,accent:`text-signal-500`},{label:`Running`,value:T.metrics.runningCount,icon:l,accent:`text-signal-500`},{label:`Ready`,value:T.metrics.readyCount,icon:d,accent:`text-ember-500`},{label:`Longest Chain`,value:T.metrics.longestChain,icon:p,accent:`text-cyan-500`},{label:`Completed`,value:T.metrics.completedCount,icon:S,accent:`text-status-green`}].map(({label:e,value:n,icon:r,accent:i})=>t(`div`,{className:`rounded-[1.1rem] border border-black/[0.05] bg-white/75 px-3 py-3 backdrop-blur-sm dark:border-white/[0.05] dark:bg-void-900/50`,children:[t(`div`,{className:`mb-2 flex items-center gap-2 text-[9px] font-bold uppercase tracking-[0.14em] ${i}`,children:[t(r,{className:`h-3.5 w-3.5`,strokeWidth:1.8}),t(`span`,{className:`leading-tight`,children:e})]}),t(`div`,{className:`font-mono text-2xl font-black tracking-tighter text-slate-900 dark:text-white`,children:n})]},e))})})]}),t(`div`,{className:`rounded-[1.6rem] border border-black/[0.05] bg-black/[0.02] p-3 dark:border-white/[0.05] dark:bg-white/[0.02]`,children:[t(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-3 px-2`,children:[t(`div`,{className:`flex flex-wrap items-center gap-2.5 text-[10px] font-bold uppercase tracking-[0.14em] text-slate-400`,children:[t(`span`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 dark:border-white/[0.06] dark:bg-void-900/55`,children:`Scrollable canvas`}),t(`span`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 dark:border-white/[0.06] dark:bg-void-900/55`,children:[`Dependency depth `,Math.max(1,T.columns.length)]}),t(`span`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 dark:border-white/[0.06] dark:bg-void-900/55`,children:[T.metrics.codingCompletedCount,` merge-stage nodes`]})]}),t(`div`,{className:`flex flex-wrap items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-slate-400`,children:[t(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-signal-500/20 bg-signal-500/10 px-3 py-1 text-signal-600 dark:text-signal-300`,children:[t(`span`,{className:`h-2 w-2 rounded-full bg-signal-500 animate-pulse`}),`Running`]}),t(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-cyan-500/20 bg-cyan-500/10 px-3 py-1 text-cyan-600 dark:text-cyan-300`,children:[t(`span`,{className:`h-2 w-2 rounded-full bg-cyan-500`}),`Coding Completed`]}),t(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-status-green/20 bg-status-green/10 px-3 py-1 text-status-green`,children:[t(`span`,{className:`h-2 w-2 rounded-full bg-status-green`}),`Completed`]})]})]}),t(`div`,{ref:c,className:`dag-scroll-shell h-[38rem] overflow-auto rounded-[1.35rem] border border-black/[0.05] bg-[linear-gradient(180deg,rgba(255,255,255,0.72),rgba(249,248,244,0.56))] shadow-[inset_0_1px_0_rgba(255,255,255,0.45)] dark:border-white/[0.04] dark:bg-[linear-gradient(180deg,rgba(24,20,17,0.88),rgba(8,6,5,0.76))] md:h-[46rem] ${v?`cursor-grabbing select-none`:`cursor-grab`}`,onPointerDown:J,onPointerMove:Y,onPointerUp:X,onPointerLeave:X,onPointerCancel:X,children:t(`div`,{className:`relative pointer-events-none`,style:{width:`${V}px`,height:`${U}px`},children:[t(`svg`,{className:`absolute inset-0`,width:V,height:U,viewBox:`0 0 ${V} ${U}`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[t(`defs`,{children:[t(`linearGradient`,{id:`dag-edge-active`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`#00B882`}),t(`stop`,{offset:`50%`,stopColor:`#00E0A0`}),t(`stop`,{offset:`100%`,stopColor:`#80FFD6`})]}),t(`linearGradient`,{id:`dag-edge-active-soft`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`rgba(0,184,130,0)`}),t(`stop`,{offset:`30%`,stopColor:`rgba(0,224,160,0.45)`}),t(`stop`,{offset:`70%`,stopColor:`rgba(128,255,214,0.75)`}),t(`stop`,{offset:`100%`,stopColor:`rgba(128,255,214,0)`})]}),t(`linearGradient`,{id:`dag-edge-settled`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`#008F65`}),t(`stop`,{offset:`100%`,stopColor:`#00AB84`})]}),t(`linearGradient`,{id:`dag-edge-blocked`,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:[t(`stop`,{offset:`0%`,stopColor:`#F59E0B`}),t(`stop`,{offset:`100%`,stopColor:`#FFB800`})]}),t(`filter`,{id:`dag-glow`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`,children:[t(`feGaussianBlur`,{stdDeviation:`6`,result:`blur`}),t(`feMerge`,{children:[t(`feMergeNode`,{in:`blur`}),t(`feMergeNode`,{in:`SourceGraphic`})]})]}),t(`filter`,{id:`dag-edge-bloom`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`,children:t(`feGaussianBlur`,{stdDeviation:`4`,result:`blur`})})]}),K.map(e=>t(`g`,{children:t(`line`,{x1:e.x,x2:e.x,y1:0,y2:U,stroke:`rgba(100,116,139,0.1)`,strokeDasharray:`5 12`})},e.depth)),T.edges.map(e=>{let n=G.get(e.from),r=G.get(e.to);if(!n||!r)return null;let i=n.x+D,a=n.y+O/2,o=r.x,s=r.y+O/2,c=Math.max(70,(o-i)*.42),l=`M ${i} ${a} C ${i+c} ${a}, ${o-c} ${s}, ${o} ${s}`,u=R(e),d=e.state===`active`?`url(#dag-edge-active)`:e.state===`settled`?`url(#dag-edge-settled)`:e.state===`blocked`?`url(#dag-edge-blocked)`:u.stroke;return t(`g`,{children:[t(`path`,{className:`dag-edge-transition`,d:l,stroke:`rgba(15,23,42,0.10)`,strokeWidth:u.width+8,opacity:e.state===`active`?.18:.1,strokeLinecap:`round`}),e.state===`active`&&t(`path`,{className:`dag-edge-transition`,d:l,stroke:`url(#dag-edge-active-soft)`,strokeWidth:u.width+10,opacity:.55,strokeLinecap:`round`,filter:`url(#dag-edge-bloom)`}),t(`path`,{id:`dag-path-${e.id}`,className:`dag-edge-transition`,d:l,stroke:d,strokeWidth:Math.max(u.width,2),opacity:Math.max(u.opacity,e.state===`pending`?.5:u.opacity),strokeLinecap:`round`,strokeDasharray:e.state===`pending`?`7 9`:void 0,filter:e.state===`active`?`url(#dag-glow)`:void 0,children:e.state===`pending`&&t(`animate`,{attributeName:`stroke-dashoffset`,from:`32`,to:`0`,dur:`2.8s`,repeatCount:`indefinite`})}),e.state===`active`&&t(`path`,{d:l,stroke:`#CFFFF0`,strokeWidth:2.4,opacity:.95,strokeLinecap:`round`,strokeDasharray:`18 32`,filter:`url(#dag-glow)`,children:t(`animate`,{attributeName:`stroke-dashoffset`,from:`0`,to:`-100`,dur:`1.6s`,repeatCount:`indefinite`})}),(e.state===`active`||e.state===`blocked`&&(n.isFocusMode||r.isFocusMode))&&t(`circle`,{r:e.state===`active`?4.5:3.2,fill:u.stroke,opacity:0,children:[t(`animate`,{attributeName:`opacity`,values:e.state===`blocked`?`0; 0.7; 0.7; 0`:`0; 0.92; 0.92; 0`,keyTimes:`0; 0.1; 0.9; 1`,dur:e.state===`active`?`3s`:`4.8s`,repeatCount:`indefinite`}),t(`animateMotion`,{dur:e.state===`active`?`3s`:`4.8s`,repeatCount:`indefinite`,rotate:`auto`,children:t(`mpath`,{href:`#dag-path-${e.id}`})})]}),e.state===`active`&&t(`circle`,{r:2.8,fill:`#F4FFF8`,opacity:0,children:[t(`animate`,{attributeName:`opacity`,values:`0; 0.95; 0.95; 0`,keyTimes:`0; 0.1; 0.9; 1`,dur:`2s`,begin:`${(F(e.id)*1.2).toFixed(2)}s`,repeatCount:`indefinite`}),t(`animateMotion`,{dur:`2s`,begin:`${(F(e.id)*1.2).toFixed(2)}s`,repeatCount:`indefinite`,rotate:`auto`,children:t(`mpath`,{href:`#dag-path-${e.id}`})})]}),e.state!==`pending`&&t(`circle`,{cx:o,cy:s,r:e.state===`active`?7:5,fill:u.stroke,opacity:e.state===`blocked`?.18:.12,children:e.state===`active`&&t(`animate`,{attributeName:`r`,values:`6;10;6`,dur:`2.2s`,repeatCount:`indefinite`})})]},e.id)})]}),K.map(e=>t(`div`,{className:`pointer-events-none absolute -translate-x-1/2`,style:{left:`${e.x}px`,top:`18px`},children:t(`div`,{className:`rounded-full border border-black/[0.06] bg-white/70 px-3 py-1 text-[10px] font-bold uppercase tracking-[0.16em] text-slate-500 shadow-sm backdrop-blur-xl dark:border-white/[0.06] dark:bg-void-900/60 dark:text-slate-300`,children:[t(`span`,{children:e.label}),t(`span`,{className:`ml-2 font-mono text-slate-400`,children:e.count})]})},`label-${e.depth}`)),W.map(e=>t(H,{node:e,dispatch:I.get(e.task.record_id||``)||I.get(e.task.id),onNodeClick:q},e.task.id))]})})]})]})]})};export{U as SprintDag};
|