@yorz/cli 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +11 -6
  2. package/dist/cli/index.js +1 -1
  3. package/dist/gui/assets/{abnfDiagram-VRR7QNED-CToCZW1F.js → abnfDiagram-VRR7QNED-DQM-IUdR.js} +1 -1
  4. package/dist/gui/assets/{arc-oKNztn93.js → arc-WoQS9inO.js} +1 -1
  5. package/dist/gui/assets/{architectureDiagram-ZJ3FMSHR-D9xnGSm6.js → architectureDiagram-ZJ3FMSHR-BSJfE6nY.js} +1 -1
  6. package/dist/gui/assets/{blockDiagram-677ZJIJ3-DUfLbkLH.js → blockDiagram-677ZJIJ3-BXk0h_Na.js} +1 -1
  7. package/dist/gui/assets/{c4Diagram-LMCZKHZV-aTEaKOPX.js → c4Diagram-LMCZKHZV-Sgnopqnh.js} +1 -1
  8. package/dist/gui/assets/channel-DAAPjLkv.js +1 -0
  9. package/dist/gui/assets/{chunk-2Q5K7J3B-4U-VsWeF.js → chunk-2Q5K7J3B-sWwRHI31.js} +1 -1
  10. package/dist/gui/assets/{chunk-32BRIVSS-DKQaN0vN.js → chunk-32BRIVSS-6HJXOWs9.js} +1 -1
  11. package/dist/gui/assets/{chunk-5VM5RSS4-CexiXwx1.js → chunk-5VM5RSS4-De_Y0Itz.js} +1 -1
  12. package/dist/gui/assets/{chunk-EX3LRPZG-DzPQlsW5.js → chunk-EX3LRPZG-CTtRnKWx.js} +1 -1
  13. package/dist/gui/assets/{chunk-JWPE2WC7-cHxwYQyh.js → chunk-JWPE2WC7-Dp9usWZX.js} +1 -1
  14. package/dist/gui/assets/{chunk-MOJQB5TN-DNz-nXAV.js → chunk-MOJQB5TN-OoM3V1FE.js} +1 -1
  15. package/dist/gui/assets/{chunk-RYQCIY6F-DcheWlZK.js → chunk-RYQCIY6F-M8me5HDP.js} +1 -1
  16. package/dist/gui/assets/{chunk-V7JOEXUC-CsscvNz_.js → chunk-V7JOEXUC-CLdvRo84.js} +1 -1
  17. package/dist/gui/assets/{chunk-VR4S4FIN-DlI4Zxwq.js → chunk-VR4S4FIN-BMEciG-B.js} +1 -1
  18. package/dist/gui/assets/{chunk-XXDRQBXY-HCnZrWqz.js → chunk-XXDRQBXY-DT8b8q8Q.js} +1 -1
  19. package/dist/gui/assets/classDiagram-OUVF2IWQ-DU6pj67q.js +1 -0
  20. package/dist/gui/assets/classDiagram-v2-EOCWNBFH-DU6pj67q.js +1 -0
  21. package/dist/gui/assets/{cose-bilkent-JH36ORCC-BRdvtU7b.js → cose-bilkent-JH36ORCC-C1w9npQD.js} +1 -1
  22. package/dist/gui/assets/{cynefin-VYW2F7L2-B9v1qADI.js → cynefin-VYW2F7L2-buyB6Ypi.js} +1 -1
  23. package/dist/gui/assets/{cynefinDiagram-TSTJHNR4-Cy4vVTQs.js → cynefinDiagram-TSTJHNR4-DPQmwOX9.js} +1 -1
  24. package/dist/gui/assets/{dagre-VKFMJZFB-BiOZFReM.js → dagre-VKFMJZFB-DfbmQsg3.js} +1 -1
  25. package/dist/gui/assets/{diagram-FQU43EPY-drLlkfZ-.js → diagram-FQU43EPY-DZZkoYxF.js} +1 -1
  26. package/dist/gui/assets/{diagram-G47NLZAW-DR4xC90B.js → diagram-G47NLZAW-DJyFDLgi.js} +1 -1
  27. package/dist/gui/assets/{diagram-NH7WQ7WH-auv4K2Ky.js → diagram-NH7WQ7WH-CeIoika9.js} +1 -1
  28. package/dist/gui/assets/{diagram-OA4YK3LP-ClCS6mNB.js → diagram-OA4YK3LP-D3bJmzbA.js} +1 -1
  29. package/dist/gui/assets/{diagram-WEI45ONY-BFwyQYzT.js → diagram-WEI45ONY-5whYnN6Z.js} +1 -1
  30. package/dist/gui/assets/{ebnfDiagram-CCIWWBDH-BWXg2jSj.js → ebnfDiagram-CCIWWBDH-fRcOahPq.js} +1 -1
  31. package/dist/gui/assets/{erDiagram-Q63AITRT-Co9CPBVY.js → erDiagram-Q63AITRT-h22ShxWi.js} +1 -1
  32. package/dist/gui/assets/{flowDiagram-23GEKE2U-BntEDAjt.js → flowDiagram-23GEKE2U-CImBEPKl.js} +1 -1
  33. package/dist/gui/assets/{ganttDiagram-NO4QXBWP-DoPSKIWP.js → ganttDiagram-NO4QXBWP-D7GfEoL1.js} +1 -1
  34. package/dist/gui/assets/{gitGraphDiagram-IHSO6WYX-DHE6ng8r.js → gitGraphDiagram-IHSO6WYX-BQlPqwV3.js} +1 -1
  35. package/dist/gui/assets/{index-BskSzOyX.js → index-BnMXI8QL.js} +16 -16
  36. package/dist/gui/assets/{infoDiagram-FWYZ7A6U-J7dh8QQl.js → infoDiagram-FWYZ7A6U-dQgAvdfE.js} +1 -1
  37. package/dist/gui/assets/{ishikawaDiagram-FXEZZL3T-D9yNcyZB.js → ishikawaDiagram-FXEZZL3T-Dsb8okiC.js} +1 -1
  38. package/dist/gui/assets/{journeyDiagram-5HDEW3XC-Bz2vtfQ8.js → journeyDiagram-5HDEW3XC-BVaJ8kFx.js} +1 -1
  39. package/dist/gui/assets/{kanban-definition-HUTT4EX6-CF8Y7-tO.js → kanban-definition-HUTT4EX6-CtRRLwap.js} +1 -1
  40. package/dist/gui/assets/{linear-N0bLEB8w.js → linear-CtTzoPCE.js} +1 -1
  41. package/dist/gui/assets/{mermaid.core-BqfH6JD9.js → mermaid.core-BO-VJXe-.js} +4 -4
  42. package/dist/gui/assets/{mindmap-definition-LN4V7U3C-Uzs98b4p.js → mindmap-definition-LN4V7U3C-Djl0w9Df.js} +1 -1
  43. package/dist/gui/assets/{pegDiagram-2B236MQR-CTzmKG10.js → pegDiagram-2B236MQR-D2VRUT1H.js} +1 -1
  44. package/dist/gui/assets/{pieDiagram-ENE6RG2P-p3ZF7ovq.js → pieDiagram-ENE6RG2P-Bp7Ytwe1.js} +1 -1
  45. package/dist/gui/assets/{quadrantDiagram-ABIIQ3AL-DP0S7jUf.js → quadrantDiagram-ABIIQ3AL-Df4S5Uw8.js} +1 -1
  46. package/dist/gui/assets/{railroadDiagram-RFXS5EU6-C8z5Y9JK.js → railroadDiagram-RFXS5EU6-1E9T3-eU.js} +1 -1
  47. package/dist/gui/assets/{requirementDiagram-TGXJPOKE-D7MO6nqL.js → requirementDiagram-TGXJPOKE-ClWnTEWR.js} +1 -1
  48. package/dist/gui/assets/{sankeyDiagram-HTMAVEWB-B03YKqvh.js → sankeyDiagram-HTMAVEWB-kV-szT-S.js} +1 -1
  49. package/dist/gui/assets/{sequenceDiagram-DBY2YBRQ-DsS-bbE5.js → sequenceDiagram-DBY2YBRQ-C17izAQ5.js} +1 -1
  50. package/dist/gui/assets/{sizeCapture-X5ZJPWSS-OcZAF91M.js → sizeCapture-X5ZJPWSS-Qa6aDRpG.js} +1 -1
  51. package/dist/gui/assets/{stateDiagram-2N3HPSRC-BCQVsBFy.js → stateDiagram-2N3HPSRC-C84qUVRJ.js} +1 -1
  52. package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-Ct4b-n_-.js +1 -0
  53. package/dist/gui/assets/{swimlanes-5IMT3BWC-C1inQhlb.js → swimlanes-5IMT3BWC-BByVALRE.js} +2 -2
  54. package/dist/gui/assets/swimlanesDiagram-G3AALYLV-0XnzonY2.js +8 -0
  55. package/dist/gui/assets/{timeline-definition-FHXFAJF6-C3eJioRO.js → timeline-definition-FHXFAJF6-BD9jOAZN.js} +1 -1
  56. package/dist/gui/assets/{vennDiagram-L72KCM5P-Dhnq6I7h.js → vennDiagram-L72KCM5P-BqTRSqDu.js} +1 -1
  57. package/dist/gui/assets/{wardleyDiagram-EHGQE667-B8urU-xJ.js → wardleyDiagram-EHGQE667-DqSSn_TX.js} +1 -1
  58. package/dist/gui/assets/{xychartDiagram-FW5EYKEG-BMyOJa1W.js → xychartDiagram-FW5EYKEG-B5GDvD8r.js} +1 -1
  59. package/dist/gui/index.html +1 -1
  60. package/package.json +1 -1
  61. package/dist/gui/assets/channel-D8ba0HoQ.js +0 -1
  62. package/dist/gui/assets/classDiagram-OUVF2IWQ-DlvbQg6E.js +0 -1
  63. package/dist/gui/assets/classDiagram-v2-EOCWNBFH-DlvbQg6E.js +0 -1
  64. package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-CF1hqxG-.js +0 -1
  65. package/dist/gui/assets/swimlanesDiagram-G3AALYLV-8LLwrRNh.js +0 -8
package/README.md CHANGED
@@ -1,25 +1,30 @@
1
1
  # YorZ
2
2
 
3
- English | [中文](./README_CN.md)
3
+ **English** | [中文](./README_CN.md)
4
4
 
5
5
  ---
6
6
 
7
- ## Philosophy
7
+ ## Why YorZ
8
8
 
9
- YorZ connects requirement analysis, solution decisions, task execution, and change review into a traceable development path through spec documents, a visual interface, and Agent workflows.
9
+ YorZ (Youzi) prevents vibe coding from turning programs into black boxes;
10
+ YorZ solves the problem that developers do not read specs in SDD (spec-driven development) workflows.
10
11
 
11
- YorZ believes a product is not just the final code, but the accumulated result of the initial idea and every key decision along the way.
12
+ The speed at which Agents produce documents can also overload developers with information, pushing them out of the workflow;
13
+ YorZ lifts the information in spec documents into a graphical representation and provides a UI tailored to SDD workflows, reducing developer load and maximizing Agent output power.
12
14
 
13
15
  ![preview](./docs/preview.png)
14
16
 
15
17
  ## Features
16
18
 
17
- - Manage spec-driven development through a graphical interface
18
- - Present Agent-generated technical plans as visual diagrams to improve reading comprehension
19
+ - Built-in lightweight SDD skill
20
+ - UI tailored to SDD workflows
21
+ - Lift Agent output information into visual diagrams to improve reading comprehension
19
22
  - Minimize user intervention in the flow while preserving authority over key decisions
20
23
  - Provide a deep debug mode that uses evidence chains to diagnose hard problems Agents struggle to solve
21
24
  - Support mainstream Coding Agents including Claude Code, OpenCode, and Codex
22
25
 
26
+ [_User Guide_](./docs/User-Guide.md)
27
+
23
28
  ## Installation
24
29
 
25
30
  ```bash
package/dist/cli/index.js CHANGED
@@ -21,7 +21,7 @@ import { Codex } from "@openai/codex-sdk";
21
21
  import { createOpencode } from "@opencode-ai/sdk";
22
22
  import { createInterface as createInterface$1 } from "node:readline/promises";
23
23
  import MarkdownIt from "markdown-it";
24
- const version = "0.3.4";
24
+ const version = "0.3.5";
25
25
  const pkg = {
26
26
  version
27
27
  };
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-DNz-nXAV.js";import{p as f}from"./chunk-JWPE2WC7-cHxwYQyh.js";import{_ as n,l as o}from"./mermaid.core-BqfH6JD9.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-B9v1qADI.js";import"./index-BskSzOyX.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
1
+ import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-OoM3V1FE.js";import{p as f}from"./chunk-JWPE2WC7-Dp9usWZX.js";import{_ as n,l as o}from"./mermaid.core-BO-VJXe-.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-buyB6Ypi.js";import"./index-BnMXI8QL.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
@@ -1 +1 @@
1
- import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-BqfH6JD9.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-BO-VJXe-.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};