ignitefuse 0.1.0

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 (48) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +37 -0
  3. package/THIRD_PARTY_NOTICES.md +37 -0
  4. package/dist/index.js +9954 -0
  5. package/dist/index.js.map +7 -0
  6. package/package.json +51 -0
  7. package/skills/ignitefuse/SKILL.md +75 -0
  8. package/skills/ignitefuse/references/full-api-and-architecture.md +93 -0
  9. package/skills/ignitefuse-dev/SKILL.md +22 -0
  10. package/skills/ignitefuse-dev/references/implementation-map.md +18 -0
  11. package/skills/ignitefuse-dev/references/task-recipes.md +32 -0
  12. package/skills/ignitefuse-make-toolpath/SKILL.md +48 -0
  13. package/skills/ignitefuse-make-toolpath/references/api-shape.md +211 -0
  14. package/skills/ignitefuse-make-toolpath/references/direct-open-case-solid-bottom.md +193 -0
  15. package/skills/ignitefuse-make-toolpath/references/direct-region-fill.md +34 -0
  16. package/skills/ignitefuse-make-toolpath/references/function-implementation.md +137 -0
  17. package/skills/ignitefuse-make-toolpath/references/stl-standard-fdm.md +50 -0
  18. package/skills/ignitefuse-params/SKILL.md +24 -0
  19. package/skills/ignitefuse-params/references/param-patterns.md +153 -0
  20. package/skills/ignitefuse-printer-scene/SKILL.md +26 -0
  21. package/skills/ignitefuse-printer-scene/references/canonical-printer-scene.md +110 -0
  22. package/skills/ignitefuse-studio-mcp/SKILL.md +29 -0
  23. package/skills/ignitefuse-studio-mcp/references/mcp-tools.md +205 -0
  24. package/web/_app/env.js +1 -0
  25. package/web/_app/immutable/assets/0.7gMbBLNl.css +1 -0
  26. package/web/_app/immutable/assets/2.DUefECe3.css +1 -0
  27. package/web/_app/immutable/chunks/BLxuUouR.js +1 -0
  28. package/web/_app/immutable/chunks/BYlkGUYK.js +2 -0
  29. package/web/_app/immutable/chunks/ByZS5AaA.js +1 -0
  30. package/web/_app/immutable/chunks/C8-ejoe7.js +1 -0
  31. package/web/_app/immutable/chunks/CH8BOpuN.js +1 -0
  32. package/web/_app/immutable/chunks/Crm9Js9u.js +1 -0
  33. package/web/_app/immutable/chunks/D2Rdy9P1.js +1 -0
  34. package/web/_app/immutable/chunks/DwxNakxI.js +1 -0
  35. package/web/_app/immutable/entry/app.CUixVVde.js +2 -0
  36. package/web/_app/immutable/entry/start.DLVy4bB7.js +1 -0
  37. package/web/_app/immutable/nodes/0.Dgd1b1QE.js +1 -0
  38. package/web/_app/immutable/nodes/1.D_VGAzop.js +1 -0
  39. package/web/_app/immutable/nodes/2.CajHQkWG.js +5344 -0
  40. package/web/_app/immutable/workers/assets/clipper2z-bvMLVKp3.wasm +0 -0
  41. package/web/_app/immutable/workers/fuseRuntime.worker-DXbd4CFC.js +22 -0
  42. package/web/_app/immutable/workers/layerToolpath.worker-5A0bN0Cv.js +15 -0
  43. package/web/_app/immutable/workers/sectionConnect.worker-D4w8efrj.js +1 -0
  44. package/web/_app/version.json +1 -0
  45. package/web/favicon.png +0 -0
  46. package/web/icon.png +0 -0
  47. package/web/index.html +43 -0
  48. package/web/logo.png +0 -0
@@ -0,0 +1 @@
1
+ (function(){"use strict";const A=(e,n,t)=>(n[0]-e[0])*(t[1]-e[1])-(n[1]-e[1])*(t[0]-e[0]),b=(e,n,t,o)=>Math.min(e[0],t[0])-o<=n[0]&&n[0]<=Math.max(e[0],t[0])+o&&Math.min(e[1],t[1])-o<=n[1]&&n[1]<=Math.max(e[1],t[1])+o,q=(e,n,t,o,r=1e-9)=>{const s=A(e,n,t),c=A(e,n,o),a=A(t,o,e),i=A(t,o,n);return Math.abs(s)<=r&&b(e,t,n,r)||Math.abs(c)<=r&&b(e,o,n,r)||Math.abs(a)<=r&&b(t,e,o,r)||Math.abs(i)<=r&&b(t,n,o,r)?!0:s>0!=c>0&&a>0!=i>0},F=(e,n)=>{const t=n[0]-e[0],o=n[1]-e[1];return t*t+o*o},w=e=>{let n=0;for(let t=0;t<e.length;t+=1){const o=e[t],r=e[(t+1)%e.length];n+=o[0]*r[1]-r[0]*o[1]}return n/2},O=e=>{let n=1/0,t=1/0,o=-1/0,r=-1/0;for(const s of e)n=Math.min(n,s[0]),t=Math.min(t,s[1]),o=Math.max(o,s[0]),r=Math.max(r,s[1]);return Number.isFinite(n)?{min:[n,t],max:[o,r]}:{min:[0,0],max:[0,0]}},X=(e,n,t)=>{const o=n[0]-e[0],r=n[1]-e[1],s=t[0]-n[0],c=t[1]-n[1];return o*c-r*s},Y=(e,n)=>{const t=n*n,o=[];for(const r of e){const s=o[o.length-1];(!s||F(s,r)>t)&&o.push(r)}return o.length>1&&F(o[0],o[o.length-1])<=t&&o.pop(),o},W=(e,n)=>{if(e.length<3)return[...e];const t=[];for(let o=0;o<e.length;o+=1){const r=e[(o-1+e.length)%e.length],s=e[o],c=e[(o+1)%e.length];Math.abs(X(r,s,c))>n&&t.push(s)}return t.length>=3?t:[...e]},H=(e,n=1e-5)=>{const t=Y(e,n);return W(t,n)},J=(e,n)=>{let t=!1;for(let o=0,r=n.length-1;o<n.length;r=o,o+=1){const s=n[o],c=n[r];s[1]>e[1]!=c[1]>e[1]&&e[0]<(c[0]-s[0])*(e[1]-s[1])/(c[1]-s[1])+s[0]&&(t=!t)}return t},Q=e=>e[0]??null,V=(e,n)=>n[0]>=e.min[0]&&n[0]<=e.max[0]&&n[1]>=e.min[1]&&n[1]<=e.max[1],Z=(e,n)=>n.min[0]>=e.min[0]&&n.max[0]<=e.max[0]&&n.min[1]>=e.min[1]&&n.max[1]<=e.max[1],ee=e=>e%2===1?"hole":e===0?"outer":"island",ne=(e,n)=>{const t=n%2===0,r=w(e)>=0;return t===r?e:[...e].reverse()},te=(e,n={})=>{var a;const t=n.areaEpsilon??1e-6,o=n.distanceEpsilon??1e-5,r=e.map((i,d)=>{const p=H(i,o),g=w(p);return{area:g,bounds:O(p),childIds:[],depth:0,id:`contour-${d}`,points:p,role:p.length<3||Math.abs(g)<=t?"invalid":"outer",sourceIndex:d,winding:g>=0?"ccw":"cw"}}),s=r.filter(i=>i.role!=="invalid");for(const i of s){const d=Q(i.points);if(!d)continue;const p=s.filter(m=>m.sourceIndex!==i.sourceIndex&&Math.abs(m.area)>Math.abs(i.area)&&Z(m.bounds,i.bounds)&&V(m.bounds,d)&&J(d,m.points)).sort((m,S)=>Math.abs(m.area)-Math.abs(S.area)),g=p[0];i.parentId=g==null?void 0:g.id,i.depth=p.length}for(const i of s)i.role=ee(i.depth),i.points=ne(i.points,i.depth),i.area=w(i.points),i.winding=i.area>=0?"ccw":"cw",i.bounds=O(i.points);const c=new Map(s.map(i=>[i.id,i]));for(const i of s)i.parentId&&((a=c.get(i.parentId))==null||a.childIds.push(i.id));return r},oe=(e,n)=>[e.frame.origin[0]+e.frame.xAxis[0]*n[0]+e.frame.yAxis[0]*n[1],e.frame.origin[1]+e.frame.xAxis[1]*n[0]+e.frame.yAxis[1]*n[1],e.frame.origin[2]+e.frame.xAxis[2]*n[0]+e.frame.yAxis[2]*n[1]],se=(e,n)=>te(n.map(o=>o.points2)).map((o,r)=>{const s=n[o.sourceIndex]??n[r],c=s.points2.length>=3?s.points2:o.points,a=s.points3.length===c.length?s.points3:c.map(d=>oe(e,d)),i=w(c);return{...s,area:i,bounds:O(c),childIds:o.childIds,closed:o.role!=="open",depth:o.depth,id:`curve-${r}`,parentId:o.parentId,points2:c,points3:a,role:o.role,winding:i>=0?"ccw":"cw"}}),v=e=>typeof e.id=="number",T=(e,n)=>{const t=n[0]-e[0],o=n[1]-e[1];return Math.sqrt(t*t+o*o)},L=(e,n,t)=>T(e,n)<=t,j=(e,n)=>`${Math.round(e[0]/n)},${Math.round(e[1]/n)}`,z=e=>{let n=0;for(let t=0;t<e.length;t+=1){const o=e[t],r=e[(t+1)%e.length];n+=o[0]*r[1]-r[0]*o[1]}return n/2},re=(e,n)=>{if(e.length<4)return!1;for(let t=0;t<e.length;t+=1){const o=e[t],r=e[(t+1)%e.length];for(let s=t+1;s<e.length;s+=1){if(s===t||s===t+1||t===0&&s===e.length-1)continue;const a=e[s],i=e[(s+1)%e.length];if(q(o,r,a,i,n))return!0}}return!1},ie=(e,n)=>e.points2.length<2?!1:L(e.points2[0],e.points2[e.points2.length-1],n),_=(e,n=1e-4)=>{if(e.points2.length<2)return e;const t=e.points2[0],o=e.points2[e.points2.length-1];return L(t,o,n)?{...e,points2:e.points2.slice(0,-1),points3:e.points3.slice(0,-1)}:e},R=(e,n)=>{if(!ie(e,n))return{rejected:!1,short:!1};const t={...e,end:e.start,points2:[...e.points2.slice(0,-1),e.points2[0]],points3:[...e.points3.slice(0,-1),e.points3[0]]},o=_(t,n);return o.points2.length<3?{rejected:!1,short:!0}:{chain:o,rejected:!1,short:!1}},P=(e,n,t={})=>{const o=_(e,n);return!(o.points2.length<3||Math.abs(z(o.points2))<=1e-6||!t.allowSelfIntersection&&re(o.points2,1e-7))},ce=(e,n)=>{var o;const t=v(e)?e.endpointKeys:(o=e.source)==null?void 0:o.endpointKeys;return t||[`p:${j(e.points2[0],n)}`,`p:${j(e.points2[1],n)}`]},ae=e=>{var n;return v(e)?e.endpointRefs:(n=e.source)==null?void 0:n.endpointRefs},de=e=>{var n;return v(e)?e.triangleIndex:(n=e.source)==null?void 0:n.triangleIndex},U=(e,n,t,o)=>{const r=o==null?void 0:o[n],s=v(e)?n===0?e.edgeAId:e.edgeBId:r==null?void 0:r.edgeIndex,c=v(e)?n===0?e.aId:e.bId:r==null?void 0:r.vertexIndex;return{edgeId:s,key:t[n],point2:e.points2[n],point3:e.points3[n],pointId:c,ref:r}},le=e=>{const n=e.start.key,t=e.end.key;return n<t?`${n}:${t}`:`${t}:${n}`},ue=(e,n)=>{const t=[],o=new Set;let r=0,s=0;for(const c of e){if(c.points2.length<2||c.points3.length<2)continue;if(L(c.points2[0],c.points2[1],n)){s+=1;continue}const a=ce(c,n),i=ae(c),d={end:U(c,1,a,i),id:t.length,noSeed:v(c)?c.noSeed??!1:!1,skip:v(c)?c.skip??!1:!1,start:U(c,0,a,i),triangleIndex:de(c)},p=le(d);if(o.has(p)){r+=1;continue}o.add(p),t.push(d)}return{duplicateCount:r,lines:t,zeroLengthCount:s}},y=e=>{const n=[];return typeof e.edgeId=="number"&&n.push(`e:${e.edgeId}`),typeof e.pointId=="number"&&n.push(`v:${e.pointId}`),n.push(e.key),[...new Set(n)]},E=(e,n)=>y(e).some(t=>y(n).includes(t)),he=(e,n)=>{if(!e||!n)return!1;if(typeof e.edgeIndex=="number"&&typeof n.edgeIndex=="number"&&e.edgeIndex===n.edgeIndex)return!0;const t=new Set;typeof e.edgeIndex=="number"&&t.add(e.edgeIndex);for(const o of e.incidentEdgeIndices??[])t.add(o);return typeof n.edgeIndex=="number"&&t.has(n.edgeIndex)?!0:(n.incidentEdgeIndices??[]).some(o=>t.has(o))},G=(e,n,t,o)=>{const r=n[0]-e[0],s=n[1]-e[1],c=o[0]-t[0],a=o[1]-t[1],i=Math.sqrt(r*r+s*s),d=Math.sqrt(c*c+a*a);return i<=Number.EPSILON||d<=Number.EPSILON?1:(r*c+s*a)/(i*d)},fe=(e,n)=>n===0?e.start:e.end,pe=(e,n)=>n===0?e.end:e.start,D=(e,n)=>({enter:fe(e,n),exit:pe(e,n),line:e}),ge=e=>{const n=new Map,t=(o,r,s)=>{const c=r*2+s,a=n.get(o);a?a.push(c):n.set(o,[c])};for(const o of e)if(!o.skip){for(const r of y(o.start))t(r,o.id,0);for(const r of y(o.end))t(r,o.id,1)}return n},Ce=(e,n,t,o)=>{const r=new Map;for(const s of y(t))for(const c of n.get(s)??[]){const a=Math.floor(c/2),i=c%2;o.has(a)||r.set(c,D(e[a],i))}return[...r.values()]},me=(e,n)=>{if(n.length<=1)return n[0];const t=n.map(a=>{const i=he(e.exit.ref,a.enter.ref)?100:0,d=e.line.triangleIndex!==a.line.triangleIndex?10:0,p=G(e.enter.point2,e.exit.point2,a.enter.point2,a.exit.point2),g=a.line.noSeed?.01:0;return{candidate:a,score:i+d+p-g}}).sort((a,i)=>i.score-a.score),o=t[0],r=t[1];if(!o)return;const s=o.score>=50,c=o.score>=10.75&&(!r||o.score-r.score>=.05);if(!(!s&&!c))return o.candidate},K=(e,n,t,o,r)=>{const s=[t.enter.point2,t.exit.point2],c=[t.enter.point3,t.exit.point3],a=[t.line.id],i=new Set([t.line.id]);let d=t,p=!1,g=!1,m=!1;const S=Math.max(e.length+1,1);for(let h=0;h<S;h+=1){if((E(d.exit,t.enter)||L(d.exit.point2,t.enter.point2,r))&&a.length>1){p=!0;break}const I=Ce(e,n,d.exit,o).filter(l=>!i.has(l.line.id)),u=E(d.exit,t.enter)||L(d.exit.point2,t.enter.point2,r)?t:void 0,C=u?[...I,u]:I,f=me(d,C);if(!f){m=C.length>1;break}if(f.line.id===t.line.id){p=!0;break}if(i.has(f.line.id)){g=!0;break}i.add(f.line.id),a.push(f.line.id),s.push(f.exit.point2),c.push(f.exit.point3),d=f}return{ambiguous:m,chain:{end:d.exit,lineIds:a,points2:s,points3:c,start:t.enter},closed:p,selfTouch:g}},$=e=>({end:e.start,lineIds:[...e.lineIds].reverse(),points2:[...e.points2].reverse(),points3:[...e.points3].reverse(),start:e.end}),N=(e,n)=>({end:n.end,lineIds:[...e.lineIds,...n.lineIds],points2:[...e.points2,...n.points2.slice(1)],points3:[...e.points3,...n.points3.slice(1)],start:e.start}),Ie=(e,n)=>e.points2.length<2||n.points2.length<2?1:G(e.points2[e.points2.length-2],e.points2[e.points2.length-1],n.points2[0],n.points2[1]),xe=(e,n)=>{if(E(e.end,n.start))return N(e,n);if(E(e.end,n.end))return N(e,$(n));if(E(e.start,n.end))return N(n,e);if(E(e.start,n.start))return N($(e),n)},Se=(e,n,t)=>{const o=[],r=$(e),s=$(n),c=-.35,a=(i,d)=>{const p=T(i.end.point2,d.start.point2);if(p>t)return;const g=Ie(i,d);g<c||o.push({chain:N(i,{...d,start:i.end,points2:[i.end.point2,...d.points2.slice(1)],points3:[i.end.point3,...d.points3.slice(1)]}),directionScore:g,distance:p})};return a(e,n),a(e,s),a(r,n),a(r,s),o},Me=(e,n,t)=>Se(e,n,t).sort((r,s)=>{const c=r.distance-s.distance;return Math.abs(c)>1e-9?c:s.directionScore-r.directionScore})[0],ve=(e,n)=>{const t=[...e],o=[];let r=0,s=0,c=0,a=0,i=0,d=0,p=0,g=0,m=0,S=!0;for(;S;){S=!1;let h;for(let u=0;u<t.length;u+=1){const C=[];for(let f=u+1;f<t.length;f+=1){const l=xe(t[u],t[f]);l&&C.push({bIndex:f,chain:l})}if(C.length===1){h={aIndex:u,bIndex:C[0].bIndex,chain:C[0].chain};break}C.length>1&&(r+=C.length)}if(h){t.splice(h.bIndex,1),t.splice(h.aIndex,1,h.chain),c+=1,S=!0;continue}let I;for(let u=0;u<t.length;u+=1){const C=[];for(let f=u+1;f<t.length;f+=1){const l=Me(t[u],t[f],n);l&&(d+=1,C.push({bIndex:f,candidate:l}))}if(C.length>0){C.sort((x,k)=>{const B=x.candidate.distance-k.candidate.distance;return Math.abs(B)>1e-9?B:k.candidate.directionScore-x.candidate.directionScore});const f=C[0],l=C[1];if(!(!l||f.candidate.distance<=n*.25||l.candidate.distance-f.candidate.distance>=Math.max(1e-6,n*.1))){i+=C.length;continue}I={aIndex:u,bIndex:f.bIndex,chain:f.candidate.chain};break}}I&&(t.splice(I.bIndex,1),t.splice(I.aIndex,1,I.chain),p+=1,S=!0)}for(let h=t.length-1;h>=0;h-=1){const I=t[h],u=R(I,n);if(u.short){m+=1,s+=1,t.splice(h,1);continue}u.rejected&&(g+=1),(u.chain||E(I.start,I.end)&&P(I,n))&&(o.push(u.chain??_(I,n)),t.splice(h,1),a+=u.chain?1:0)}return{ambiguousEndpointCount:r,closedChains:o,discardedShortNearClosedChainCount:s,exactMergedChainCount:c,gapClosedChainCount:a,nearMergeAmbiguousCount:i,nearMergeCandidateCount:d,nearMergedChainCount:p,openChains:t,rejectedClosedChainCount:g,shortNearClosedChainCount:m}},Ee=e=>T(e.points2[0],e.points2[e.points2.length-1]),Le=e=>{if(e.length===0)return{max:0,min:0};const n=e.map(Ee);return{max:Math.max(...n),min:Math.min(...n)}},ye=(e,n,t)=>{const o=ue(e,n),r=o.lines,s=ge(r),c=new Set,a=[],i=[];let d=0,p=0,g=0,m=0;const S=[...r.filter(u=>!u.skip&&!u.noSeed),...r.filter(u=>!u.skip&&u.noSeed)];for(const u of S){if(c.has(u.id))continue;const C=K(r,s,D(u,0),c,t),f=K(r,s,D(u,1),c,t),l=[C,f].find(x=>x.closed&&!x.selfTouch&&P(x.chain,t))??[C,f].filter(x=>!x.selfTouch).sort((x,k)=>k.chain.lineIds.length-x.chain.lineIds.length)[0]??C;for(const x of l.chain.lineIds)c.add(x);l.ambiguous&&(d+=1),l.selfTouch&&(m+=1);const M=R(l.chain,t);M.short&&(g+=1),M.rejected&&(d+=1),!l.selfTouch&&(M.chain||l.closed&&P(l.chain,t))?a.push(M.chain??_(l.chain,t)):l.chain.points2.length>=2&&i.push(l.chain)}const h=ve(i,t),I=Le(h.openChains);return{ambiguousEndpointCount:d+h.ambiguousEndpointCount,closedChains:[...a,...h.closedChains],discardedShortNearClosedChainCount:p+h.discardedShortNearClosedChainCount,duplicateCount:o.duplicateCount,exactMergedChainCount:h.exactMergedChainCount,gapClosedChainCount:h.gapClosedChainCount,nearMergeAmbiguousCount:h.nearMergeAmbiguousCount,nearMergeCandidateCount:h.nearMergeCandidateCount,nearMergedChainCount:h.nearMergedChainCount,openGapMax:I.max,openGapMin:I.min,openChains:h.openChains,pairedLineCount:c.size,rejectedClosedChainCount:h.rejectedClosedChainCount,selfTouchCount:m,shortNearClosedChainCount:g+h.shortNearClosedChainCount,zeroLengthCount:o.zeroLengthCount}},Ne=(e,n={})=>{const o=(e.intersectionLines&&e.intersectionLines.length>0?e.intersectionLines:e.openCurves).filter(l=>l.points2.length>=2&&l.points3.length>=2),r=Math.max(1e-4,n.closingRadius??.049),s=ye(o,1e-4,r),c=n.emitOpenCurves??n.diagnostics!=="none",a=s.closedChains.map((l,M)=>{const x=z(l.points2);return{area:x,closed:!0,id:`curve-${M}`,points2:l.points2,points3:l.points3,role:"unknown",winding:x>=0?"ccw":"cw"}}),i=c?s.openChains.map((l,M)=>({closed:!1,id:`open-${M}`,points2:l.points2,points3:l.points3,role:"open"})):[],d=se(e,a),p=d.filter(l=>l.role==="outer").length,g=d.filter(l=>l.role==="hole").length,m=d.filter(l=>l.role==="island").length,S=d.filter(l=>l.role==="invalid").length,h=n.diagnostics==="none"?[]:[...e.diagnostics,...s.zeroLengthCount>0||s.duplicateCount>0?[{level:"info",message:`${s.zeroLengthCount} zero-length section segments and ${s.duplicateCount} duplicate section segments were removed before make_loops.`}]:[],...s.ambiguousEndpointCount>0||s.selfTouchCount>0?[{level:s.ambiguousEndpointCount>0?"warning":"info",message:`${s.ambiguousEndpointCount} section endpoints remained ambiguous and ${s.selfTouchCount} self-touching loop candidates were left open by make_loops.`}]:[],{level:"info",message:`${s.pairedLineCount} section lines were consumed by make_loops.`},...s.openChains.length>0?[{level:"info",message:`make_loops repair: ${s.gapClosedChainCount} gap-closed, ${s.exactMergedChainCount} exact-merged, ${s.nearMergedChainCount}/${s.nearMergeCandidateCount} near-merged, ${s.nearMergeAmbiguousCount} near candidates ambiguous, ${s.shortNearClosedChainCount} short near-closed chains, ${s.rejectedClosedChainCount} closed candidates rejected; open gap range ${s.openGapMin.toFixed(6)}-${s.openGapMax.toFixed(6)} mm with closing ${r.toFixed(6)} mm.`}]:[],...s.discardedShortNearClosedChainCount>0?[{level:"info",message:`${s.discardedShortNearClosedChainCount} short near-closed non-contour fragments were discarded after make_loops.`}]:[],{level:d.length>0&&S===0?"info":"warning",message:`${p} outer curves, ${g} hole curves, ${m} island curves, ${S} invalid curves, and ${i.length} open curves connected from ${o.length} section segments.`}],{intersectionLines:I,rawCurves:u,openCurves:C,...f}=e;return{...f,curves:d,diagnostics:h,openCurves:i}};self.onmessage=({data:e})=>{try{const n=e.sections.map(t=>Ne(t,e.options));self.postMessage({id:e.id,sections:n})}catch(n){self.postMessage({id:e.id,error:n instanceof Error?n.message:String(n)})}}})();
@@ -0,0 +1 @@
1
+ {"version":"1779793404302"}
Binary file
package/web/icon.png ADDED
Binary file
package/web/index.html ADDED
@@ -0,0 +1,43 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" type="image/png" href="/favicon.png" />
6
+ <link rel="apple-touch-icon" href="/icon.png" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+ <title>IgniteFuse</title>
9
+ <link href="/_app/immutable/entry/start.DLVy4bB7.js" rel="modulepreload">
10
+ <link href="/_app/immutable/chunks/Crm9Js9u.js" rel="modulepreload">
11
+ <link href="/_app/immutable/chunks/CH8BOpuN.js" rel="modulepreload">
12
+ <link href="/_app/immutable/chunks/BLxuUouR.js" rel="modulepreload">
13
+ <link href="/_app/immutable/entry/app.CUixVVde.js" rel="modulepreload">
14
+ <link href="/_app/immutable/chunks/BYlkGUYK.js" rel="modulepreload">
15
+ <link href="/_app/immutable/chunks/DwxNakxI.js" rel="modulepreload">
16
+ <link href="/_app/immutable/chunks/D2Rdy9P1.js" rel="modulepreload">
17
+ <link href="/_app/immutable/chunks/ByZS5AaA.js" rel="modulepreload">
18
+ <link href="/_app/immutable/nodes/0.Dgd1b1QE.js" rel="modulepreload">
19
+ <link href="/_app/immutable/chunks/C8-ejoe7.js" rel="modulepreload">
20
+
21
+ <link href="/_app/immutable/assets/0.7gMbBLNl.css" rel="stylesheet">
22
+ </head>
23
+ <body data-sveltekit-preload-data="hover">
24
+ <div style="display: contents">
25
+ <script>
26
+ {
27
+ __sveltekit_7g40q9 = {
28
+ base: ""
29
+ };
30
+
31
+ const element = document.currentScript.parentElement;
32
+
33
+ Promise.all([
34
+ import("/_app/immutable/entry/start.DLVy4bB7.js"),
35
+ import("/_app/immutable/entry/app.CUixVVde.js")
36
+ ]).then(([kit, app]) => {
37
+ kit.start(app, element);
38
+ });
39
+ }
40
+ </script>
41
+ </div>
42
+ </body>
43
+ </html>
package/web/logo.png ADDED
Binary file