const o=262144;function r(a,n){if(a===void 0)return{present:!1,length:0,expectedLength:n,lengthMatches:!1,finite:!1,nonFiniteCount:0,minimum:null,maximum:null};let t=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,e=0;for(const s of a){if(!Number.isFinite(s)){e+=1;continue}t=Math.min(t,s),i=Math.max(i,s)}return{present:!0,length:a.length,expectedLength:n,lengthMatches:a.length===n,finite:e===0,nonFiniteCount:e,minimum:t===Number.POSITIVE_INFINITY?null:t,maximum:i===Number.NEGATIVE_INFINITY?null:i}}function u(a,n=262144){const t={positions:r(a.positions,n*3),scales:r(a.scales,n*3),rotations:r(a.rotations,n*4),opacities:r(a.opacities,n),sphericalHarmonics:r(a.sphericalHarmonics,n*3)},i={fourStepSchedule:a.metadata.generationSettings.steps===4,preparedInputRecorded:a.metadata.generationSettings.inputIsPrepared===!0,degreeZeroSphericalHarmonics:a.metadata.sphericalHarmonicsSemantics==="degree-0-rgb",linearScales:a.metadata.scaleEncoding==="linear",linearOpacities:a.metadata.opacityEncoding==="linear"},e=a.count===n,s=!a.isDisposed;return{passed:e&&s&&Object.values(t).every(l=>l.present&&l.lengthMatches&&l.finite)&&Object.values(i).every(Boolean),scope:"scene-structure-and-finiteness",count:a.count,expectedCount:n,countMatches:e,arrays:t,metadata:i,sceneWasLive:s}}function m(a){const n=a.canvas.width>0&&a.canvas.height>0,t=a.canvas.clientWidth>0&&a.canvas.clientHeight>0,i={...a.canvas,drawingBufferDimensionsPresent:n,displayDimensionsPresent:t};return{...a,passed:a.status==="ready"&&i.present&&n&&t,scope:"exported-ply-viewer-load-and-canvas-sanity",canvas:i}}export{o as TRIPOSPLAT_E2E_GAUSSIAN_COUNT,u as qualifyGaussianSceneStructure,m as qualifyGaussianViewer};