@@ -8,6 +8,7 @@ import { Vec3 } from 'playcanvas';
88
99import { version } from '../package.json' ;
1010import { Column , DataTable , TypedArray } from './data-table' ;
11+ import { logger } from './logger' ;
1112import { ProcessAction , processDataTable } from './process' ;
1213import { isCompressedPly , decompressPly } from './readers/decompress-ply' ;
1314import { readKsplat } from './readers/read-ksplat' ;
@@ -87,7 +88,7 @@ const readFile = async (filename: string, options: Options, params: Param[]): Pr
8788 const inputFormat = getInputFormat ( filename ) ;
8889 let result : DataTable [ ] ;
8990
90- console . log ( `reading '${ filename } '...` ) ;
91+ logger . info ( `reading '${ filename } '...` ) ;
9192
9293 if ( inputFormat === 'mjs' ) {
9394 result = [ await readMjs ( filename , params ) ] ;
@@ -126,7 +127,7 @@ const writeFile = async (filename: string, dataTable: DataTable, options: Option
126127 // get the output format, throws on failure
127128 const outputFormat = getOutputFormat ( filename ) ;
128129
129- console . log ( `writing '${ filename } '...` ) ;
130+ logger . info ( `writing '${ filename } '...` ) ;
130131
131132 // write to a temporary file and rename on success
132133 const tmpFilename = `.${ basename ( filename ) } .${ process . pid } .${ Date . now ( ) } .${ randomBytes ( 6 ) . toString ( 'hex' ) } .tmp` ;
@@ -259,6 +260,7 @@ const parseArguments = () => {
259260 overwrite : { type : 'boolean' , short : 'w' , default : false } ,
260261 help : { type : 'boolean' , short : 'h' , default : false } ,
261262 version : { type : 'boolean' , short : 'v' , default : false } ,
263+ quiet : { type : 'boolean' , short : 'q' , default : false } ,
262264 cpu : { type : 'boolean' , short : 'c' , default : false } ,
263265 iterations : { type : 'string' , short : 'i' , default : '10' } ,
264266 'lod-select' : { type : 'string' , short : 'O' , default : '' } ,
@@ -323,6 +325,7 @@ const parseArguments = () => {
323325 overwrite : v . overwrite ,
324326 help : v . help ,
325327 version : v . version ,
328+ quiet : v . quiet ,
326329 cpu : v . cpu ,
327330 iterations : parseInteger ( v . iterations ) ,
328331 lodSelect : v [ 'lod-select' ] . split ( ',' ) . filter ( v => ! ! v ) . map ( parseInteger ) ,
@@ -486,6 +489,7 @@ ACTIONS (can be repeated, in any order)
486489GLOBAL OPTIONS
487490 -h, --help Show this help and exit
488491 -v, --version Show version and exit
492+ -q, --quiet Suppress non-error output
489493 -w, --overwrite Overwrite output file if it exists
490494 -c, --cpu Use CPU for SOG spherical harmonic compression
491495 -i, --iterations <n> Iterations for SOG SH compression (more=better). Default: 10
@@ -512,21 +516,24 @@ EXAMPLES
512516` ;
513517
514518const main = async ( ) => {
515- console . log ( `splat-transform v${ version } ` ) ;
516-
517519 const startTime = hrtime ( ) ;
518520
519521 // read args
520522 const { files, options } = parseArguments ( ) ;
521523
524+ // configure logger
525+ logger . setQuiet ( options . quiet ) ;
526+
527+ logger . info ( `splat-transform v${ version } ` ) ;
528+
522529 // show version and exit
523530 if ( options . version ) {
524531 exit ( 0 ) ;
525532 }
526533
527534 // invalid args or show help
528535 if ( files . length < 2 || options . help ) {
529- console . error ( usage ) ;
536+ logger . error ( usage ) ;
530537 exit ( 1 ) ;
531538 }
532539
@@ -541,7 +548,7 @@ const main = async () => {
541548 } else {
542549 // check overwrite before doing any work
543550 if ( await fileExists ( outputFilename ) ) {
544- console . error ( `File '${ outputFilename } ' already exists. Use -w option to overwrite.` ) ;
551+ logger . error ( `File '${ outputFilename } ' already exists. Use -w option to overwrite.` ) ;
545552 exit ( 1 ) ;
546553 }
547554 }
@@ -580,19 +587,19 @@ const main = async () => {
580587 throw new Error ( 'No splats to write' ) ;
581588 }
582589
583- console . log ( `Loaded ${ dataTable . numRows } gaussians` ) ;
590+ logger . info ( `Loaded ${ dataTable . numRows } gaussians` ) ;
584591
585592 // write file
586593 await writeFile ( outputFilename , dataTable , options ) ;
587594 } catch ( err ) {
588595 // handle errors
589- console . error ( err ) ;
596+ logger . error ( err ) ;
590597 exit ( 1 ) ;
591598 }
592599
593600 const endTime = hrtime ( startTime ) ;
594601
595- console . log ( `done in ${ endTime [ 0 ] + endTime [ 1 ] / 1e9 } s` ) ;
602+ logger . info ( `done in ${ endTime [ 0 ] + endTime [ 1 ] / 1e9 } s` ) ;
596603
597604 // something in webgpu seems to keep the process alive after returning
598605 // from main so force exit
0 commit comments