@flighthq/scene3d-formats 0.2.1-next.840.857425c
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/dist/awd2Inflate.d.ts +4 -0
- package/dist/awd2Inflate.d.ts.map +1 -0
- package/dist/awd2Inflate.js +249 -0
- package/dist/awd2Inflate.js.map +1 -0
- package/dist/awd2Parse.d.ts +7 -0
- package/dist/awd2Parse.d.ts.map +1 -0
- package/dist/awd2Parse.js +1533 -0
- package/dist/awd2Parse.js.map +1 -0
- package/dist/awd2Schema.d.ts +44 -0
- package/dist/awd2Schema.d.ts.map +1 -0
- package/dist/awd2Schema.js +67 -0
- package/dist/awd2Schema.js.map +1 -0
- package/dist/gltfParse.d.ts +9 -0
- package/dist/gltfParse.d.ts.map +1 -0
- package/dist/gltfParse.js +1456 -0
- package/dist/gltfParse.js.map +1 -0
- package/dist/gltfPunctualLights.d.ts +3 -0
- package/dist/gltfPunctualLights.d.ts.map +1 -0
- package/dist/gltfPunctualLights.js +103 -0
- package/dist/gltfPunctualLights.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/md2Parse.d.ts +5 -0
- package/dist/md2Parse.d.ts.map +1 -0
- package/dist/md2Parse.js +408 -0
- package/dist/md2Parse.js.map +1 -0
- package/dist/md2Schema.d.ts +12 -0
- package/dist/md2Schema.d.ts.map +1 -0
- package/dist/md2Schema.js +193 -0
- package/dist/md2Schema.js.map +1 -0
- package/dist/md5AnimParse.d.ts +3 -0
- package/dist/md5AnimParse.d.ts.map +1 -0
- package/dist/md5AnimParse.js +385 -0
- package/dist/md5AnimParse.js.map +1 -0
- package/dist/md5Parse.d.ts +6 -0
- package/dist/md5Parse.d.ts.map +1 -0
- package/dist/md5Parse.js +635 -0
- package/dist/md5Parse.js.map +1 -0
- package/dist/mtlParse.d.ts +3 -0
- package/dist/mtlParse.d.ts.map +1 -0
- package/dist/mtlParse.js +256 -0
- package/dist/mtlParse.js.map +1 -0
- package/dist/objParse.d.ts +5 -0
- package/dist/objParse.d.ts.map +1 -0
- package/dist/objParse.js +464 -0
- package/dist/objParse.js.map +1 -0
- package/dist/sceneSkeleton.d.ts +3 -0
- package/dist/sceneSkeleton.d.ts.map +1 -0
- package/dist/sceneSkeleton.js +34 -0
- package/dist/sceneSkeleton.js.map +1 -0
- package/dist/shared.d.ts +18 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +143 -0
- package/dist/shared.js.map +1 -0
- package/dist/threeDsParse.d.ts +4 -0
- package/dist/threeDsParse.d.ts.map +1 -0
- package/dist/threeDsParse.js +718 -0
- package/dist/threeDsParse.js.map +1 -0
- package/package.json +55 -0
- package/src/awd2Inflate.test.ts +118 -0
- package/src/awd2Parse.test.ts +2431 -0
- package/src/gltfParse.test.ts +2339 -0
- package/src/gltfPunctualLights.test.ts +184 -0
- package/src/gltfTreeShaking.test.ts +45 -0
- package/src/md2Parse.test.ts +1033 -0
- package/src/md5AnimParse.test.ts +673 -0
- package/src/md5Parse.test.ts +1094 -0
- package/src/mtlParse.test.ts +244 -0
- package/src/objParse.test.ts +690 -0
- package/src/sceneSkeleton.test.ts +35 -0
- package/src/shared.test.ts +210 -0
- package/src/threeDsParse.test.ts +1089 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5Parse.js","sourceRoot":"","sources":["../src/md5Parse.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACb,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,sCAAsC,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACxH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAgB9D,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAWlB,gFAAgF;AAChF,yGAAyG;AACzG,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,WAAgC;IACvF,OAAO,yBAAyB,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,sGAAsG;AACtG,uGAAuG;AACvG,wGAAwG;AACxG,uGAAuG;AACvG,0GAA0G;AAC1G,kGAAkG;AAClG,yGAAyG;AACzG,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAC3B,UAAkB,EAClB,UAA0B,EAC1B,WAAgC;IAEhC,MAAM,KAAK,GAAG,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAErC,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,wGAAwG;QACxG,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,IAAI,EAC7B,+BAA+B,EAC/B,eAAe,CAChB,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gGAAgG;AAChG,qGAAqG;AACrG,wGAAwG;AACxG,qGAAqG;AACrG,uGAAuG;AACvG,yGAAyG;AACzG,uGAAuG;AACvG,wGAAwG;AACxG,2GAA2G;AAC3G,oGAAoG;AACpG,EAAE;AACF,2GAA2G;AAC3G,qGAAqG;AACrG,sGAAsG;AACtG,gGAAgG;AAChG,2FAA2F;AAC3F,EAAE;AACF,yGAAyG;AACzG,wGAAwG;AACxG,qCAAqC;AACrC,iGAAiG;AACjG,EAAE;AACF,+FAA+F;AAC/F,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,WAAgC;IAC3E,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,uGAAuG;IACvG,qGAAqG;IACrG,0GAA0G;IAC1G,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,EAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtE,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC/C,gGAAgG;gBAChG,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,6BAA6B,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnG,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;IACH,CAAC;IAED,wGAAwG;IACxG,0EAA0E;IAC1E,IAAI,SAA6B,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,sGAAsG;IACtG,0GAA0G;IAC1G,8FAA8F;IAC9F,wGAAwG;IACxG,8EAA8E;IAC9E,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,iFAAiF;QACjF,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,kGAAkG;YAClG,wFAAwF;YACxF,MAAM,UAAU,GAAyB,EAAE,CAAC;YAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACzC,IAAI,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1C,sFAAsF;oBACtF,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,oCAAoC,EAAE,EAAE,EAAE;wBACjG,UAAU,EAAE,WAAW;wBACvB,WAAW,EAAE,CAAC;qBACf,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChE,8EAA8E;oBAC9E,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,mCAAmC,EAAE,EAAE,EAAE;wBAChG,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,WAAW,EAAE,WAAW;qBACzB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAExC,0DAA0D;gBAC1D,MAAM,EAAE,GAAG,eAAe,CACxB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;gBACF,MAAM,EAAE,GAAG,eAAe,CACxB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;gBACF,MAAM,EAAE,GAAG,eAAe,CACxB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CACjB,CAAC;gBAEF,UAAU,CAAC,IAAI,CAAC;oBACd,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,EAAE,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE;oBACxB,EAAE,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE;oBACxB,EAAE,EAAE,KAAK,CAAC,SAAS,GAAG,EAAE;oBACxB,MAAM,EAAE,MAAM,CAAC,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,kGAAkG;YAClG,iGAAiG;YACjG,iGAAiG;YACjG,mGAAmG;YACnG,6EAA6E;YAC7E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;gBAC5C,oBAAoB,EAAE,CAAC;gBACvB,IAAI,UAAU,CAAC,MAAM,GAAG,qBAAqB;oBAAE,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAC;YAC3F,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;gBAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,EAAE,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,EAAE,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,EAAE,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,CAAC;YAED,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAE5D,yEAAyE;YACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,+FAA+F;YAC/F,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,sEAAsE;YACtE,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,iBAAiB;YACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,gFAAgF;YAChF,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,iGAAiG;YACjG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,4FAA4F;QAC5F,yCAAyC;QACzC,wBAAwB,CAAC,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;QAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,8FAA8F;QAC9F,+FAA+F;QAC/F,kGAAkG;QAClG,gGAAgG;QAChG,6FAA6F;QAC7F,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,kBAAkB,CAAC;gBAClC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,sCAAsC;gBAC9C,QAAQ,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC;aACrC,CAAC,CAAC;YACH,qFAAqF;YACrF,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/C,iGAAiG;YACjG,kGAAkG;YAClG,uFAAuF;YACvF,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,wBAAwB,CAAC;oBACxC,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;iBAC/E,CAAwB,CAAC;gBAC1B,mFAAmF;gBACnF,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC/B,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC9C,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAmC,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,YAAY,GAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;YACjF,IAAI,SAAS,KAAK,SAAS;gBAAE,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;YAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;YACvG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,gGAAgG;YAChG,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,uGAAuG;QACvG,4GAA4G;QAC5G,sBAAsB,CACpB,WAAW,EACX,wBAAwB,CAAC,OAAO,EAChC,gCAAgC,EAChC,cAAc,EACd;YACE,KAAK,EAAE,oBAAoB;YAC3B,aAAa,EAAE,qBAAqB;SACrC,CACF,CAAC;IACJ,CAAC;IAED,4FAA4F;IAC5F,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE;gBAC9E,GAAG,KAAK,CAAC,MAAM;gBACf,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,2GAA2G;AAC3G,8GAA8G;AAC9G,+FAA+F;AAC/F,4GAA4G;AAC5G,sDAAsD;AACtD,SAAS,wBAAwB,CAC/B,MAA2B,EAC3B,QAAyB,EACzB,QAA0C;IAE1C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1G,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAErD,8DAA8D;IAC9D,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACzG,CAAC;IACD,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACzC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAE9C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,uGAAuG;IACvG,qGAAqG;IACrG,wGAAwG;IACxG,2GAA2G;IAC3G,+FAA+F;IAC/F,kGAAkG;IAClG,uGAAuG;IACvG,kEAAkE;IAClE,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1C,IAAI,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,OAAO,GAAG,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;YAC5B,mBAAmB,CAAC,UAAU,EAAE;gBAC9B,CAAC,EAAE,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC7B,CAAC,EAAE,iBAAiB,CAAC,GAAG,CAAC;gBACzB,CAAC,EAAE,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC7B,CAAC,EAAE,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;aAC9B,CAAC,CAAC;YACH,yBAAyB,CACvB,MAAM,EACN;gBACE,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC;gBAChC,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpC,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;aACrC,EACD,UAAU,CACX,CAAC;YACF,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5F,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;YACpB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACxC,kFAAkF;YAClF,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,mCAAmC,EAAE,EAAE,EAAE;gBAChG,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,wGAAwG;IACxG,kFAAkF;IAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1C,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,uGAAuG;IACvG,0GAA0G;IAC1G,uGAAuG;IACvG,sEAAsE;IACtE,MAAM,WAAW,GAAc,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,cAAc,CACZ,SAAS,EACT,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAC/E;YACE,CAAC,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACxB,CAAC,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,CAAC;SAC7B,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CACrB,CAAC;QACF,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB;IACvB,OAAO;QACL,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC3B,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CACvB,KAAwB,EACxB,SAAiB,EACjB,MAAkB,EAClB,QAA0C;IAE1C,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAClG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,IAAY,EAAE,QAA0C,EAAE,SAAiB;IACjG,2BAA2B;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACjC,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,EAAE,qBAAqB,EAAE;YACtG,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAEhD,wFAAwF;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,EAAE,uBAAuB,EAAE;YACxG,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3C,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC9B,CAAC;QACD,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,EAAE,aAAa,EAAE;YAC9F,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sFAAsF;IACtF,mDAAmD;IACnD,MAAM,KAAK,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IACtG,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,OAAO;QACL,IAAI;QACJ,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,SAAS;QACT,SAAS;QACT,SAAS;KACV,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,SAAS,cAAc,CACrB,KAAwB,EACxB,SAAiB,EACjB,QAA0C;IAE1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EAAE,CAAC;QAEJ,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACzF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAEzD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;gBAC1C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,oGAAoG;gBACpG,oGAAoG;gBACpG,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/F,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;IACH,CAAC;IAED,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,OAAO,EAAE,6BAA6B,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChG,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;AACzE,CAAC;AAED,0DAA0D;AAC1D,SAAS,aAAa,CAAC,IAAY,EAAE,QAA0C,EAAE,SAAiB;IAChG,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,+DAA+D;IAC/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,EAAE,uBAAuB,EAAE;YACvG,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAClH,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,wBAAwB,EAAE,aAAa,EAAE;YAC7F,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,gCAAgC;AAChC,SAAS,YAAY,CACnB,IAAY,EACZ,QAA0C,EAC1C,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7D,wCAAwC;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,EAAE,uBAAuB,EAAE;YACtG,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACzE,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,EAAE,aAAa,EAAE;YAC5F,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAC/B,CAAC;AAED,0DAA0D;AAC1D,SAAS,eAAe,CACtB,IAAY,EACZ,QAA0C,EAC1C,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI;SAChB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,gEAAgE;IAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,EAAE,uBAAuB,EAAE;YACzG,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC3B,CAAC;QACD,YAAY,CAAC,QAAQ,EAAE,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,EAAE,aAAa,EAAE;YAC/F,SAAS,EAAE,SAAS,GAAG,CAAC;YACxB,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC;AAED,4FAA4F;AAC5F,0EAA0E;AAC1E,SAAS,eAAe,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IACzG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,wDAAwD;AACxD,SAAS,eAAe,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IACzG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,wDAAwD;AACxD,SAAS,eAAe,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IACzG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AAaD,qGAAqG;AACrG,qGAAqG;AACrG,iFAAiF;AACjF,SAAS,YAAY,CACnB,OAAyC,EACzC,QAAkC,EAClC,IAAY,EACZ,aAAqB,EACrB,WAAsD;IAEtD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO;IAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;;QAC3F,QAAQ,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mtlParse.d.ts","sourceRoot":"","sources":["../src/mtlParse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAe,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAQzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAqK5G"}
|
package/dist/mtlParse.js
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { reportImportDiagnostic } from '@flighthq/importdiagnostics';
|
|
2
|
+
import { ImportDiagnosticSeverity } from '@flighthq/types';
|
|
3
|
+
// Parses a Wavefront MTL material library from its text source. Every recognized directive
|
|
4
|
+
// (`newmtl`, `Ka`, `Kd`, `Ks`, `Ns`, `d`, `Tr`, `illum`, `map_Kd`, `map_Ka`, `map_Ks`,
|
|
5
|
+
// `map_Bump`/`bump`) is read; unrecognized directives are silently skipped. Malformed values
|
|
6
|
+
// record a diagnostic and fall back to defaults rather than throwing. Repeated malformed lines are
|
|
7
|
+
// aggregated into one crumb per (kind, discriminator) — the collector contract forbids a per-line report.
|
|
8
|
+
export function parseObjMaterialLibrary(source, diagnostics) {
|
|
9
|
+
const materials = new Map();
|
|
10
|
+
let current = null;
|
|
11
|
+
const lines = source.split('\n');
|
|
12
|
+
// Tallied during the loop and flushed once after — null (every tally a no-op) when no collector is engaged.
|
|
13
|
+
const mtlDrops = diagnostics ? new Map() : null;
|
|
14
|
+
for (let i = 0; i < lines.length; i++) {
|
|
15
|
+
const raw = lines[i].trim();
|
|
16
|
+
if (raw.length === 0 || raw.charCodeAt(0) === 35)
|
|
17
|
+
continue; // skip empty and # comments
|
|
18
|
+
const spaceIndex = raw.indexOf(' ');
|
|
19
|
+
if (spaceIndex < 0) {
|
|
20
|
+
// A bare recognized directive carries no value — a data-dropping branch, not a silent no-op. Before a
|
|
21
|
+
// material it is a directive-before-material drop; after one, its value/filename is simply missing.
|
|
22
|
+
if (raw === 'newmtl') {
|
|
23
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Drop, 'mtl.newmtl-no-name', '', { firstLine: i + 1 });
|
|
24
|
+
}
|
|
25
|
+
else if (raw === 'Ka' || raw === 'Kd' || raw === 'Ks') {
|
|
26
|
+
if (current === null)
|
|
27
|
+
tallyDirectiveBeforeMaterial(mtlDrops, raw, i);
|
|
28
|
+
else
|
|
29
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Recover, 'mtl.color-malformed', 'too-few-components', {
|
|
30
|
+
firstDirective: raw,
|
|
31
|
+
firstLine: i + 1,
|
|
32
|
+
reason: 'too-few-components',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else if (raw === 'Ns' || raw === 'd' || raw === 'Tr' || raw === 'illum') {
|
|
36
|
+
if (current === null)
|
|
37
|
+
tallyDirectiveBeforeMaterial(mtlDrops, raw, i);
|
|
38
|
+
else
|
|
39
|
+
tallyInvalidValue(mtlDrops, raw, i);
|
|
40
|
+
}
|
|
41
|
+
else if (raw === 'map_Kd' || raw === 'map_Ka' || raw === 'map_Ks' || raw === 'map_Bump' || raw === 'bump') {
|
|
42
|
+
if (current === null)
|
|
43
|
+
tallyDirectiveBeforeMaterial(mtlDrops, raw, i);
|
|
44
|
+
else
|
|
45
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Drop, 'mtl.map-no-filename', raw, {
|
|
46
|
+
directive: raw,
|
|
47
|
+
firstLine: i + 1,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const directive = raw.slice(0, spaceIndex);
|
|
53
|
+
const args = raw.slice(spaceIndex + 1).trim();
|
|
54
|
+
switch (directive) {
|
|
55
|
+
case 'newmtl': {
|
|
56
|
+
current = createDefaultObjMaterial(args);
|
|
57
|
+
materials.set(args, current);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case 'Ka': {
|
|
61
|
+
if (current === null) {
|
|
62
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
const c = parseColor(args, mtlDrops, directive, i);
|
|
66
|
+
if (c !== null)
|
|
67
|
+
current.ambient = c;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
case 'Kd': {
|
|
71
|
+
if (current === null) {
|
|
72
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
const c = parseColor(args, mtlDrops, directive, i);
|
|
76
|
+
if (c !== null)
|
|
77
|
+
current.diffuse = c;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case 'Ks': {
|
|
81
|
+
if (current === null) {
|
|
82
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
const c = parseColor(args, mtlDrops, directive, i);
|
|
86
|
+
if (c !== null)
|
|
87
|
+
current.specular = c;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
case 'Ns': {
|
|
91
|
+
if (current === null) {
|
|
92
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
const v = parseFloat(args);
|
|
96
|
+
if (Number.isFinite(v))
|
|
97
|
+
current.specularExponent = v;
|
|
98
|
+
else
|
|
99
|
+
tallyInvalidValue(mtlDrops, directive, i);
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
case 'd': {
|
|
103
|
+
if (current === null) {
|
|
104
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
const v = parseFloat(args);
|
|
108
|
+
if (Number.isFinite(v))
|
|
109
|
+
current.dissolve = v;
|
|
110
|
+
else
|
|
111
|
+
tallyInvalidValue(mtlDrops, directive, i);
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
case 'Tr': {
|
|
115
|
+
if (current === null) {
|
|
116
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
const v = parseFloat(args);
|
|
120
|
+
if (Number.isFinite(v))
|
|
121
|
+
current.dissolve = 1 - v;
|
|
122
|
+
else
|
|
123
|
+
tallyInvalidValue(mtlDrops, directive, i);
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
case 'illum': {
|
|
127
|
+
if (current === null) {
|
|
128
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
const v = parseInt(args, 10);
|
|
132
|
+
if (Number.isFinite(v))
|
|
133
|
+
current.illumination = v;
|
|
134
|
+
else
|
|
135
|
+
tallyInvalidValue(mtlDrops, directive, i);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
case 'map_Kd': {
|
|
139
|
+
if (current === null) {
|
|
140
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
current.mapDiffuse = args;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
case 'map_Ka': {
|
|
147
|
+
if (current === null) {
|
|
148
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
current.mapAmbient = args;
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case 'map_Ks': {
|
|
155
|
+
if (current === null) {
|
|
156
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
current.mapSpecular = args;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
case 'map_Bump':
|
|
163
|
+
case 'bump': {
|
|
164
|
+
if (current === null) {
|
|
165
|
+
tallyDirectiveBeforeMaterial(mtlDrops, directive, i);
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
current.mapBump = args;
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
default:
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Emit the aggregated tallies here in parseObjMaterialLibrary (the emitting function, so it is the crumbs'
|
|
176
|
+
// origin per the collector contract) — one crumb per (kind, discriminator) with its total count.
|
|
177
|
+
if (mtlDrops !== null) {
|
|
178
|
+
for (const tally of mtlDrops.values()) {
|
|
179
|
+
reportImportDiagnostic(diagnostics, tally.severity, tally.kind, 'parseObjMaterialLibrary', {
|
|
180
|
+
...tally.detail,
|
|
181
|
+
count: tally.count,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return { materials };
|
|
186
|
+
}
|
|
187
|
+
function createDefaultObjMaterial(name) {
|
|
188
|
+
return {
|
|
189
|
+
ambient: [0, 0, 0],
|
|
190
|
+
diffuse: [0.8, 0.8, 0.8],
|
|
191
|
+
dissolve: 1,
|
|
192
|
+
illumination: 2,
|
|
193
|
+
mapAmbient: null,
|
|
194
|
+
mapBump: null,
|
|
195
|
+
mapDiffuse: null,
|
|
196
|
+
mapSpecular: null,
|
|
197
|
+
name,
|
|
198
|
+
specular: [0, 0, 0],
|
|
199
|
+
specularExponent: 0,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
// Reads a color triple, tallying a `mtl.color-malformed` drop (keyed by failure reason, first directive
|
|
203
|
+
// kept as an example) and returning null on malformed input so the caller keeps the material's default.
|
|
204
|
+
function parseColor(args, mtlDrops, directive, lineIndex) {
|
|
205
|
+
const parts = args.split(/\s+/);
|
|
206
|
+
if (parts.length < 3) {
|
|
207
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Recover, 'mtl.color-malformed', 'too-few-components', {
|
|
208
|
+
firstDirective: directive,
|
|
209
|
+
firstLine: lineIndex + 1,
|
|
210
|
+
reason: 'too-few-components',
|
|
211
|
+
});
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
const r = parseFloat(parts[0]);
|
|
215
|
+
const g = parseFloat(parts[1]);
|
|
216
|
+
const b = parseFloat(parts[2]);
|
|
217
|
+
if (!Number.isFinite(r) || !Number.isFinite(g) || !Number.isFinite(b)) {
|
|
218
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Recover, 'mtl.color-malformed', 'non-numeric', {
|
|
219
|
+
firstDirective: directive,
|
|
220
|
+
firstLine: lineIndex + 1,
|
|
221
|
+
reason: 'non-numeric',
|
|
222
|
+
});
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
return [r, g, b];
|
|
226
|
+
}
|
|
227
|
+
// A directive carrying (or missing) a value before any `newmtl` drops it — no material to attach to.
|
|
228
|
+
// Aggregated as one crumb; the first offending directive is kept as an example.
|
|
229
|
+
function tallyDirectiveBeforeMaterial(mtlDrops, directive, lineIndex) {
|
|
230
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Drop, 'mtl.directive-before-material', '', {
|
|
231
|
+
firstDirective: directive,
|
|
232
|
+
firstLine: lineIndex + 1,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
// A non-numeric (or missing) Ns/d/Tr/illum value is dropped and the material keeps its default (Recover).
|
|
236
|
+
// Keyed by the directive so each property's failures aggregate separately.
|
|
237
|
+
function tallyInvalidValue(mtlDrops, directive, lineIndex) {
|
|
238
|
+
tallyMtlDrop(mtlDrops, ImportDiagnosticSeverity.Recover, 'mtl.invalid-value', directive, {
|
|
239
|
+
directive,
|
|
240
|
+
firstLine: lineIndex + 1,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
// Records one offender against its (kind, discriminator) tally — the aggregate-once alternative to a
|
|
244
|
+
// per-line `reportImportDiagnostic`. No-op (never allocates) when no collector is engaged. `firstDetail` is
|
|
245
|
+
// kept from the FIRST offender; later ones only bump the count.
|
|
246
|
+
function tallyMtlDrop(tallies, severity, kind, discriminator, firstDetail) {
|
|
247
|
+
if (tallies === null)
|
|
248
|
+
return;
|
|
249
|
+
const key = `${kind}|${discriminator}`;
|
|
250
|
+
const existing = tallies.get(key);
|
|
251
|
+
if (existing === undefined)
|
|
252
|
+
tallies.set(key, { count: 1, detail: firstDetail, kind, severity });
|
|
253
|
+
else
|
|
254
|
+
existing.count++;
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=mtlParse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mtlParse.js","sourceRoot":"","sources":["../src/mtlParse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Scene3D } from '@flighthq/types';
|
|
2
|
+
import type { ImportDiagnostic, Scene3DDocument, ObjMaterialLibrary } from '@flighthq/types';
|
|
3
|
+
export declare function createScene3DFromObj(source: string, materials?: Readonly<ObjMaterialLibrary>, diagnostics?: ImportDiagnostic[]): Scene3D;
|
|
4
|
+
export declare function parseObj(source: string, materials?: Readonly<ObjMaterialLibrary>, diagnostics?: ImportDiagnostic[]): Scene3DDocument;
|
|
5
|
+
//# sourceMappingURL=objParse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objParse.d.ts","sourceRoot":"","sources":["../src/objParse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAEV,gBAAgB,EAIhB,eAAe,EAKf,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAOzB,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACxC,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,OAAO,CAET;AAiBD,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACxC,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,eAAe,CAoOjB"}
|