Probe the first ~16 KB to decide format + column layout.
Looks at the first non-blank/non-comment line:
If it's a single integer, treat as a header point count (PTS).
Otherwise the column count of that line determines the layout.
Returns null when the buffer doesn't look like ASCII point data
(e.g. binary content, non-numeric tokens). Caller can then surface
a clear "not a point cloud" error.
Probe the first ~16 KB to decide format + column layout.
Looks at the first non-blank/non-comment line:
Returns null when the buffer doesn't look like ASCII point data (e.g. binary content, non-numeric tokens). Caller can then surface a clear "not a point cloud" error.