daiquiri-ui 2025.12.5__py3-none-any.whl → 2026.2.0__py3-none-any.whl

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 (143) hide show
  1. daiquiri_ui/__init__.py +0 -1
  2. daiquiri_ui/static/assets/Anchor-0b4a3d33.js +1 -0
  3. daiquiri_ui/static/assets/AutoscaleOption-3cb99678.js +1 -0
  4. daiquiri_ui/static/assets/{BPMVideoStream-5e8c0121.js → BPMVideoStream-c3e09e8b.js} +1 -1
  5. daiquiri_ui/static/assets/{CanvasEnhancer-abaa5025.js → CanvasEnhancer-dd82c090.js} +1 -1
  6. daiquiri_ui/static/assets/ColorMap-be59ad21.js +1 -0
  7. daiquiri_ui/static/assets/CompositeMap-c93f5466.js +1 -0
  8. daiquiri_ui/static/assets/{ConnectUtils-bd734a4a.js → ConnectUtils-3923fa2f.js} +1 -1
  9. daiquiri_ui/static/assets/{Console-4f2397f7.js → Console-d0028912.js} +1 -1
  10. daiquiri_ui/static/assets/{Cross-80ee2b29.js → Cross-d5df0df3.js} +1 -1
  11. daiquiri_ui/static/assets/{CrossMarker-cc495eca.js → CrossMarker-71cd11cf.js} +2 -2
  12. daiquiri_ui/static/assets/DraggableRect-25d91c7d.js +1 -0
  13. daiquiri_ui/static/assets/DropdownButton-29cc265b.js +1 -0
  14. daiquiri_ui/static/assets/DropdownDetector-5016908a.js +1 -0
  15. daiquiri_ui/static/assets/{Editor-b897e35a.js → Editor-7b500b85.js} +9 -9
  16. daiquiri_ui/static/assets/EditorTree-7fc000d8.js +1 -0
  17. daiquiri_ui/static/assets/H5Viewer-d1305c58.js +1 -0
  18. daiquiri_ui/static/assets/{H5WebCurvePlot-acd3b964.js → H5WebCurvePlot-61b08211.js} +1 -1
  19. daiquiri_ui/static/assets/HSegment-8d2c001e.js +43 -0
  20. daiquiri_ui/static/assets/HardwareButton-af41c610.js +1 -0
  21. daiquiri_ui/static/assets/Hdf5Plot-bbffc65f.js +1 -0
  22. daiquiri_ui/static/assets/{HistogramDomainSlider-9c6d3e2d.js → HistogramDomainSlider-304bdab4.js} +1 -1
  23. daiquiri_ui/static/assets/Image-ee61818a.js +1 -0
  24. daiquiri_ui/static/assets/Label-9d8979b3.js +1 -0
  25. daiquiri_ui/static/assets/{LoadingMessage-072bb4e8.js → LoadingMessage-03b4fa4f.js} +1 -1
  26. daiquiri_ui/static/assets/NewScanButton-0051d220.js +1 -0
  27. daiquiri_ui/static/assets/NewScanButton-57cf0c17.js +1 -0
  28. daiquiri_ui/static/assets/OptionsProcess-da629bfb.js +1 -0
  29. daiquiri_ui/static/assets/ParametersList-2d01832f.js +1 -0
  30. daiquiri_ui/static/assets/RectRoi-3693cc65.js +1 -0
  31. daiquiri_ui/static/assets/RectRuler-1fee3fd8.js +543 -0
  32. daiquiri_ui/static/assets/RulerButton-a95a6035.js +139 -0
  33. daiquiri_ui/static/assets/SampleDCList-dce0bd2b.js +1 -0
  34. daiquiri_ui/static/assets/SampleRegistration-544aa4bd.js +1 -0
  35. daiquiri_ui/static/assets/SavingButton-c3efc92c.js +1 -0
  36. daiquiri_ui/static/assets/ScanDataService-16f29ecd.js +1 -0
  37. daiquiri_ui/static/assets/ScanPlot0d-67c76bfe.js +1 -0
  38. daiquiri_ui/static/assets/ScanPlot0dValue-c0dd01b5.js +1 -0
  39. daiquiri_ui/static/assets/ScanPlot1d-3c930b95.js +1 -0
  40. daiquiri_ui/static/assets/ScanPlot1d-ee33c98b.js +1 -0
  41. daiquiri_ui/static/assets/{ScanPlot2d-c857bbd7.js → ScanPlot2d-af57d8ad.js} +1 -1
  42. daiquiri_ui/static/assets/{ScanTable-11f74702.js → ScanTable-bc13760e.js} +1 -1
  43. daiquiri_ui/static/assets/ScanValue-00aab91b.js +1 -0
  44. daiquiri_ui/static/assets/SceneScale-e2a42af2.js +1 -0
  45. daiquiri_ui/static/assets/SchemaForm-7d897a32.js +1 -0
  46. daiquiri_ui/static/assets/{ScreenScale-fdd43179.js → ScreenScale-b2417934.js} +1 -1
  47. daiquiri_ui/static/assets/{SelectionPoint-7fbd4e1f.js → SelectionPoint-a2cb4dfc.js} +1 -1
  48. daiquiri_ui/static/assets/{StackedNameState-94be4a7b.js → StackedNameState-4e8dc742.js} +1 -1
  49. daiquiri_ui/static/assets/Statistics.worker-54a0d965.js +46 -0
  50. daiquiri_ui/static/assets/{Synoptic-d291a77a.js → Synoptic-8a3c67f3.js} +5 -5
  51. daiquiri_ui/static/assets/TomoAlign-b80a68c3.js +7 -0
  52. daiquiri_ui/static/assets/TomoBeamShaping-65a115e9.js +1 -0
  53. daiquiri_ui/static/assets/TomoDetector-500d46af.js +1 -0
  54. daiquiri_ui/static/assets/TomoDetector-e04a5a8b.js +1 -0
  55. daiquiri_ui/static/assets/TomoDetectorView-952499e6.js +64 -0
  56. daiquiri_ui/static/assets/TomoHolo-db2c8449.js +1 -0
  57. daiquiri_ui/static/assets/TomoPusherView-a50e2acd.js +1 -0
  58. daiquiri_ui/static/assets/TomoReconstructedSinogram-deee0779.js +191 -0
  59. daiquiri_ui/static/assets/TomoScanInfo-972a690b.js +1 -0
  60. daiquiri_ui/static/assets/{TomoScanList-66ecaec4.js → TomoScanList-ede05c2a.js} +1 -1
  61. daiquiri_ui/static/assets/TomoService-e9741d6a.js +1 -0
  62. daiquiri_ui/static/assets/TomoSinogram-dce5808e.js +1 -0
  63. daiquiri_ui/static/assets/TomoTiling-04701bb7.js +69 -0
  64. daiquiri_ui/static/assets/TwoD-fee9523f.js +3 -0
  65. daiquiri_ui/static/assets/TwoDObject-2f30deac.js +1 -0
  66. daiquiri_ui/static/assets/TwoDObjectList-458e4824.js +1 -0
  67. daiquiri_ui/static/assets/{UseMouseModeInteraction-9b6c111c.js → UseMouseModeInteraction-51c6269c.js} +1 -1
  68. daiquiri_ui/static/assets/VLineRoi-b38fe841.js +1 -0
  69. daiquiri_ui/static/assets/{VSegment-5d77576e.js → VSegment-f0d42c9a.js} +2 -2
  70. daiquiri_ui/static/assets/VSegmentRoi-d5e035cc.js +1 -0
  71. daiquiri_ui/static/assets/{VideoStream-b33f5afc.js → VideoStream-a5200b21.js} +1 -1
  72. daiquiri_ui/static/assets/{VisViewpointRestore-3a80fbce.js → VisViewpointRestore-4aa338ea.js} +3 -3
  73. daiquiri_ui/static/assets/{WorldScale-862ee5ba.js → WorldScale-23bd1dfb.js} +1 -1
  74. daiquiri_ui/static/assets/{ZoomPanCanvas-1365066d.js → ZoomPanCanvas-23b61dbb.js} +1 -1
  75. daiquiri_ui/static/assets/{colormap-0981f7dc.js → colormap-6e43299c.js} +1 -1
  76. daiquiri_ui/static/assets/fontawesomemore-webfont-6ae56ae3.woff2 +0 -0
  77. daiquiri_ui/static/assets/{geometry-252a228f.js → geometry-cd448ec1.js} +1 -1
  78. daiquiri_ui/static/assets/hooks-171c0765.js +1 -0
  79. daiquiri_ui/static/assets/{hooks-e8b12550.js → hooks-e0d9229c.js} +1 -1
  80. daiquiri_ui/static/assets/index-779a56ef.css +9 -0
  81. daiquiri_ui/static/assets/{index-19c84627.js → index-a9bb7636.js} +7 -7
  82. daiquiri_ui/static/assets/index-b3c0133a.js +3576 -0
  83. daiquiri_ui/static/assets/{plotly-basic-4f8b68a8.js → plotly-basic-ccc5794d.js} +1 -1
  84. daiquiri_ui/static/assets/{plotly-gl2d-14b9dcce.js → plotly-gl2d-345cb34a.js} +1 -1
  85. daiquiri_ui/static/assets/store-5d136a2c.js +1 -0
  86. daiquiri_ui/static/assets/{types-0be7083b.js → types-c366a377.js} +1 -1
  87. daiquiri_ui/static/index.html +2 -2
  88. daiquiri_ui/static/meta.json +1 -1
  89. {daiquiri_ui-2025.12.5.dist-info → daiquiri_ui-2026.2.0.dist-info}/METADATA +1 -1
  90. daiquiri_ui-2026.2.0.dist-info/RECORD +134 -0
  91. {daiquiri_ui-2025.12.5.dist-info → daiquiri_ui-2026.2.0.dist-info}/WHEEL +1 -1
  92. daiquiri_ui/static/assets/Anchor-f3716b7b.js +0 -1
  93. daiquiri_ui/static/assets/AutoscaleOption-e2ee098d.js +0 -1
  94. daiquiri_ui/static/assets/DraggableRect-8e897252.js +0 -1
  95. daiquiri_ui/static/assets/DropdownButton-9a594aef.js +0 -1
  96. daiquiri_ui/static/assets/DropdownDetector-705d3a9d.js +0 -1
  97. daiquiri_ui/static/assets/EditorTree-792b2d33.js +0 -1
  98. daiquiri_ui/static/assets/H5Viewer-6c3d85e4.js +0 -1
  99. daiquiri_ui/static/assets/HSegment-26c3fd51.js +0 -43
  100. daiquiri_ui/static/assets/HardwareButton-905ce384.js +0 -1
  101. daiquiri_ui/static/assets/Hdf5Plot-7b8f8e0f.js +0 -1
  102. daiquiri_ui/static/assets/Image-c1578ac2.js +0 -1
  103. daiquiri_ui/static/assets/Label-7daca8b6.js +0 -1
  104. daiquiri_ui/static/assets/NewScanButton-3ccc3031.js +0 -1
  105. daiquiri_ui/static/assets/NewScanButton-ed1679d8.js +0 -1
  106. daiquiri_ui/static/assets/OptionsProcess-9e8d1dd6.js +0 -1
  107. daiquiri_ui/static/assets/ParametersList-39837f0d.js +0 -1
  108. daiquiri_ui/static/assets/RectRoi-a627d206.js +0 -1
  109. daiquiri_ui/static/assets/RulerButton-ebbb7ca3.js +0 -139
  110. daiquiri_ui/static/assets/SampleDCList-03813f5f.js +0 -1
  111. daiquiri_ui/static/assets/SampleRegistration-6fad78fb.js +0 -1
  112. daiquiri_ui/static/assets/SavingButton-a220fa1e.js +0 -1
  113. daiquiri_ui/static/assets/ScanPlot0d-c78ff27c.js +0 -1
  114. daiquiri_ui/static/assets/ScanPlot0dValue-daa69216.js +0 -1
  115. daiquiri_ui/static/assets/ScanPlot1d-bdb2fdb1.js +0 -1
  116. daiquiri_ui/static/assets/ScanPlot1d-c0e49d26.js +0 -1
  117. daiquiri_ui/static/assets/ScanValue-a38a2ca1.js +0 -1
  118. daiquiri_ui/static/assets/SceneScale-47e8e288.js +0 -1
  119. daiquiri_ui/static/assets/SchemaForm-4a3d737e.js +0 -1
  120. daiquiri_ui/static/assets/TomoAlign-19546c0c.js +0 -5
  121. daiquiri_ui/static/assets/TomoBeamShaping-303f1af7.js +0 -1
  122. daiquiri_ui/static/assets/TomoDetector-42a6e14c.js +0 -1
  123. daiquiri_ui/static/assets/TomoDetectorView-bc556465.js +0 -64
  124. daiquiri_ui/static/assets/TomoHolo-dc83668f.js +0 -1
  125. daiquiri_ui/static/assets/TomoReconstructedSinogram-3aba7e83.js +0 -191
  126. daiquiri_ui/static/assets/TomoScanInfo-7235514b.js +0 -1
  127. daiquiri_ui/static/assets/TomoSinogram-3202ac53.js +0 -1
  128. daiquiri_ui/static/assets/TomoTiling-42ab8b24.js +0 -69
  129. daiquiri_ui/static/assets/TwoD-a488b0f5.js +0 -3
  130. daiquiri_ui/static/assets/TwoDObject-fbaffc6f.js +0 -1
  131. daiquiri_ui/static/assets/TwoDObjectList-7de7fa1d.js +0 -1
  132. daiquiri_ui/static/assets/VLineRoi-75cfdd39.js +0 -1
  133. daiquiri_ui/static/assets/colors-5bf0897d.js +0 -1
  134. daiquiri_ui/static/assets/fontawesomemore-webfont-97d0220a.woff2 +0 -0
  135. daiquiri_ui/static/assets/hooks-e7539055.js +0 -1
  136. daiquiri_ui/static/assets/index-4cf586ed.js +0 -3576
  137. daiquiri_ui/static/assets/index-f085dfca.css +0 -9
  138. daiquiri_ui/static/assets/store-2462c975.js +0 -1
  139. daiquiri_ui/static/resources/shaders/compare.frag.glsl +0 -386
  140. daiquiri_ui/static/resources/shaders/compare.vert.glsl +0 -11
  141. daiquiri_ui-2025.12.5.dist-info/RECORD +0 -128
  142. {daiquiri_ui-2025.12.5.dist-info → daiquiri_ui-2026.2.0.dist-info}/licenses/LICENSE +0 -0
  143. {daiquiri_ui-2025.12.5.dist-info → daiquiri_ui-2026.2.0.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- import{w as l,c as n,K as S,m as c,t as o,n as r,q as m,j as d}from"./index-4cf586ed.js";const i=(s,a)=>{const{subsamples:t,samples:e}=a.providers.metadata,{schema:p}=a.providers.app;return{objects:t.selector("results",s),fetchingObjects:t.selector("fetching",s),fetchedObjects:t.selector("fetched",s),selectedObjects:c.selector("selectedSubSamples",s),selectedObject:c.selector("currentSubSample",s),currentSample:c.selector("currentSample",s),samples:e.selector("results",s),subSampleSchema:p.selector("results",s).SubSampleSchema,pendingExportSubsamples:o.selector("pendingExportSubsamples",s),config:r.selector("config",s,"imageviewer")}},u=(s,a)=>{const{subsamples:t}=a.providers.metadata;return{actions:{fetchObjects:()=>t.fetch(),removeObject:e=>t.delete(e),updateObject:e=>t.update(e),addSelection:e=>c.dispatch("SELECT_SUB_SAMPLE",e),removeSelection:e=>c.dispatch("UNSELECT_SUB_SAMPLE",e),resetSelection:()=>c.dispatch("RESET_SUB_SAMPLE_SELECTION"),moveToSubSample:e=>o.dispatch("MOVE_TO_SUBSAMPLE",e),exportSubSamples:e=>o.dispatch("EXPORT_SUBSAMPLES",e),addToast:e=>r.dispatch("ADD_TOAST",e)}}},b=l({metadata:c,app:r})(n(i,u)(S));function E(s){const{providers:a,yamlNode:t,...e}=s;return m(t,e),d.jsx(b,{providers:a})}export{E as default};
@@ -1 +0,0 @@
1
- var R=Object.defineProperty;var A=(a,e,s)=>e in a?R(a,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):a[e]=s;var d=(a,e,s)=>(A(a,typeof e!="symbol"?e+"":e,s),s);import{r as m,bD as I,aa as b,an as v,j as n}from"./index-4cf586ed.js";import{m as j,p as S,g as z,e as D}from"./hooks-e7539055.js";import{S as x}from"./ScreenScale-fdd43179.js";import{D as C,S as N,Z as $,A as F}from"./DraggableRect-8e897252.js";function P(a,e){if(a===void 0)return e;const s=new e.constructor(a.length+e.length);return s.set(a),s.set(e,a.length),s}function w(a,e,s){return e===0&&a.length===s?a:a.subarray(e,s)}class L{constructor(e,s){d(this,"isAborted");d(this,"isFetching");d(this,"isInitialized");d(this,"cache");d(this,"updateCallback");d(this,"scanId");d(this,"description");d(this,"pendingRequest");this.isAborted=!1,this.isFetching=!1,this.isInitialized=!1,this.pendingRequest=void 0,this.description=void 0,this.updateCallback=e,this.scanId=s,this.cache={};const r=this.initializeLater();Promise.all([r])}async initializeLater(){const e=this.scanId;await I(1e3);try{const s=await b.get(`/scans/data/${e}`,{headers:{"Cache-Control":"no-cache, no-store, must-revalidate",Pragma:"no-cache",Expires:"0"}});this.setupScan(s.data),this.isInitialized=!0}catch(s){this.updateCallback({loading:!1,data:{},errors:[`Error while requesting the scan ${this.scanId}`,`${s}`]}),this.isAborted=!0}}setupScan(e){this.description=e,this.pendingRequest&&this.fetchPendingRequest()}async fetchData(e,s){for(;!this.isInitialized;){if(this.isAborted)return;await I(1e3)}const r={...e,scanId:this.scanId,errors:s},c=[];this.updateCallback({loading:!0,data:Object.fromEntries(e.channelNames.map(i=>{var t;return[i,(t=this.cache[i])==null?void 0:t.ndarray]})),request:r}),e.channelNames.forEach(i=>{var t;if(!(i in this.cache)){const o=(t=this.description)==null?void 0:t.data[i];if(o!==void 0){const u=o.dtype,g=o.shape;j(g);const p=g.reduce((y,h)=>y*h,1);u!==void 0&&(this.cache[i]={dtype:S(u),safeDtype:S(z(u)),shape:g,elementSize:p,raw:void 0,ndarray:void 0,nbItems:0})}}});const l=e.channelNames.map(async i=>{const t=this.cache[i];if(!t||!t.safeDtype){c.push(`channel name '${i}' in not part of the scan`);return}if(e.stop<=e.start){t.ndarray=void 0;return}const o=t.nbItems??0;if(e.stop<=o){const h=w(t.raw,e.start,e.stop);t.ndarray=v(h,[e.stop-e.start,...t.shape]);return}const u=await b.get(`/scans/data/binary/${this.scanId}`,{channel:i,selection:`${o}:${e.stop}`,dtype:"safe"},!0,"arraybuffer").then(h=>h.data).catch(h=>{const E=h instanceof Error?h.message:String(h);c.push(`Error while fetching '${i}': ${E}`)});if(u===void 0)return;const g=D(u,t.safeDtype.numpy),p=P(t.raw,g);if(t.raw=p,t.nbItems=p.length/t.elementSize,t.nbItems<=e.start){t.ndarray=void 0;return}const y=w(p,e.start*t.elementSize,t.nbItems*t.elementSize);t.ndarray=v(y,[t.nbItems-e.start,...t.shape])});await Promise.all(l);const f=c.length===0?void 0:c;this.pendingRequest===void 0?(this.updateCallback({loading:!1,data:Object.fromEntries(e.channelNames.map(i=>{var t;return[i,(t=this.cache[i])==null?void 0:t.ndarray]})),request:r,errors:f}),this.isFetching=!1):this.fetchPendingRequest(f)}fetchPendingRequest(e){if(this.pendingRequest){const s=this.pendingRequest;this.pendingRequest=void 0,this.fetchData(s,e)}}fetch(e){this.isAborted||(this.description!==void 0&&!this.isFetching?(this.isFetching=!0,this.fetchData(e)):this.pendingRequest=e)}abort(){this.isAborted=!0}}function V(a){const[e,s]=m.useState({loading:a.scanId!==void 0,data:{}}),{scanId:r,channelNames:c,start:l,stop:f}=a,i=m.useMemo(()=>{if(r!==void 0)return new L(s,r)},[r]);return m.useEffect(()=>()=>{i&&i.abort()},[i]),m.useEffect(()=>{i&&c&&l!==void 0&&f!==void 0&&i.fetch({channelNames:c,start:l,stop:f})},[i,JSON.stringify(c),l,f]),e}function H(a){const{geometry:e,lineWidth:s=2,color:r="blue",opacity:c=1,zIndex:l=1,visible:f=!0,readOnly:i=a.onGeometryChanged===void 0}=a,[t,o]=m.useState(!1);return f?n.jsxs("group",{position:[e.x,0,l],children:[n.jsx(x,{children:n.jsx(C,{pos:[e.x,0],size:[N,999999],pointer:"ew-resize",zIndex:l+$,enabled:!i,onPositionChanged:(u,g)=>{var p;(p=a.onGeometryChanged)==null||p.call(a,{x:u[0]},g)},onEnter:()=>{o(!0)},onLeave:()=>{o(!1)}})}),n.jsx("group",{children:n.jsx(x,{children:n.jsxs("mesh",{children:[n.jsx("ambientLight",{}),n.jsx("planeGeometry",{attach:"geometry",args:[t?F:s,999999,1,1]}),n.jsx("meshBasicMaterial",{attach:"material",transparent:!0,color:r,opacity:c})]})})})]}):n.jsx(n.Fragment,{})}export{H as V,V as u};
@@ -1 +0,0 @@
1
- import{a_ as t,bU as u}from"./index-4cf586ed.js";function f(r,o){if(typeof r=="string"){if(r==="")return new t(0,0,0,0);if(r==="transparent")return new t(0,0,0,0);if(r.startsWith("#")&&r.length===9){const c=+`0x${r.slice(1,3)}`/255,e=+`0x${r.slice(3,5)}`/255,i=+`0x${r.slice(5,7)}`/255,n=+`0x${r.slice(7,9)}`/255;return new t(c,e,i,n*(o??1))}}const s=new u(r);return new t(s.r,s.g,s.b,o??1)}export{f as c};
@@ -1 +0,0 @@
1
- var M=Object.defineProperty;var V=(e,r,t)=>r in e?M(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var b=(e,r,t)=>(V(e,typeof r!="symbol"?r+"":r,t),t);import{an as D,r as p,bW as O,b8 as R,j as F,a7 as P,l as N,ac as T,ax as E}from"./index-4cf586ed.js";import{b as I,a as A}from"./index-19c84627.js";function j(e){const r=(e&31744)>>10,t=e&1023;return(e>>15?-1:1)*(r?r===31?t?Number.NaN:1/0:2**(r-15)*(1+t/1024):6103515625e-14*(t/1024))}class U{constructor(r,t){b(this,"shape");b(this,"dimension");b(this,"data");b(this,"dtype");if(t.length!==2)throw new Error(`Unsupported dimension ${t.length} with NdFloat16Array`);this.data=r,this.shape=t,this.dimension=t.length,this.dtype="float16"}index(...r){if(r.length!==this.dimension)throw new Error(`Expected ${this.dimension} for indexing`);return r[1]+r[0]*this.shape[1]}getRaw(...r){const t=this.index(...r);return this.data[t]}get(...r){const t=this.getRaw(...r);return j(t)}}function se(e){const r=`<${e.slice(1)}`;return{"<f1":"<f4","<f2":"<f4","<i8":"<i4","<u8":"<u4"}[r]??r}function oe(e,r){const n={"<f4":Float32Array,"<f8":Float64Array,"<i1":Int8Array,"|i1":Int8Array,i1:Int8Array,"<i2":Int16Array,"<i4":Int32Array,"<u1":Uint8Array,"|u1":Uint8Array,u1:Uint8Array,"<u2":Uint16Array,"<u4":Uint32Array}[r];if(!n)throw new TypeError(`Unsupported dtype: ${r}`);if(e instanceof Uint8Array){const a=n.BYTES_PER_ELEMENT;try{return new n(e.buffer,e.byteOffset,e.byteLength/a)}catch{return console.warn(`toTypedArray is using a memory copy for a '${n}'. Probably because the buffer is not properly aligned.`),new n(e)}}return new n(e)}function ue(e,r,t){const n=r.reduce((i,s)=>i*s);let a;switch(t){case"<f2":a=n*2===e.byteLength?Uint16Array:Float32Array;break;case"<f4":a=Float32Array;break;case"<f8":a=Float64Array;break;case"<i1":case"|i1":case"i1":a=Int8Array;break;case"<i2":a=Int16Array;break;case"<i4":case"<i8":a=Int32Array;break;case"<u1":case"|u1":case"u1":a=Uint8Array;break;case"<u2":a=Uint16Array;break;case"<u4":case"<u8":a=Uint32Array;break;default:throw new TypeError(`Unsupported dtype: ${t}`)}return D(new a(e),r)}function ce(e){if(!(e.data.buffer instanceof ArrayBuffer))throw new TypeError("A buffer as ArrayBuffer is expected");return e.dtype==="float32"?e:D(Float32Array.from(e.data),e.shape)}function z(e){return e instanceof Object&&"data"in e&&"stride"in e&&"shape"in e}function $(e){return e instanceof Object&&"data"in e&&"stride"in e&&"shape"in e&&"buffer"in e?e.buffer instanceof ArrayBuffer:!1}function fe(e,r="Expected NdArray<TypedArray<ArrayBuffer>>"){if(!$(e))throw new TypeError(r)}function de(e,r="Expected NdArray<TypedArray> or NdFloat16Array"){if(!z(e)&&!(e instanceof U))throw new TypeError(r)}function _(e,r,t){if(e.dimension!==1)throw new TypeError("Slicing only supported for 1dim array");const n=e.data.subarray(r,t);return D(n,[t-r])}function pe(e){if(e.length!==3)throw new TypeError(`Unsupported dtype format ${e}`);return{byteorder:e[0],type:e[1],itemsize:Number.parseInt(e[2]),numpy:e}}function le(e,r,t){return p.useMemo(()=>_(e,r,t),[e,r,t])}function B(e){if(!Array.isArray(e))return!1;for(const r of e)if(typeof r!="number")return!1;return!0}function ye(e,r="Expected number[]"){if(!B(e))throw new TypeError(r)}const G={sx:0,sy:0,centerX:0,centerY:0,matrix:new O().identity()},L=p.createContext(null);function he(){const e=p.useContext(L);if(!e)throw new Error("No LinearVisGroup context are avaialble");return e.current}function ve(e){const r=p.useRef(G),{children:t}=e,{abscissaConfig:n,ordinateConfig:a,visSize:i}=I(),{width:s,height:u}=i,{scaleType:h=A.Linear}=n,{scaleType:m=A.Linear}=a;if(h!==A.Linear||m!==A.Linear)throw new Error("VisGroup supports only linear axes");R(({camera:c})=>{const o=(n.flip?-1:1)*s/(n.visDomain[1]-n.visDomain[0]),w=(a.flip?-1:1)*u/(a.visDomain[1]-a.visDomain[0]),v=.5*(n.visDomain[0]+n.visDomain[1]),g=.5*(a.visDomain[0]+a.visDomain[1]);r.current.sx=o,r.current.sy=w,r.current.centerX=v,r.current.centerY=g,r.current.matrix=r.current.matrix.makeScale(o,w,0)},-100);const d=(n.flip?-1:1)*s/(n.visDomain[1]-n.visDomain[0]),l=(a.flip?-1:1)*u/(a.visDomain[1]-a.visDomain[0]),f=.5*(n.visDomain[0]+n.visDomain[1]),y=.5*(a.visDomain[0]+a.visDomain[1]);return r.current.sx=d,r.current.sy=l,r.current.centerX=f,r.current.centerY=y,r.current.matrix=r.current.matrix.makeScale(d,l,0),F.jsx(L.Provider,{value:r,children:F.jsx("group",{position:[-f*d,-y*l,0],scale:[d,l,1],children:t})})}class Y{constructor(r,t,n){b(this,"shape");b(this,"dimension");b(this,"data");b(this,"dtype");b(this,"transfer");if(t.length!==2)throw new Error(`Unsupported dimension ${t.length} with NdNormalizedUint8Array`);this.data=r,this.transfer=n,this.shape=t,this.dimension=t.length,this.dtype="uint8"}index(...r){if(r.length!==this.dimension)throw new Error(`Expected ${this.dimension} for indexing`);return r[1]+r[0]*this.shape[1]}getRaw(...r){const t=this.index(...r);return this.data[t]}get(...r){const t=this.getRaw(...r),{min:n,max:a,normalization:i}=this.transfer,s=t*(a-n)/255+n;switch(i){case A.Linear:return s;case A.Log:return Math.exp(s);case A.Sqrt:return s**2;default:return Number.NaN}}}function X(e){return typeof e=="string"&&Object.values(A).includes(e)}function me(e){return X(e)?e:e[0]}function q(e){const{values:r,bins:t}=e,n=r.findIndex(i=>i!==0);if(n===-1)return{...e,values:new Float64Array,bins:new Float64Array};const a=N.findLastIndex(r,i=>i!==0)+1;return n===0&&a===r.length?e:{...e,values:r.slice(n,a),bins:t.slice(n,a+1)}}function H(e){return e instanceof Object&&"y"in e}function we(e){return H(e)?e:new P(e[0],e[1])}function S(e,r,t=1e-5,n=1e-8){return Math.abs(e-r)<=n+t*Math.abs(r)}function be(e,r,t=1e-5,n=1e-8){return S(e.x,r.x,t,n)&&S(e.y,r.y,t,n)&&S(e.z,r.z,t,n)}function J(e){if(e.constructore===Float32Array)throw new Error("A Float32Array is expected")}function Ae(e){if(e!==void 0){if(e.dimension!==2)throw new TypeError("A 2d array is expected");if(!(e.data.buffer instanceof ArrayBuffer))throw new TypeError("A buffer as ArrayBuffer is expected");e instanceof Y||e instanceof U||J(e.data)}}function x(){return x=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},x.apply(this,arguments)}var C=function(r){return new Error("NoPayloadError: "+r+" requires a payload.")},W=function(r){return new Error("Mutation behavior must be one of: mergePastReversed, mergePast, keepFuture, or destroyFuture. Not: "+r)},K=function(r,t){if(!r)return t;var n=[].concat(t);if(n.length<=r)return t;var a=n.length-r;return a===1?n.shift():n.splice(0,a),n},Q=function(r,t){var n=r.past,a=r.present,i=r.future,s=t.payload,u=t.behavior,h=t.historyLimit,m=t.ignoreIdenticalMutations,d=t.cloneState,l=t.ignoreAction;if(!s||s===void 0)throw C("mutate");if(l)return{past:n,present:s,future:i};var f=[].concat(n);h!=="infinium"&&h!=="infinity"&&(f=K(h,n));var y=JSON.stringify(s)===JSON.stringify(a);if(m&&y)return d?x({},r):r;var c=[].concat(i),o={mergePastReversed:{past:[].concat(f,c.reverse(),[a]),present:s,future:[]},mergePast:{past:[].concat(f,i,[a]),present:s,future:[]},destroyFuture:{past:[].concat(f,[a]),present:s,future:[]},keepFuture:{past:[].concat(f,[a]),present:s,future:i}};if(typeof u>"u")return o.mergePastReversed;if(!o.hasOwnProperty(u))throw W(u);return o[u]},Z=function(r,t){var n=r.past,a=r.present,i=r.future,s=function(){if(n.length===0)return r;var c=n[n.length-1],o=n.slice(0,n.length-1);return{past:o,present:c,future:[a].concat(i)}},u=function(){if(i.length===0)return r;var c=i[0],o=i.slice(1);return{past:[].concat(n,[a]),present:c,future:o}},h=function(c){return c.payload=typeof c.payload=="function"?c.payload(a):c.payload,c},m=function(){return Q(r,h(t))},d=function(){var c=t.payload;return{past:[],present:c||r.present,future:[]}},l=function(){var c=t.payload;if(!c)throw C("resetInitialState");var o=[].concat(n);return o[0]=c,{past:[].concat(o),present:a,future:[].concat(i)}},f={undo:s,redo:u,update:m,reset:d,resetInitialState:l};return f[t.type]()},ee={past:[],present:null,future:[]},k={behavior:"mergePastReversed",historyLimit:100,ignoreIdenticalMutations:!0,cloneState:!1},re=function(r){return x({},k,r)},te=function(r,t){t===void 0&&(t=k);var n=p.useReducer(Z,x({},ee,{present:r})),a=n[0],i=n[1],s=a.past.length!==0,u=a.future.length!==0,h=p.useCallback(function(){s&&i({type:"undo"})},[s]),m=p.useCallback(function(){u&&i({type:"redo"})},[u]),d=p.useCallback(function(o){return o===void 0&&(o=r),i({type:"reset",payload:o})},[]),l=p.useCallback(function(o){return i({type:"resetInitialState",payload:o})},[]),f=p.useCallback(function(o,w,v){return i(x({type:"update",payload:o,behavior:w,ignoreAction:v},re(t)))},[]),y=p.useCallback(function(o,w,v){return w===void 0&&(w=t.behavior),v===void 0&&(v=!1),f(o,w,v)},[a]),c=function(w,v,g){v===void 0&&(v=t.behavior),g===void 0&&(g=!1),f(w,v,g)};return[a.present,y,{past:a.past,future:a.future,undo:h,canUndo:s,redo:m,canRedo:u,reset:d,resetInitialState:l,static_setState:c}]};function xe(e){return p.useMemo(()=>q(e),[e])}function ge(){const e=T(u=>u.camera),{dataToWorld:r,abscissaConfig:t,ordinateConfig:n,visSize:a}=I(),{width:i,height:s}=a;return p.useCallback(u=>{const{center:h,scale:m}=u,d=r(h),l=m.x*i/Math.abs(t.visDomain[1]-t.visDomain[0]),f=m.y*s/Math.abs(n.visDomain[1]-n.visDomain[0]);return{position:new E(d.x,d.y,e.position.z),scale:new E(l,f,e.scale.z)}},[e,r,t,n,i,s])}function Ee(){const{width:e,height:r}=T(a=>a.size),t=T(a=>a.camera),{getVisibleDomains:n}=I();return()=>{const{xVisibleDomain:a,yVisibleDomain:i}=n(t),s=new E(N.sum(a),N.sum(i)).multiplyScalar(.5),u=new E(Math.abs(a[1]-a[0])/e,Math.abs(i[1]-i[0])/r,1);return{center:s,scale:u}}}function Se(){return te(void 0,{behavior:"destroyFuture",historyLimit:50,ignoreIdenticalMutations:!0})}export{ve as L,Y as N,Se as a,Ae as b,ce as c,xe as d,oe as e,U as f,se as g,ue as h,de as i,fe as j,he as k,le as l,ye as m,j as n,Ee as o,pe as p,ge as q,we as r,q as s,me as t,te as u,be as v};