@ndmspc/ndmvr-core 1.1.0-rc.9 → 1.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.
- package/README.md +1 -1
- package/dist/assets/{RCanvasPainter-DQGWienR.js → RCanvasPainter-BN1wz_jA.js} +1 -1
- package/dist/assets/RNTuple-B19bW6t4.js +1 -0
- package/dist/assets/{RPavePainter-CQHUOnSn.js → RPavePainter-BOw0-OFU.js} +1 -1
- package/dist/assets/{RTreeMapPainter-B2r2zCJG.js → RTreeMapPainter-DNojexp9.js} +1 -1
- package/dist/assets/{TASImagePainter-DRdiRLt1.js → TASImagePainter-BNJ5OAGP.js} +1 -1
- package/dist/assets/{TAnnotation3DPainter-BCJen6cS.js → TAnnotation3DPainter-BCGBhq-q.js} +1 -1
- package/dist/assets/{TArrowPainter-Dspl2Ikh.js → TArrowPainter-C7a0r3SV.js} +1 -1
- package/dist/assets/{TBoxPainter-BQEN4gj8.js → TBoxPainter-Djh43LYY.js} +1 -1
- package/dist/assets/{TEfficiencyPainter-TxRejkVD.js → TEfficiencyPainter-dXd5DL3h.js} +1 -1
- package/dist/assets/{TF1Painter-BuwSTmhs.js → TF1Painter-DwE8KsBp.js} +1 -1
- package/dist/assets/{TF2Painter-BTh6LWBk.js → TF2Painter-SGNNKiK5.js} +1 -1
- package/dist/assets/{TF3Painter-R5EVXlD4.js → TF3Painter-yaRyTX9u.js} +1 -1
- package/dist/assets/{TGaxisPainter-BJuDLLel.js → TGaxisPainter-DSiIbikC.js} +1 -1
- package/dist/assets/{TGraph2DPainter-aeM0xqgu.js → TGraph2DPainter-COqZBIPT.js} +1 -1
- package/dist/assets/{TGraphPainter-DLkx_1ES.js → TGraphPainter-Bp7xEbQz.js} +1 -1
- package/dist/assets/{TGraphPainter-CtqNpDiH.js → TGraphPainter-CurXuifu.js} +1 -1
- package/dist/assets/{TGraphPolarPainter-bMuBuvEZ.js → TGraphPolarPainter-u-FCb_Gb.js} +1 -1
- package/dist/assets/{TGraphTimePainter-D_1RHDMz.js → TGraphTimePainter-DDPwiVGX.js} +1 -1
- package/dist/assets/{TH1Painter-CMr7gXzd.js → TH1Painter-BXzutgI3.js} +1 -1
- package/dist/assets/{TH1Painter--tuoUZTH.js → TH1Painter-DyN-WKyv.js} +1 -1
- package/dist/assets/{TH2Painter-DHaL_lR_.js → TH2Painter-BpixRP4j.js} +1 -1
- package/dist/assets/{TH2Painter-BLfyBVB5.js → TH2Painter-DceuYQAL.js} +1 -1
- package/dist/assets/{TH3Painter-DLCndhZ0.js → TH3Painter-BA_W8tmJ.js} +1 -1
- package/dist/assets/{THStackPainter-B3TUpsVt.js → THStackPainter-BWLN_w9A.js} +1 -1
- package/dist/assets/{THistPainter-Df-RmCQH.js → THistPainter-B2S5BnuY.js} +1 -1
- package/dist/assets/{TLinePainter-RinEQkrM.js → TLinePainter-D8inyuoX.js} +1 -1
- package/dist/assets/{TMultiGraphPainter-BQyL8zWX.js → TMultiGraphPainter-DcwdyhOr.js} +1 -1
- package/dist/assets/{TPavePainter-Dx40jhkF.js → TPavePainter-1yngbgp8.js} +1 -1
- package/dist/assets/{TPiePainter-BaTIH6-e.js → TPiePainter-BgDv4srX.js} +1 -1
- package/dist/assets/{TPolyLinePainter-7_jf8MLI.js → TPolyLinePainter-BYlrAjCB.js} +1 -1
- package/dist/assets/{TPolyMarker3D-DYlLB9Ww.js → TPolyMarker3D-BaWOSDy6.js} +1 -1
- package/dist/assets/{TRatioPlotPainter-BvUop_Na.js → TRatioPlotPainter-CJgkL58z.js} +1 -1
- package/dist/assets/{TScatterPainter-CvLCMGW2.js → TScatterPainter-Bt11j8z8.js} +1 -1
- package/dist/assets/{TSplinePainter-DJPtQW6I.js → TSplinePainter-p6k_OB02.js} +1 -1
- package/dist/assets/{TTextPainter-BwCh-g5B.js → TTextPainter-B26aOYGd.js} +1 -1
- package/dist/assets/{TTree-CE4EQRMu.js → TTree-BtFtnLeD.js} +1 -1
- package/dist/assets/{TWebPaintingPainter-CexNsDDp.js → TWebPaintingPainter-CZ6lo-7N.js} +1 -1
- package/dist/assets/{draw3d-BPJMZpwL.js → draw3d-ejHvJRmG.js} +1 -1
- package/dist/assets/{func-C1jNXIub.js → func-C6FX2eN2.js} +1 -1
- package/dist/assets/{hist3d-DCmav5Ga.js → hist3d-D9VevdP6.js} +1 -1
- package/dist/assets/{latex3d-ITrfFgp8.js → latex3d-8Hbnfz6c.js} +1 -1
- package/dist/assets/{main-CvPDcTGr.js → main-DwRPe_ox.js} +191 -191
- package/dist/assets/{more-CGvLPt4r.js → more-64laEJ4X.js} +1 -1
- package/dist/assets/{ndmvr-aframe-core-Cw91_9_Y.js → ndmvr-aframe-core-DEHQ38JB.js} +4 -4
- package/dist/assets/{rntuple-BCwqxNeP.js → rntuple-i8TaG-6V.js} +1 -1
- package/dist/assets/{stress-Ihg3ljmc.js → stress-KrXoDujC.js} +1 -1
- package/dist/assets/{v7more-H3D-KQGQ.js → v7more-C-UZAxz1.js} +1 -1
- package/dist/docs/components/configuration/configuration/index.html +243 -238
- package/dist/docs/components/tutorial/canvas/canvas/index.html +1 -1
- package/dist/docs/components/tutorial/configurationChapter/configuration-chapter/index.html +1 -1
- package/dist/docs/components/tutorial/firstVisualization/first-visualization/index.html +1 -1
- package/dist/docs/components/tutorial/interactions/interactions/index.html +1 -1
- package/dist/docs/downloads/canvas.zip +0 -0
- package/dist/docs/downloads/configuration.zip +0 -0
- package/dist/docs/downloads/first-visualization.zip +0 -0
- package/dist/docs/downloads/interactions.zip +0 -0
- package/dist/docs/index.html +1 -1
- package/dist/docs/search/search_index.json +1 -1
- package/dist/docs/sitemap.xml.gz +0 -0
- package/dist/index.es.js +962 -953
- package/dist/index.html +2 -2
- package/dist/index.umd.js +10 -10
- package/dist/stress.html +2 -2
- package/package.json +1 -1
- package/dist/assets/RNTuple-L4uyxl3s.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ct as E,b9 as D,bm as v,aK as B,am as z}from"./ndmvr-aframe-core-Cw91_9_Y.js";const y=!0;class U{constructor(e){if(e instanceof ArrayBuffer)this.buffer=e,this.byteOffset=0,this.byteLength=e.byteLength;else if(ArrayBuffer.isView(e))this.buffer=e.buffer,this.byteOffset=e.byteOffset,this.byteLength=e.byteLength;else throw new TypeError("Invalid buffer type");this.view=new DataView(this.buffer),this.offset=this.byteOffset}seek(e){if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error(`Offset too large to seek safely: ${e}`);this.offset=Number(e)}else this.offset=e}readU8(){const e=this.view.getUint8(this.offset);return this.offset+=1,e}readU16(){const e=this.view.getUint16(this.offset,y);return this.offset+=2,e}readU32(){const e=this.view.getUint32(this.offset,y);return this.offset+=4,e}readS8(){const e=this.view.getInt8(this.offset);return this.offset+=1,e}readS16(){const e=this.view.getInt16(this.offset,y);return this.offset+=2,e}readS32(){const e=this.view.getInt32(this.offset,y);return this.offset+=4,e}readF32(){const e=this.view.getFloat32(this.offset,y);return this.offset+=4,e}readF64(){const e=this.view.getFloat64(this.offset,y);return this.offset+=8,e}readString(){const e=this.readU32();let t="";for(let i=0;i<e;i++)t+=String.fromCharCode(this.readU8());return t}readU64(){const e=this.view.getBigUint64(this.offset,y);return this.offset+=8,e}readS64(){const e=this.view.getBigInt64(this.offset,y);return this.offset+=8,e}}const s={kBit:0,kByte:1,kChar:2,kInt8:3,kUInt8:4,kInt16:5,kUInt16:6,kInt32:7,kUInt32:8,kInt64:9,kUInt64:10,kReal16:11,kReal32:12,kReal64:13,kIndex32:14,kIndex64:15,kSplitInt16:17,kSplitUInt16:18,kSplitInt32:19,kSplitUInt32:20,kSplitInt64:21,kSplitUInt64:22,kSplitReal16:23,kSplitReal32:24,kSplitReal64:25,kSplitIndex32:26,kSplitIndex64:27};function N(r,e){const{coltype:t}=e;if(t===s.kSplitUInt16||t===s.kSplitUInt32||t===s.kSplitUInt64||t===s.kSplitReal16||t===s.kSplitReal32||t===s.kSplitReal64||t===s.kSplitIndex32||t===s.kSplitIndex64||t===s.kSplitInt16||t===s.kSplitInt32||t===s.kSplitInt64){let i;switch(t){case s.kSplitReal64:case s.kSplitInt64:case s.kSplitUInt64:case s.kSplitIndex64:i=8;break;case s.kSplitReal32:case s.kSplitInt32:case s.kSplitIndex32:case s.kSplitUInt32:i=4;break;case s.kSplitInt16:case s.kSplitUInt16:case s.kSplitReal16:i=2;break;default:throw new Error(`Unsupported split coltype: ${t} (0x${t.toString(16).padStart(2,"0")})`)}const a=new DataView(r.buffer,r.byteOffset,r.byteLength),c=r.byteLength/i,f=new ArrayBuffer(r.byteLength),n=new Uint8Array(f);for(let l=0;l<c;++l)for(let o=0;o<i;++o){const p=o*c+l,h=a.getUint8(p),m=l*i+o;n[m]=h}const d=f;let u;switch(t){case s.kSplitUInt16:u=s.kUInt16;break;case s.kSplitUInt32:u=s.kUInt32;break;case s.kSplitUInt64:u=s.kUInt64;break;case s.kSplitIndex32:u=s.kIndex32;break;case s.kSplitIndex64:u=s.kIndex64;break;case s.kSplitReal16:u=s.kReal16;break;case s.kSplitReal32:u=s.kReal32;break;case s.kSplitReal64:u=s.kReal64;break;case s.kSplitInt16:u=s.kInt16;break;case s.kSplitInt32:u=s.kInt32;break;case s.kSplitInt64:u=s.kInt64;break;default:throw new Error(`Unsupported split coltype for reassembly: ${t}`)}return{blob:d,coltype:u}}return{blob:r,coltype:t}}function R(r,e){let t,i;if(e===s.kIndex32)t=new Int32Array(r.buffer||r,r.byteOffset||0,r.byteLength/4),i=new Int32Array(t.length);else if(e===s.kIndex64)t=new BigInt64Array(r.buffer||r,r.byteOffset||0,r.byteLength/8),i=new BigInt64Array(t.length);else throw new Error(`DecodeDeltaIndex: unsupported column type ${e}`);t.length>0&&(i[0]=t[0]);for(let a=1;a<t.length;++a)i[a]=i[a-1]+t[a];return{blob:i,coltype:e}}function A(r,e){let t,i;if(e===s.kInt16)t=new Uint16Array(r.buffer||r,r.byteOffset||0,r.byteLength/2),i=new Int16Array(t.length);else if(e===s.kInt32)t=new Uint32Array(r.buffer||r,r.byteOffset||0,r.byteLength/4),i=new Int32Array(t.length);else if(e===s.kInt64)t=new BigUint64Array(r.buffer||r,r.byteOffset||0,r.byteLength/8),i=new BigInt64Array(t.length);else throw new Error(`decodeZigzag: unsupported column type ${e}`);for(let a=0;a<t.length;++a){const c=t[a];i[a]=c>>>1^-(c&1)}return{blob:i,coltype:e}}const T=1,$=2,_=4,O=1,P=2;class F{deserializeHeader(e){if(!e)return;const t=new U(e),i=t.offset,{envelopeLength:a}=this._readEnvelopeMetadata(t),c=i+a-8,f=t.offset;t.seek(c),this.headerEnvelopeChecksum=t.readU64(),t.seek(f),this._readFeatureFlags(t),this.name=t.readString(),this.description=t.readString(),this.writer=t.readString(),this._readSchemaDescription(t)}deserializeFooter(e){if(!e)return;const t=new U(e);if(this._readEnvelopeMetadata(t),this._readFeatureFlags(t),t.readU64()!==this.headerEnvelopeChecksum)throw new Error("RNTuple corrupted: header checksum does not match footer checksum.");if(t.readS64()<0)throw new Error("Schema extension frame is not a record frame, which is unexpected.");this._readSchemaDescription(t),this._readClusterGroups(t)}_readEnvelopeMetadata(e){const t=e.readU64(),i=Number(t&0xFFFFn),a=Number(t>>16n&0xFFFFFFFFFFFFn);return{envelopeType:i,envelopeLength:a}}_readSchemaDescription(e){const t=this._readFieldDescriptors(e),i=this._readColumnDescriptors(e),a=this._readAliasColumn(e),c=this._readExtraTypeInformation(e);this.fieldDescriptors=(this.fieldDescriptors||[]).concat(t),this.columnDescriptors=(this.columnDescriptors||[]).concat(i),this.aliasColumns=(this.aliasColumns||[]).concat(a),this.extraTypeInfo=(this.extraTypeInfo||[]).concat(c)}_readFeatureFlags(e){for(this.featureFlags=[];;){const t=e.readU64();if(this.featureFlags.push(t),(t&0x8000000000000000n)===0n)break}if(this.featureFlags.some(t=>t!==0n))throw new Error("Unexpected non-zero feature flags: "+this.featureFlags)}_readFieldDescriptors(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Field list frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU32(),o=e.readU32(),p=e.readU32(),h=e.readU16(),m=e.readU16(),k=e.readString(),g=e.readString(),S=e.readString(),w=e.readString();let I=null,x=null,L=null;m&T&&(I=e.readU64()),m&$&&(x=e.readU32()),m&_&&(L=e.readU32()),f.push({fieldVersion:l,typeVersion:o,parentFieldId:p,structRole:h,flags:m,fieldName:k,typeName:g,typeAlias:S,description:w,arraySize:I,sourceFieldId:x,checksum:L}),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readColumnDescriptors(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Column list frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU16(),o=e.readU16(),p=e.readU32(),h=e.readU16(),m=e.readU16();let k=null,g=null,S=null;h&O&&(k=e.readU64()),h&P&&(g=e.readF64(),S=e.readF64());const w={coltype:l,bitsOnStorage:o,fieldId:p,flags:h,representationIndex:m,firstElementIndex:k,minValue:g,maxValue:S,index:n};w.isDeferred=function(){return(this.flags&F.kFlagDeferredColumn)!==0},w.isSuppressed=function(){return this.firstElementIndex!==null&&this.firstElementIndex<0},f.push(w),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readAliasColumn(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Alias column list frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU32(),o=e.readU32();f.push({physicalColumnId:l,fieldId:o}),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readExtraTypeInformation(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Extra type info frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU32(),o=e.readU32();f.push({contentId:l,typeVersion:o}),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readClusterGroups(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Cluster group frame is not a list frame");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU64(),o=e.readU64(),p=e.readU32(),h=e.readU64(),m=this._readLocator(e),k={minEntry:l,entrySpan:o,numClusters:p,pageListLocator:m,pageListLength:h};f.push(k),e.seek(Number(d+u))}e.seek(Number(t-i)),this.clusterGroups=f}_readLocator(e){const t=e.readU32();if((t|0)<0)throw new Error("Non-standard locators (T=1) not supported yet");const i=t,a=e.readU64();return{size:i,offset:a}}deserializePageList(e){if(!e)throw new Error("deserializePageList: received an invalid or empty page list blob");const t=new U(e);if(this._readEnvelopeMetadata(t),t.readU64()!==this.headerEnvelopeChecksum)throw new Error("RNTuple corrupted: header checksum does not match Page List Header checksum.");const a=BigInt(t.offset),c=t.readS64();if(c>=0)throw new Error("Expected a list frame for cluster summaries");const f=t.readU32(),n=[];for(let d=0;d<f;++d){const u=BigInt(t.offset),l=t.readS64(),o=t.readU64(),p=t.readU64(),h=p>>56n;if(h&0x01n)throw new Error("Cluster summary uses unsupported sharded flag (0x01)");const m=Number(p&0x00FFFFFFFFFFFFFFn);n.push({firstEntry:o,numEntries:m,flags:h}),t.seek(Number(u+l))}t.seek(Number(a-c)),this.clusterSummaries=n,this._readNestedFrames(t),t.readU64()}_readNestedFrames(e){const t=[];if(e.readS64()>=0)throw new Error("Expected list frame for clusters");const a=e.readU32();for(let c=0;c<a;++c){if(e.readS64()>=0)throw new Error("Expected outer list frame for columns");const n=e.readU32(),d=[];for(let u=0;u<n;++u){if(e.readS64()>=0)throw new Error("Expected inner list frame for pages");const o=e.readU32(),p=[];for(let g=0;g<o;++g){const S=e.readS32(),w=S<0,I=BigInt(Math.abs(Number(S))),x=this._readLocator(e);p.push({numElements:I,hasChecksum:w,locator:x})}const h=e.readS64(),m=h<0;let k=null;m||(k=e.readU32()),d.push({pages:p,elementOffset:h,isSuppressed:m,compression:k})}t.push(d)}this.pageLocations=t}deserializePage(e,t,i){const a=t.coltype,{coltype:c}=N(e,t);let{blob:f}=N(e,t);if(a===s.kSplitIndex32||a===s.kSplitIndex64){const{blob:o}=R(f,c);f=o}if(a===s.kSplitInt16||a===s.kSplitInt32||a===s.kSplitInt64){const{blob:o}=A(f,c);f=o}const n=new U(f),d=[],u=Number(i.numElements),l=o=>{for(let p=0;p<u;++p)d.push(o())};switch(c){case s.kBit:{let o=0;const p=f.byteLength*8;if(p<u)throw new Error(`kBit: Not enough bits in buffer (${p}) for numValues (${u})`);for(let h=0;h<f.byteLength;++h){const m=n.readU8();for(let k=0;k<8&&o<u;++k,++o){const g=m>>>k&1,S=g===1;d.push(S)}}break}case s.kReal64:l(n.readF64.bind(n));break;case s.kReal32:l(n.readF32.bind(n));break;case s.kInt64:l(n.readS64.bind(n));break;case s.kUInt64:l(n.readU64.bind(n));break;case s.kInt32:l(n.readS32.bind(n));break;case s.kUInt32:l(n.readU32.bind(n));break;case s.kInt16:l(n.readS16.bind(n));break;case s.kUInt16:l(n.readU16.bind(n));break;case s.kInt8:l(n.readS8.bind(n));break;case s.kUInt8:case s.kByte:l(n.readU8.bind(n));break;case s.kChar:l(()=>String.fromCharCode(n.readS8()));break;case s.kIndex32:l(n.readS32.bind(n));break;case s.kIndex64:l(n.readS64.bind(n));break;default:throw new Error(`Unsupported column type: ${t.coltype}`)}return d}}async function b(r){return r?.builder?!0:r.$file?r.$file.readBuffer([r.fSeekHeader,r.fNBytesHeader,r.fSeekFooter,r.fNBytesFooter]).then(e=>{if(e?.length!==2)return!1;const t=(i,a)=>i.byteLength===a?Promise.resolve(i):E(i,a);return Promise.all([t(e[0],r.fLenHeader),t(e[1],r.fLenFooter)]).then(i=>{const[a,c]=i;if(!a||!c)return!1;r.builder=new F,r.builder.deserializeHeader(a),r.builder.deserializeFooter(c),r.fieldToColumns={};for(const l of r.builder.columnDescriptors){const o=r.builder.fieldDescriptors[l.fieldId],p=o.fieldName;r.fieldToColumns[p]||(r.fieldToColumns[p]=[]),r.fieldToColumns[p].push(l)}const f=r.builder.clusterGroups?.[0];if(!f||!f.pageListLocator)throw new Error("No valid cluster group or page list locator found");const n=Number(f.pageListLocator.offset),d=Number(f.pageListLocator.size),u=Number(f.pageListLength);return r.$file.readBuffer([n,d]).then(l=>{if(!(l instanceof DataView))throw new Error(`Expected DataView from readBuffer, got ${Object.prototype.toString.call(l)}`);return l.byteLength===u?(r.builder.deserializePageList(l),!0):E(l,u).then(o=>{if(!(o instanceof DataView))throw new Error(`Unzipped page list is not a DataView, got ${Object.prototype.toString.call(o)}`);return r.builder.deserializePageList(o),!0})})})}).catch(e=>{throw console.error("Error during readHeaderFooter execution:",e),e}):!1}function V(r,e,t){const i=r.builder,a=i.fieldDescriptors.find(f=>f.fieldName===e),c=r._clusterData[e];if(!a)throw new Error(`No descriptor for field ${e}`);if(!c)throw new Error(`No data for field ${e}`);if(Array.isArray(c)&&c.length===2){const[f,n]=c,d=t===0?0:Number(f[t-1]),u=Number(f[t]);return n.slice(d,u).join("")}return c[0][t]}function C(r,e){const t=r.getBranch(e);return B(t)?t:t?.fieldName}function H(r,e){const t=r.builder;if(!t.clusterSummaries||t.clusterSummaries.length===0)throw new Error("No cluster summaries available - possibly incomplete file reading");const i=e.currentCluster,a=t.clusterSummaries[i],c=[],f=[];for(let d=0;d<e.numBranches();++d)f.push(C(e,d));for(const d of f){const u=r.fieldToColumns[d];if(!u)throw new Error(`Selected field '${d}' not found in RNTuple`);for(const l of u){const o=t.pageLocations[i]?.[l.index];if(!o||!o.pages)throw new Error(`No pages for column ${l.index} in cluster ${i}`);for(const p of o.pages)c.push({page:p,colDesc:l,fieldName:d})}}if(e.currentCluster++,c.length===0)return e.Terminate(!1),Promise.resolve();const n=c.flatMap(d=>[Number(d.page.locator.offset),Number(d.page.locator.size)]);return r.$file.readBuffer(n).then(d=>{const u=Array.isArray(d)?d:[d],l=u.map((o,p)=>{const{page:h,colDesc:m}=c[p],k=t.pageLocations[i][m.index],g=Number(h.numElements),S=m.bitsOnStorage/8;if(k.compression===0)return Promise.resolve(o);const w=g*S;if(m.coltype===s.kBit){const I=Math.ceil(g/8);return o.byteLength===I?Promise.resolve(o):E(o,I).catch(x=>{throw new Error(`Failed to unzip boolean page ${p}: ${x.message}`)})}return o.byteLength===w?Promise.resolve(o):E(o,w).then(I=>I||o).catch(I=>{throw new Error(`Failed to unzip page ${p}: ${I.message}`)})});return Promise.all(l).then(o=>{r._clusterData={};for(let h=0;h<o.length;++h){const m=o[h];if(!(m instanceof DataView))throw new Error(`Invalid blob type for page ${h}: ${Object.prototype.toString.call(m)}`);const{page:k,colDesc:g}=c[h],S=t.fieldDescriptors[g.fieldId],w=t.deserializePage(m,g,k);if(r._clusterData[S.fieldName]||(r._clusterData[S.fieldName]=[]),S.typeName==="std::string")if(g.coltype===s.kIndex64||g.coltype===s.kIndex32||g.coltype===s.kSplitIndex64||g.coltype===s.kSplitIndex32)r._clusterData[S.fieldName][0]=w;else if(g.coltype===s.kChar)r._clusterData[S.fieldName][1]=w;else throw new Error(`Unsupported column type for string field: ${g.coltype}`);else r._clusterData[S.fieldName][0]=w}for(const h of f){const m=t.fieldDescriptors.find(g=>g.fieldName===h),k=r._clusterData[h];if(m.typeName==="std::string"){if(!Array.isArray(k)||k.length!==2)throw new Error(`String field '${h}' must have 2 columns`);if(k[0].length!==t.clusterSummaries[i].numEntries)throw new Error(`Malformed string field '${h}': missing final offset`)}}const p=a.numEntries;for(let h=0;h<p;++h){for(let m=0;m<e.numBranches();++m){const k=C(e,m),g=e.nameOfBranch(m);if(!r._clusterData[k])throw new Error(`Missing values for selected field: ${k}`);e.tgtobj[g]=V(r,k,h)}e.Process()}e.Terminate(!0)})})}function M(r,e,t){return b(r).then(()=>(e.Begin(),e.currentCluster=0,H(r,e))).then(()=>e)}class j extends v{getNumEntries(e){let t=0;return e?.builder.clusterSummaries.forEach(i=>{t+=i.numEntries}),t}findBranch(e,t){return e.builder?.fieldDescriptors.find(i=>i.fieldName===t)}isArrayBranch(){return!1}}async function q(r,e){return B(e)?e={expr:e}:z(e)||(e={}),e.SelectorClass=j,e.processFunction=M,b(r).then(t=>t?D(r,e):null)}async function Z(r,e){return r._childs=[],b(e).then(t=>t&&(e.builder?.fieldDescriptors.forEach(i=>{const a={_name:i.fieldName,_typename:"ROOT::RNTupleField",_kind:"ROOT::RNTupleField",_title:`Filed of type ${i.typeName}`,$tuple:e,$field:i};a._obj=a,r._childs.push(a)}),!0))}export{U as RBufferReader,V as readEntry,b as readHeaderFooter,q as rntupleDraw,M as rntupleProcess,Z as tupleHierarchy};
|
|
1
|
+
import{ct as E,b9 as D,bm as v,aK as B,am as z}from"./ndmvr-aframe-core-DEHQ38JB.js";const y=!0;class U{constructor(e){if(e instanceof ArrayBuffer)this.buffer=e,this.byteOffset=0,this.byteLength=e.byteLength;else if(ArrayBuffer.isView(e))this.buffer=e.buffer,this.byteOffset=e.byteOffset,this.byteLength=e.byteLength;else throw new TypeError("Invalid buffer type");this.view=new DataView(this.buffer),this.offset=this.byteOffset}seek(e){if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error(`Offset too large to seek safely: ${e}`);this.offset=Number(e)}else this.offset=e}readU8(){const e=this.view.getUint8(this.offset);return this.offset+=1,e}readU16(){const e=this.view.getUint16(this.offset,y);return this.offset+=2,e}readU32(){const e=this.view.getUint32(this.offset,y);return this.offset+=4,e}readS8(){const e=this.view.getInt8(this.offset);return this.offset+=1,e}readS16(){const e=this.view.getInt16(this.offset,y);return this.offset+=2,e}readS32(){const e=this.view.getInt32(this.offset,y);return this.offset+=4,e}readF32(){const e=this.view.getFloat32(this.offset,y);return this.offset+=4,e}readF64(){const e=this.view.getFloat64(this.offset,y);return this.offset+=8,e}readString(){const e=this.readU32();let t="";for(let i=0;i<e;i++)t+=String.fromCharCode(this.readU8());return t}readU64(){const e=this.view.getBigUint64(this.offset,y);return this.offset+=8,e}readS64(){const e=this.view.getBigInt64(this.offset,y);return this.offset+=8,e}}const s={kBit:0,kByte:1,kChar:2,kInt8:3,kUInt8:4,kInt16:5,kUInt16:6,kInt32:7,kUInt32:8,kInt64:9,kUInt64:10,kReal16:11,kReal32:12,kReal64:13,kIndex32:14,kIndex64:15,kSplitInt16:17,kSplitUInt16:18,kSplitInt32:19,kSplitUInt32:20,kSplitInt64:21,kSplitUInt64:22,kSplitReal16:23,kSplitReal32:24,kSplitReal64:25,kSplitIndex32:26,kSplitIndex64:27};function N(r,e){const{coltype:t}=e;if(t===s.kSplitUInt16||t===s.kSplitUInt32||t===s.kSplitUInt64||t===s.kSplitReal16||t===s.kSplitReal32||t===s.kSplitReal64||t===s.kSplitIndex32||t===s.kSplitIndex64||t===s.kSplitInt16||t===s.kSplitInt32||t===s.kSplitInt64){let i;switch(t){case s.kSplitReal64:case s.kSplitInt64:case s.kSplitUInt64:case s.kSplitIndex64:i=8;break;case s.kSplitReal32:case s.kSplitInt32:case s.kSplitIndex32:case s.kSplitUInt32:i=4;break;case s.kSplitInt16:case s.kSplitUInt16:case s.kSplitReal16:i=2;break;default:throw new Error(`Unsupported split coltype: ${t} (0x${t.toString(16).padStart(2,"0")})`)}const a=new DataView(r.buffer,r.byteOffset,r.byteLength),c=r.byteLength/i,f=new ArrayBuffer(r.byteLength),n=new Uint8Array(f);for(let l=0;l<c;++l)for(let o=0;o<i;++o){const p=o*c+l,h=a.getUint8(p),m=l*i+o;n[m]=h}const d=f;let u;switch(t){case s.kSplitUInt16:u=s.kUInt16;break;case s.kSplitUInt32:u=s.kUInt32;break;case s.kSplitUInt64:u=s.kUInt64;break;case s.kSplitIndex32:u=s.kIndex32;break;case s.kSplitIndex64:u=s.kIndex64;break;case s.kSplitReal16:u=s.kReal16;break;case s.kSplitReal32:u=s.kReal32;break;case s.kSplitReal64:u=s.kReal64;break;case s.kSplitInt16:u=s.kInt16;break;case s.kSplitInt32:u=s.kInt32;break;case s.kSplitInt64:u=s.kInt64;break;default:throw new Error(`Unsupported split coltype for reassembly: ${t}`)}return{blob:d,coltype:u}}return{blob:r,coltype:t}}function R(r,e){let t,i;if(e===s.kIndex32)t=new Int32Array(r.buffer||r,r.byteOffset||0,r.byteLength/4),i=new Int32Array(t.length);else if(e===s.kIndex64)t=new BigInt64Array(r.buffer||r,r.byteOffset||0,r.byteLength/8),i=new BigInt64Array(t.length);else throw new Error(`DecodeDeltaIndex: unsupported column type ${e}`);t.length>0&&(i[0]=t[0]);for(let a=1;a<t.length;++a)i[a]=i[a-1]+t[a];return{blob:i,coltype:e}}function A(r,e){let t,i;if(e===s.kInt16)t=new Uint16Array(r.buffer||r,r.byteOffset||0,r.byteLength/2),i=new Int16Array(t.length);else if(e===s.kInt32)t=new Uint32Array(r.buffer||r,r.byteOffset||0,r.byteLength/4),i=new Int32Array(t.length);else if(e===s.kInt64)t=new BigUint64Array(r.buffer||r,r.byteOffset||0,r.byteLength/8),i=new BigInt64Array(t.length);else throw new Error(`decodeZigzag: unsupported column type ${e}`);for(let a=0;a<t.length;++a){const c=t[a];i[a]=c>>>1^-(c&1)}return{blob:i,coltype:e}}const T=1,$=2,_=4,O=1,P=2;class F{deserializeHeader(e){if(!e)return;const t=new U(e),i=t.offset,{envelopeLength:a}=this._readEnvelopeMetadata(t),c=i+a-8,f=t.offset;t.seek(c),this.headerEnvelopeChecksum=t.readU64(),t.seek(f),this._readFeatureFlags(t),this.name=t.readString(),this.description=t.readString(),this.writer=t.readString(),this._readSchemaDescription(t)}deserializeFooter(e){if(!e)return;const t=new U(e);if(this._readEnvelopeMetadata(t),this._readFeatureFlags(t),t.readU64()!==this.headerEnvelopeChecksum)throw new Error("RNTuple corrupted: header checksum does not match footer checksum.");if(t.readS64()<0)throw new Error("Schema extension frame is not a record frame, which is unexpected.");this._readSchemaDescription(t),this._readClusterGroups(t)}_readEnvelopeMetadata(e){const t=e.readU64(),i=Number(t&0xFFFFn),a=Number(t>>16n&0xFFFFFFFFFFFFn);return{envelopeType:i,envelopeLength:a}}_readSchemaDescription(e){const t=this._readFieldDescriptors(e),i=this._readColumnDescriptors(e),a=this._readAliasColumn(e),c=this._readExtraTypeInformation(e);this.fieldDescriptors=(this.fieldDescriptors||[]).concat(t),this.columnDescriptors=(this.columnDescriptors||[]).concat(i),this.aliasColumns=(this.aliasColumns||[]).concat(a),this.extraTypeInfo=(this.extraTypeInfo||[]).concat(c)}_readFeatureFlags(e){for(this.featureFlags=[];;){const t=e.readU64();if(this.featureFlags.push(t),(t&0x8000000000000000n)===0n)break}if(this.featureFlags.some(t=>t!==0n))throw new Error("Unexpected non-zero feature flags: "+this.featureFlags)}_readFieldDescriptors(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Field list frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU32(),o=e.readU32(),p=e.readU32(),h=e.readU16(),m=e.readU16(),k=e.readString(),g=e.readString(),S=e.readString(),w=e.readString();let I=null,x=null,L=null;m&T&&(I=e.readU64()),m&$&&(x=e.readU32()),m&_&&(L=e.readU32()),f.push({fieldVersion:l,typeVersion:o,parentFieldId:p,structRole:h,flags:m,fieldName:k,typeName:g,typeAlias:S,description:w,arraySize:I,sourceFieldId:x,checksum:L}),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readColumnDescriptors(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Column list frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU16(),o=e.readU16(),p=e.readU32(),h=e.readU16(),m=e.readU16();let k=null,g=null,S=null;h&O&&(k=e.readU64()),h&P&&(g=e.readF64(),S=e.readF64());const w={coltype:l,bitsOnStorage:o,fieldId:p,flags:h,representationIndex:m,firstElementIndex:k,minValue:g,maxValue:S,index:n};w.isDeferred=function(){return(this.flags&F.kFlagDeferredColumn)!==0},w.isSuppressed=function(){return this.firstElementIndex!==null&&this.firstElementIndex<0},f.push(w),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readAliasColumn(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Alias column list frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU32(),o=e.readU32();f.push({physicalColumnId:l,fieldId:o}),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readExtraTypeInformation(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Extra type info frame is not a list frame, which is required.");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU32(),o=e.readU32();f.push({contentId:l,typeVersion:o}),e.seek(Number(d+u))}return e.seek(Number(t-i)),f}_readClusterGroups(e){const t=BigInt(e.offset),i=e.readS64();if(!(i<0))throw new Error("Cluster group frame is not a list frame");const c=e.readU32(),f=[];for(let n=0;n<c;++n){const d=BigInt(e.offset),u=e.readS64(),l=e.readU64(),o=e.readU64(),p=e.readU32(),h=e.readU64(),m=this._readLocator(e),k={minEntry:l,entrySpan:o,numClusters:p,pageListLocator:m,pageListLength:h};f.push(k),e.seek(Number(d+u))}e.seek(Number(t-i)),this.clusterGroups=f}_readLocator(e){const t=e.readU32();if((t|0)<0)throw new Error("Non-standard locators (T=1) not supported yet");const i=t,a=e.readU64();return{size:i,offset:a}}deserializePageList(e){if(!e)throw new Error("deserializePageList: received an invalid or empty page list blob");const t=new U(e);if(this._readEnvelopeMetadata(t),t.readU64()!==this.headerEnvelopeChecksum)throw new Error("RNTuple corrupted: header checksum does not match Page List Header checksum.");const a=BigInt(t.offset),c=t.readS64();if(c>=0)throw new Error("Expected a list frame for cluster summaries");const f=t.readU32(),n=[];for(let d=0;d<f;++d){const u=BigInt(t.offset),l=t.readS64(),o=t.readU64(),p=t.readU64(),h=p>>56n;if(h&0x01n)throw new Error("Cluster summary uses unsupported sharded flag (0x01)");const m=Number(p&0x00FFFFFFFFFFFFFFn);n.push({firstEntry:o,numEntries:m,flags:h}),t.seek(Number(u+l))}t.seek(Number(a-c)),this.clusterSummaries=n,this._readNestedFrames(t),t.readU64()}_readNestedFrames(e){const t=[];if(e.readS64()>=0)throw new Error("Expected list frame for clusters");const a=e.readU32();for(let c=0;c<a;++c){if(e.readS64()>=0)throw new Error("Expected outer list frame for columns");const n=e.readU32(),d=[];for(let u=0;u<n;++u){if(e.readS64()>=0)throw new Error("Expected inner list frame for pages");const o=e.readU32(),p=[];for(let g=0;g<o;++g){const S=e.readS32(),w=S<0,I=BigInt(Math.abs(Number(S))),x=this._readLocator(e);p.push({numElements:I,hasChecksum:w,locator:x})}const h=e.readS64(),m=h<0;let k=null;m||(k=e.readU32()),d.push({pages:p,elementOffset:h,isSuppressed:m,compression:k})}t.push(d)}this.pageLocations=t}deserializePage(e,t,i){const a=t.coltype,{coltype:c}=N(e,t);let{blob:f}=N(e,t);if(a===s.kSplitIndex32||a===s.kSplitIndex64){const{blob:o}=R(f,c);f=o}if(a===s.kSplitInt16||a===s.kSplitInt32||a===s.kSplitInt64){const{blob:o}=A(f,c);f=o}const n=new U(f),d=[],u=Number(i.numElements),l=o=>{for(let p=0;p<u;++p)d.push(o())};switch(c){case s.kBit:{let o=0;const p=f.byteLength*8;if(p<u)throw new Error(`kBit: Not enough bits in buffer (${p}) for numValues (${u})`);for(let h=0;h<f.byteLength;++h){const m=n.readU8();for(let k=0;k<8&&o<u;++k,++o){const g=m>>>k&1,S=g===1;d.push(S)}}break}case s.kReal64:l(n.readF64.bind(n));break;case s.kReal32:l(n.readF32.bind(n));break;case s.kInt64:l(n.readS64.bind(n));break;case s.kUInt64:l(n.readU64.bind(n));break;case s.kInt32:l(n.readS32.bind(n));break;case s.kUInt32:l(n.readU32.bind(n));break;case s.kInt16:l(n.readS16.bind(n));break;case s.kUInt16:l(n.readU16.bind(n));break;case s.kInt8:l(n.readS8.bind(n));break;case s.kUInt8:case s.kByte:l(n.readU8.bind(n));break;case s.kChar:l(()=>String.fromCharCode(n.readS8()));break;case s.kIndex32:l(n.readS32.bind(n));break;case s.kIndex64:l(n.readS64.bind(n));break;default:throw new Error(`Unsupported column type: ${t.coltype}`)}return d}}async function b(r){return r?.builder?!0:r.$file?r.$file.readBuffer([r.fSeekHeader,r.fNBytesHeader,r.fSeekFooter,r.fNBytesFooter]).then(e=>{if(e?.length!==2)return!1;const t=(i,a)=>i.byteLength===a?Promise.resolve(i):E(i,a);return Promise.all([t(e[0],r.fLenHeader),t(e[1],r.fLenFooter)]).then(i=>{const[a,c]=i;if(!a||!c)return!1;r.builder=new F,r.builder.deserializeHeader(a),r.builder.deserializeFooter(c),r.fieldToColumns={};for(const l of r.builder.columnDescriptors){const o=r.builder.fieldDescriptors[l.fieldId],p=o.fieldName;r.fieldToColumns[p]||(r.fieldToColumns[p]=[]),r.fieldToColumns[p].push(l)}const f=r.builder.clusterGroups?.[0];if(!f||!f.pageListLocator)throw new Error("No valid cluster group or page list locator found");const n=Number(f.pageListLocator.offset),d=Number(f.pageListLocator.size),u=Number(f.pageListLength);return r.$file.readBuffer([n,d]).then(l=>{if(!(l instanceof DataView))throw new Error(`Expected DataView from readBuffer, got ${Object.prototype.toString.call(l)}`);return l.byteLength===u?(r.builder.deserializePageList(l),!0):E(l,u).then(o=>{if(!(o instanceof DataView))throw new Error(`Unzipped page list is not a DataView, got ${Object.prototype.toString.call(o)}`);return r.builder.deserializePageList(o),!0})})})}).catch(e=>{throw console.error("Error during readHeaderFooter execution:",e),e}):!1}function V(r,e,t){const i=r.builder,a=i.fieldDescriptors.find(f=>f.fieldName===e),c=r._clusterData[e];if(!a)throw new Error(`No descriptor for field ${e}`);if(!c)throw new Error(`No data for field ${e}`);if(Array.isArray(c)&&c.length===2){const[f,n]=c,d=t===0?0:Number(f[t-1]),u=Number(f[t]);return n.slice(d,u).join("")}return c[0][t]}function C(r,e){const t=r.getBranch(e);return B(t)?t:t?.fieldName}function H(r,e){const t=r.builder;if(!t.clusterSummaries||t.clusterSummaries.length===0)throw new Error("No cluster summaries available - possibly incomplete file reading");const i=e.currentCluster,a=t.clusterSummaries[i],c=[],f=[];for(let d=0;d<e.numBranches();++d)f.push(C(e,d));for(const d of f){const u=r.fieldToColumns[d];if(!u)throw new Error(`Selected field '${d}' not found in RNTuple`);for(const l of u){const o=t.pageLocations[i]?.[l.index];if(!o||!o.pages)throw new Error(`No pages for column ${l.index} in cluster ${i}`);for(const p of o.pages)c.push({page:p,colDesc:l,fieldName:d})}}if(e.currentCluster++,c.length===0)return e.Terminate(!1),Promise.resolve();const n=c.flatMap(d=>[Number(d.page.locator.offset),Number(d.page.locator.size)]);return r.$file.readBuffer(n).then(d=>{const u=Array.isArray(d)?d:[d],l=u.map((o,p)=>{const{page:h,colDesc:m}=c[p],k=t.pageLocations[i][m.index],g=Number(h.numElements),S=m.bitsOnStorage/8;if(k.compression===0)return Promise.resolve(o);const w=g*S;if(m.coltype===s.kBit){const I=Math.ceil(g/8);return o.byteLength===I?Promise.resolve(o):E(o,I).catch(x=>{throw new Error(`Failed to unzip boolean page ${p}: ${x.message}`)})}return o.byteLength===w?Promise.resolve(o):E(o,w).then(I=>I||o).catch(I=>{throw new Error(`Failed to unzip page ${p}: ${I.message}`)})});return Promise.all(l).then(o=>{r._clusterData={};for(let h=0;h<o.length;++h){const m=o[h];if(!(m instanceof DataView))throw new Error(`Invalid blob type for page ${h}: ${Object.prototype.toString.call(m)}`);const{page:k,colDesc:g}=c[h],S=t.fieldDescriptors[g.fieldId],w=t.deserializePage(m,g,k);if(r._clusterData[S.fieldName]||(r._clusterData[S.fieldName]=[]),S.typeName==="std::string")if(g.coltype===s.kIndex64||g.coltype===s.kIndex32||g.coltype===s.kSplitIndex64||g.coltype===s.kSplitIndex32)r._clusterData[S.fieldName][0]=w;else if(g.coltype===s.kChar)r._clusterData[S.fieldName][1]=w;else throw new Error(`Unsupported column type for string field: ${g.coltype}`);else r._clusterData[S.fieldName][0]=w}for(const h of f){const m=t.fieldDescriptors.find(g=>g.fieldName===h),k=r._clusterData[h];if(m.typeName==="std::string"){if(!Array.isArray(k)||k.length!==2)throw new Error(`String field '${h}' must have 2 columns`);if(k[0].length!==t.clusterSummaries[i].numEntries)throw new Error(`Malformed string field '${h}': missing final offset`)}}const p=a.numEntries;for(let h=0;h<p;++h){for(let m=0;m<e.numBranches();++m){const k=C(e,m),g=e.nameOfBranch(m);if(!r._clusterData[k])throw new Error(`Missing values for selected field: ${k}`);e.tgtobj[g]=V(r,k,h)}e.Process()}e.Terminate(!0)})})}function M(r,e,t){return b(r).then(()=>(e.Begin(),e.currentCluster=0,H(r,e))).then(()=>e)}class j extends v{getNumEntries(e){let t=0;return e?.builder.clusterSummaries.forEach(i=>{t+=i.numEntries}),t}findBranch(e,t){return e.builder?.fieldDescriptors.find(i=>i.fieldName===t)}isArrayBranch(){return!1}}async function q(r,e){return B(e)?e={expr:e}:z(e)||(e={}),e.SelectorClass=j,e.processFunction=M,b(r).then(t=>t?D(r,e):null)}async function Z(r,e){return r._childs=[],b(e).then(t=>t&&(e.builder?.fieldDescriptors.forEach(i=>{const a={_name:i.fieldName,_typename:"ROOT::RNTupleField",_kind:"ROOT::RNTupleField",_title:`Filed of type ${i.typeName}`,$tuple:e,$field:i};a._obj=a,r._childs.push(a)}),!0))}export{U as RBufferReader,V as readEntry,b as readHeaderFooter,q as rntupleDraw,M as rntupleProcess,Z as tupleHierarchy};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{X as t,Y as o,v as r,Z as a}from"./ndmvr-aframe-core-
|
|
1
|
+
import{X as t,Y as o,v as r,Z as a}from"./ndmvr-aframe-core-DEHQ38JB.js";console.log("Random Histogram renderer");const s=t();s&&document.querySelector("#app").appendChild(s);o().getSubject().subscribe(e=>{r().next({id:"histogram1",obj:a(JSON.parse(e).arr[0])}),r().next({id:"histogram2",obj:a(JSON.parse(e).arr[1])}),r().next({id:"histogram3",obj:a(JSON.parse(e).arr[2])})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a5 as O,cI as V,cw as B,$ as L,bv as W,ba as w,aA as F,cD as I,cf as X,aE as R}from"./ndmvr-aframe-core-
|
|
1
|
+
import{a5 as O,cI as V,cw as B,$ as L,bv as W,ba as w,aA as F,cD as I,cf as X,aE as R}from"./ndmvr-aframe-core-DEHQ38JB.js";import{RObjectPainter as q,ensureRCanvas as J}from"./RCanvasPainter-BN1wz_jA.js";function Q(){const p=this.getObject(),e=this.getPadPainter(),i=this.v7EvalAttr("onFrame",!1)?e.getFramePainter():null,n=i?this.v7EvalAttr("clipping",!1):!1,t=e.getCoordinate(p.fPos,i),h=this.v7EvalFont("text",{size:12,color:"black",align:22});return this.createG(n?"main_layer":i?"upper_layer":!1),this.startTextDrawingAsync(h,"font").then(()=>(this.drawText({x:t.x,y:t.y,text:p.fText,latex:1}),this.finishTextDrawing()))}function U(){const p=this.getObject(),e=this.getPadPainter(),i=this.v7EvalAttr("onFrame",!1)?e.getFramePainter():null,n=i?this.v7EvalAttr("clipping",!1):!1,t=e.getCoordinate(p.fP1,i),h=e.getCoordinate(p.fP2,i),f=this.createG(n?"main_layer":i?"upper_layer":!1);this.createv7AttLine(),f.append("svg:path").attr("d",`M${t.x},${t.y}L${h.x},${h.y}`).call(this.lineatt.func)}function Y(){const p=this.getObject(),e=this.getPadPainter(),i=this.v7EvalAttr("onFrame",!1)?e.getFramePainter():null,n=i?this.v7EvalAttr("clipping",!1):!1,t=e.getCoordinate(p.fP1,i),h=e.getCoordinate(p.fP2,i),f=this.createG(n?"main_layer":i?"upper_layer":!1);this.createv7AttLine("border_"),this.createv7AttFill(),f.append("svg:path").attr("d",`M${t.x},${t.y}H${h.x}V${h.y}H${t.x}Z`).call(this.lineatt.func).call(this.fillatt.func)}function tt(){const p=this.getObject(),e=this.getPadPainter(),i=this.v7EvalAttr("onFrame",!1)?e.getFramePainter():null,n=i?this.v7EvalAttr("clipping",!1):!1,t=e.getCoordinate(p.fP,i),h=this.createG(n?"main_layer":i?"upper_layer":!1);this.createv7AttMarker();const f=this.markeratt.create(t.x,t.y);f&&h.append("svg:path").attr("d",f).call(this.markeratt.func)}class D extends q{getHistPalette(){const e=this.getObject()?.fPalette;return e&&!O(e.getColor)&&V(e,`${B}RPalette`),e}drawPalette(e){const i=this.getHistPalette(),n=i.getContour(),t=this.getFramePainter();if(!n)return console.log("no contour - no palette");if(!t)return console.log("no frame painter - no palette");const h=n.at(0),f=n.at(-1),g=t.getFrameRect(),P=this.getPadPainter().getPadWidth(),k=this.getPadPainter().getPadHeight(),T=this.v7EvalAttr("visible",!0),s=this.v7EvalAttr("vertical",!0),A=this.getG();let M=i.full_min,b=i.full_max,C,$,l,c;if(e){l=e.width,c=e.height;const a={};s?(this.v7AttrChange(a,"margin",(e.x-g.x-g.width)/P),this.v7AttrChange(a,"width",l/P)):(this.v7AttrChange(a,"margin",(e.y-g.y-g.height)/P),this.v7AttrChange(a,"width",c/k)),this.v7SendAttrChanges(a,!1)}else{if(s){const a=this.v7EvalLength("margin",P,.02);C=Math.round(g.x+g.width+a),l=this.v7EvalLength("width",P,.05),$=g.y,c=g.height}else{const a=this.v7EvalLength("margin",k,.02);C=g.x,l=g.width,$=Math.round(g.y+g.height+a),c=this.v7EvalLength("width",k,.05)}L(A,C,$)}let z=A.selectChild(".colbtns");if(z.empty()?z=A.append("svg:g").attr("class","colbtns"):z.selectAll("*").remove(),!T)return;z.append("svg:path").attr("d",`M0,0H${l}V${c}H0Z`).style("stroke","black").style("fill","none"),(M===void 0||b===void 0)&&(M=h,b=f),s?t.z_handle.configureAxis("zaxis",M,b,h,f,!0,[c,0],-c,{reverse:!1}):t.z_handle.configureAxis("zaxis",M,b,h,f,!1,[0,l],l,{reverse:!1});for(let a=0;a<n.length-1;++a){const m=Math.round(t.z_handle.gr(n[a])),u=Math.round(t.z_handle.gr(n[a+1])),d=i.getContourColor((n[a]+n[a+1])/2),x=z.append("svg:path").attr("d",s?`M0,${u}H${l}V${m}H0Z`:`M${m},0V${c}H${u}V0Z`).style("fill",d).style("stroke",d).property("fill0",d).property("fill1",W(d).darker(.5).formatRgb());this.isBatchMode()||(this.isTooltipAllowed()&&x.on("mouseover",function(){w(this).transition().duration(100).style("fill",w(this).property("fill1"))}).on("mouseout",function(){w(this).transition().duration(100).style("fill",w(this).property("fill0"))}).append("svg:title").text(n[a].toFixed(2)+" - "+n[a+1].toFixed(2)),F.Zooming&&x.on("dblclick",()=>t.unzoom("z")))}t.z_handle.maxTickSize=Math.round(l*.3);const H=t.z_handle.drawAxis(A,L(s?l:0,c),s?-1:1);return this.isBatchMode()||e?H:H.then(()=>{if(F.ContextMenu&&A.on("contextmenu",r=>{r.stopPropagation(),r.preventDefault(),I(r,this).then(o=>{o.header("Palette"),o.addchk(s,"Vertical",y=>{this.v7SetAttr("vertical",y),this.redrawPad()}),t.z_handle.fillAxisContextMenu(o,"z"),o.show()})}),X(this,{x:C,y:$,width:l,height:c,minwidth:20,minheight:20,no_change_x:!s,no_change_y:s,redraw:r=>this.drawPalette(r)}),!F.Zooming)return;let a=!1,m=0,u=0,d,x,E,v;const S=r=>{if(!a)return;if(r.preventDefault(),v=R(r,this.getG().node()),E)return t.z_handle.processLabelsMove("move",v);s?u=Math.min(Math.max(v[1],0),c):u=Math.min(Math.max(v[0],0),l);const o=Math.abs(u-m);!x&&o>1&&(d.style("display",null),x=!0),s?d.attr("y",Math.min(m,u)).attr("height",o):d.attr("x",Math.min(m,u)).attr("width",o)},Z=r=>{if(a)if(r.preventDefault(),w(window).on("mousemove.colzoomRect",null).on("mouseup.colzoomRect",null),d.remove(),d=null,a=!1,E)t.z_handle.processLabelsMove("stop",v);else{const o=t.z_handle.func,y=o.invert(m),_=o.invert(u);t.zoomSingle("z",Math.min(y,_),Math.max(y,_))}},j=r=>{a||(a=!0,r.preventDefault(),r.stopPropagation(),v=R(r,this.getG().node()),m=u=v[s?1:0],x=!1,E=!1,d=z.append("svg:rect").attr("class","zoom").attr("id","colzoomRect").style("display","none"),s?d.attr("x",0).attr("width",l).attr("y",m).attr("height",1):d.attr("x",m).attr("width",1).attr("y",0).attr("height",c),w(window).on("mousemove.colzoomRect",S).on("mouseup.colzoomRect",Z,!0),setTimeout(()=>{!x&&a&&(E=t.z_handle.processLabelsMove("start",v))},500))},G=()=>{this.getG().selectAll(".axis_zoom, .axis_labels").on("mousedown",j).on("dblclick",()=>t.unzoom("z")),F.ZoomWheel&&this.getG().on("wheel",r=>{r.stopPropagation(),r.preventDefault();const o=R(r,this.getG().node()),y=s?1-o[1]/c:o[0]/l,_=t.z_handle.analyzeWheelEvent(r,y);_.changed&&t.zoomSingle("z",_.min,_.max)})};t.z_handle.setAfterDrawHandler(G),G()})}static async draw(e,i,n){const t=new D(e,i,n,"palette");return J(t).then(()=>(t.createG(),t))}}export{D as RPalettePainter,Y as drawBox,U as drawLine,tt as drawMarker,Q as drawText};
|