{"_id":"@aardworx/wombat.base","_rev":"14-fbc408a36a8499f371380166fcf128c2","name":"@aardworx/wombat.base","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@aardworx/wombat.base","version":"0.1.0","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.1.0","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"34c8a4d5906e8bebb3f2bee78f4cbf869387108a","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.1.0.tgz","fileCount":513,"integrity":"sha512-ebCfouQ9ol63SFOPzkoFZDAxVj7n3jhdZoQRV0ZK1JM81ePh9TysplWG08ReLb3KMNafcAvzNEWvPE9wv9xbaQ==","signatures":[{"sig":"MEYCIQC+vtH/xdg748dx6EvdZXX6m7NZJINwpgUju4guSJBWVwIhAOyOr/CuevdH8W8350Ogc0cl5zYSACgmY6qPP3O1PDT/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2880081},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"0022793e10b09748f650dba725c4c2b7f8d34908","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.1.0_1777506769426_0.9518626700631818","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aardworx/wombat.base","version":"0.2.0","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.2.0","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"f537ccb736ec738e012a8d52157cf6e42d871431","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.2.0.tgz","fileCount":513,"integrity":"sha512-3ppc9wPMd8QiJ25rJGkstClFAHOeeTXVQajl03MTF/mNEUmWOjnFJxxKzJCaxzyJOxT9HTAINT+RCTvk1zOYcA==","signatures":[{"sig":"MEUCIHj2v5GpNguQwD8q4mFnsFLToTj29ZdRQ0rtTkFMue1nAiEAx6sHj0GLu+NIHnJYS3xrNpXtqRd1yQyLMZ4zrdNMqos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2884717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"499f318db1cc191812cff2f42e45eb29810904a2","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.2.0_1777556963244_0.976103198396322","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aardworx/wombat.base","version":"0.3.0","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.3.0","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"bff2310f654fec500f96c08645f51a552fb202af","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.3.0.tgz","fileCount":518,"integrity":"sha512-lhVumi9LJV/RtdHNrl62TCVWUXc0YWJq7uTke5xrefMxO4bgFWYo7Amym5jKrdy9HyvSe6pCmSRh5EhV1iFezA==","signatures":[{"sig":"MEQCIGkwpEqLCisCxkWCRdndhjFxBci7OMvjAt6JetTJQjYZAiAyarbF7K/j/hjXr6ph4UQRs9fFPkrpTzXwko6ytliqJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2897922},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7c118ad39bc21138fee3133a6c1ce4782877e07f","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.3.0_1777557735783_0.07522165342434506","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aardworx/wombat.base","version":"0.3.1","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.3.1","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"6ca9b608f744ace0aa45fa056262481d1e5becf7","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.3.1.tgz","fileCount":528,"integrity":"sha512-Ib12aV3ZUBDf7zMY5xGq1KLwb0blPPE9tyxElcqgavO0laIlQizwvaiJTj9trI8hU5DtpyGyF2p4t9ps0wL+hw==","signatures":[{"sig":"MEQCIHo9m7qwindy/hiPqhrwzuPKF0ScgflCVI1I44WnVbJzAiBAdmPc8+dtPGLi4Kp89EfAAqNWry6JyJVaGWAZmXu3Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2997784},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"516885872bce8283d5d1d37bce8c28c066876d50","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.3.1_1777638016750_0.6507194125282119","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aardworx/wombat.base","version":"0.3.2","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.3.2","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"087306237d05028fbf3da807c71ebdad19dfe115","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.3.2.tgz","fileCount":543,"integrity":"sha512-Es3nK9LknHd3ICGvxQ0J4k0BHjXCn95hcj3+7j4SW4SVYLWEukx3aB0ZKQSFdF2YXQuRgWqI5IMWOnmmgpM75A==","signatures":[{"sig":"MEYCIQDADZqbehtQvjVLXVnb5dcHrcevr2VPrfo2vp7LCujrpQIhAMTT5CldAWwIQfDODiiMPNXGorHA+wEtdlrz3dOTpxvx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3116678},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"a043b3f1d3190c61e2dc190d2ce3d8e5615f2e24","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.3.2_1777712608954_0.8287530036805228","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@aardworx/wombat.base","version":"0.3.3","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.3.3","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"cba7107092d64a461a97e668b5aa000aecaada35","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.3.3.tgz","fileCount":680,"integrity":"sha512-HFo75s8KhfKFeCHTFgRKzILG9LqcIw+z+crrNU8RogC1SLOcrF58HxIb88v686Vcla4cgWYgW7AtJRfVTCGdew==","signatures":[{"sig":"MEQCIDOnIdCltAdNGLpoAlQEhV9JHF7vjDjU9Uqd0eJskd1gAiAv7g0Tx+OpNGvXTaWH9jO0ntl6p/nw/gGtQ/nrMnfWPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3914606},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"14a5ba08b6fe3096c51d6382dd28cb79935d425a","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.3.3_1777973305700_0.39285518210704784","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aardworx/wombat.base","version":"0.4.0","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.4.0","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"6968fbfcb3c2043715f18ec15c2f6d05c567840b","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.4.0.tgz","fileCount":690,"integrity":"sha512-I1QogRlBXFGe8vsC94MqcZy9+YYFm2+NChviiUB0pnDC3vlR/LDpcaeOsGEEGS7st+y9OlxwHy0xbvAxXqkXmg==","signatures":[{"sig":"MEQCIDpW7ihS7AZHwnppb2WnOmJhRIc85iR4FTIJ4m3TGqvFAiB4RkNv5zT+Qnm/8NFv4W/WWWrEJa6pR4lGR9iHvt5fyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3970623},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"af6eb2594a06f755e616df30545d1fc7c41a885f","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.4.0_1778061143906_0.5036417630626961","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@aardworx/wombat.base","version":"0.4.1","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.4.1","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"20d965bdc74cd028b7e01270546ea312fbcadc75","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.4.1.tgz","fileCount":690,"integrity":"sha512-rJ9VoZoe7CfUUvrT8JHOxscJNWWyLk+OQugoQ2y6mi6ozMOFlRJ/S0B4ZiemW9Zt5FD1CrxkerT1lEI4HZ6E/g==","signatures":[{"sig":"MEYCIQDn2IqctfDYVSAalthYR61N0E6VyNlkSuXyCpciNznbMAIhAPqC7u5cJ39ou3iPCbowmCzLG3WEKdnIBozuX1HW3JkL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3972901},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"4641826e0d39adfff0bceada59cba1311161da8d","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.4.1_1778126413842_0.5992629166538446","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@aardworx/wombat.base","version":"0.4.2","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.4.2","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"6e70ebdf78ec85776f564b99cb36acfaa1b2d467","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.4.2.tgz","fileCount":690,"integrity":"sha512-pO1OXw+r94cCkUiq1y3SjZSlwkQU/+zObHMgsqIEfMaoPUt/9tFoG1+B/ir9xQToR25rGqRuoh4mJIcZ/SBEBw==","signatures":[{"sig":"MEUCIElORuicK2QiMSYhLLPP1fK4XJ0zMhzVX6jHl8OxNGc9AiEA3TIfIKJfWGK7X7E9xULycLJ7YBnVk8dRYxcW+IfHSlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3980091},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"39ca5bd3fa470ab18532a2f4cda0f1b74d5705bf","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.4.2_1778126641293_0.9571498073512623","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@aardworx/wombat.base","version":"0.4.3","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.4.3","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"9d5a74ec95066c17f6c26b0cec8745c13c1af1fe","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.4.3.tgz","fileCount":690,"integrity":"sha512-YA2UG2F4u2tngZBADk2YdbP/ObsEvHGIiP+8+I+oJDYIL16lgcA6xkO/OLrZQerZZ7Qxy2IMTBAKSoZ/Jq5utQ==","signatures":[{"sig":"MEYCIQD9gtFC/0ZhmdSIS6oiJRmZv0sbN50PRF1GCzyBV496UQIhALkoobNtUipoEla6fmUwiZbMTpiCd4ECriiocbZzimP/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4042100},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"71e48b625a46daf2b8a68f4a867d208f6b9eda80","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.4.3_1778598498367_0.6476548971165821","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@aardworx/wombat.base","version":"0.4.4","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.4.4","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"c526e8c5b03b1a09c9af10681d653028260eb94c","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.4.4.tgz","fileCount":690,"integrity":"sha512-iks02KUbh4QG5Flp8q8O/KLbX8ISpIoJS0rvX2ZiV7O+1zwpdxE3hAe/PcPxAZRQH2L3B3tcNTdtzgdkFJOIHg==","signatures":[{"sig":"MEQCIBHSkTToen1DMYFvo+yGsFiRMQUzIP+030djRxGqbKAEAiATehqnPA1LjneGYkbshc9auZm6qUpOJTlQnDT7JATypQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4045240},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"07594ae2669cab95135df99bb8b278b86168d9c4","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rimraf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.5","vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.4.4_1779376547769_0.8649475373216646","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aardworx/wombat.base","version":"0.5.0","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.5.0","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"1ead51056dfd8b4826e1522cc71c3e48b6b8fcf5","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.5.0.tgz","fileCount":695,"integrity":"sha512-VyBu7DY5uA296rFJJkg+YIxgqnT4GIm9FP2sTTfrNTd6jh4Fy8EFhEJPTqEyppPwoSjfAheJ4Mka65kc3WZoyQ==","signatures":[{"sig":"MEQCIDVIRplLX/v+VSKYs9BxtKPuX+Jh3frHBc/fAscO6MPcAiA+RIYVDht9n1Xpfqb+BiHDeG5GRSkSzzJGCr1v1gR27w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4051019},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"e1a9fa20a22d36c72d13d1dbb747caaa5ddb7d7f","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rimraf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":["./dist/numberMethods.js"],"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.5","vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.5.0_1779389221905_0.1053960496162234","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@aardworx/wombat.base","version":"0.5.1","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"author":{"name":"krauthaufen"},"license":"MIT","_id":"@aardworx/wombat.base@0.5.1","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"homepage":"https://github.com/krauthaufen/wombat.base","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"dist":{"shasum":"afa0db9e99f8ac2423a6d842de38bf5b4012b03f","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.5.1.tgz","fileCount":695,"integrity":"sha512-J1CQ8hESwgBddr9dU5E7HrdIevGBf5F3gwt7Kw5aO9I0/kKqZkh2xSHx7Io8aDgNHxioe21h+P5dpktkBYfJrg==","signatures":[{"sig":"MEYCIQC9wUJuHkZO5ae4/llM971zq0jh7/eklWqyClcnVj9sRwIhAJhbYGQFQrNwUNFMPpfFzHG0ljule/NLU4Ls+IKzTnuP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4060953},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./package.json":"./package.json"},"gitHead":"ef6c402ad2bef646c1360dc5a7950552d31836a0","scripts":{"test":"vitest run","build":"npm run clean && tspc -p tsconfig.build.json","clean":"rimraf dist","prepack":"npm run build","prepare":"ts-patch install -s","typecheck":"node scripts/typecheck.mjs","test:watch":"vitest","prepublishOnly":"npm run typecheck && npm test && npm run build"},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"repository":{"url":"git+https://github.com/krauthaufen/wombat.base.git","type":"git"},"_npmVersion":"9.2.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","directories":{},"sideEffects":["./dist/numberMethods.js"],"_nodeVersion":"20.19.2","dependencies":{"libtess":"^1.2.2","poly2tri":"^1.5.0","clipper-lib":"^6.4.2","opentype.js":"^1.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.5","vitest":"^1.4.0","ts-patch":"^3.1.2","boperators":"^0.3.2","typescript":"^5.4.0","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@boperators/plugin-ts-language-server":"^0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/wombat.base_0.5.1_1783974479678_0.7610631358135447","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aardworx/wombat.base","version":"0.6.0","description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","license":"MIT","author":{"name":"krauthaufen"},"repository":{"type":"git","url":"git+https://github.com/krauthaufen/wombat.base.git"},"homepage":"https://github.com/krauthaufen/wombat.base","publishConfig":{"access":"public"},"keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"type":"module","sideEffects":["./dist/numberMethods.js"],"engines":{"node":">=18"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./font":{"types":"./dist/font/index.d.ts","import":"./dist/font/index.js"},"./svg":{"types":"./dist/svg/index.d.ts","import":"./dist/svg/index.js"},"./package.json":"./package.json"},"scripts":{"clean":"rimraf dist","build":"npm run clean && tspc -p tsconfig.build.json","typecheck":"node scripts/typecheck.mjs","test":"vitest run","test:watch":"vitest","prepare":"ts-patch install -s","prepack":"npm run build","prepublishOnly":"npm run typecheck && npm test && npm run build"},"devDependencies":{"@boperators/plugin-ts-language-server":"^0.3.2","@boperators/plugin-tsc":"^0.3.2","@boperators/plugin-vite":"^0.3.2","@types/node":"^20.11.0","@types/opentype.js":"^1.3.9","boperators":"^0.3.2","rimraf":"^5.0.5","ts-patch":"^3.1.2","typescript":"^5.4.0","vitest":"^1.4.0"},"dependencies":{"clipper-lib":"^6.4.2","libtess":"^1.2.2","opentype.js":"^1.3.5","poly2tri":"^1.5.0"},"gitHead":"1a49cb6a375623ca1cba41bc4e2c00e0fd6a178e","bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"_id":"@aardworx/wombat.base@0.6.0","_nodeVersion":"20.19.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-cevWwlDhd4W5FcKfn8Loz3wHJytwaEVp6JA95c+Ve9cUtrScgzEV72RAjmyN0njLWlYQ7dqvnfoHTP5YXQYhoA==","shasum":"d87791fcf2a4d42d475528713e8c2c86822ae6bb","tarball":"https://registry.npmjs.org/@aardworx/wombat.base/-/wombat.base-0.6.0.tgz","fileCount":695,"unpackedSize":4066621,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDklDT1ihmB6PY6g4UXFzC/6nVyetU4zhDwQ01YqseqiAIhAKvuJLOhqg9Nj45nL0x03EaA3WlXr4aSDb6QyxKDAVQ0"}]},"_npmUser":{"name":"krauthaufen","email":"krauthaufen@awx.at"},"directories":{},"maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wombat.base_0.6.0_1784305242415_0.5840410495181485"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-29T23:52:49.337Z","modified":"2026-07-17T16:20:42.830Z","0.1.0":"2026-04-29T23:52:49.575Z","0.2.0":"2026-04-30T13:49:23.433Z","0.3.0":"2026-04-30T14:02:16.042Z","0.3.1":"2026-05-01T12:20:16.943Z","0.3.2":"2026-05-02T09:03:29.196Z","0.3.3":"2026-05-05T09:28:25.882Z","0.4.0":"2026-05-06T09:52:24.074Z","0.4.1":"2026-05-07T04:00:14.144Z","0.4.2":"2026-05-07T04:04:01.531Z","0.4.3":"2026-05-12T15:08:18.608Z","0.4.4":"2026-05-21T15:15:48.009Z","0.5.0":"2026-05-21T18:47:02.130Z","0.5.1":"2026-07-13T20:27:59.876Z","0.6.0":"2026-07-17T16:20:42.637Z"},"bugs":{"url":"https://github.com/krauthaufen/wombat.base/issues"},"author":{"name":"krauthaufen"},"license":"MIT","homepage":"https://github.com/krauthaufen/wombat.base","keywords":["wombat","aardvark","math","geometry","vector","matrix","quaternion","linear-algebra"],"repository":{"type":"git","url":"git+https://github.com/krauthaufen/wombat.base.git"},"description":"Math and geometry primitives for the Wombat TypeScript stack — vectors, matrices, quaternions, transformations, bounding boxes, and packed array views, with TypedArray-backed precision. Port of F# Aardvark.Base.","maintainers":[{"name":"krauthaufen","email":"krauthaufen@awx.at"}],"readme":"# wombat.base\n\nA TypeScript port of `Aardvark.Base.Math` and `Aardvark.Base.Geometry`\n— the primitive math types every renderer / CAD pipeline / point-cloud\ntool ends up needing. Published as `@aardworx/wombat.base`\n(current release `0.4.4`).\n\nThis is a foundation library: pure data types and pure functions. No\nDOM, no WebGL, no adaptive, no JSX. Other packages\n(`@aardworx/wombat.shader-*`, the in-progress `wombat.rendering`)\nsit on top.\n\n## Why this exists\n\nThe TS port of the Aardvark stack progresses bottom-up:\n\n1. [`@aardworx/wombat.adaptive`](https://github.com/krauthaufen/wombat.adaptive) — incremental computations. ✓\n2. **`@aardworx/wombat.base`** — math/geometry primitives. *(this repo)*\n3. [`@aardworx/wombat.shader-runtime`](https://github.com/krauthaufen/wombat.shader) — F#-style shader DSL with composition + cross-stage I/O elimination. ✓\n4. (later) `wombat.rendering`-equivalent — scene graph, pipelines on top of WebGPU.\n\n`wombat.shader` and any rendering pipeline both want operators on\n`V3f` / `M44f` / etc. on the **CPU side** (for camera matrices,\ninstance transforms, point-cloud filtering — anything that runs in\nJS, not in the shader). So this package has to land before either of\nthose becomes ergonomic.\n\n## Scope\n\nIn scope:\n\n- All vector / matrix / quaternion / rotation / Euclidean / similarity\n  / affine / Trafo types in the dimensions and element types listed\n  in [`docs/SCOPE.md`](docs/SCOPE.md), with the **Aardvark naming\n  convention** (`V2f`, `V3i`, `M44d`, `Trafo3d`, `Rot3d`,\n  `Euclidean3d`, …).\n- Correct precision semantics under the constraint that TS only has\n  `number` (IEEE 754 double): `V2i` truncates to int32, `V3ui`\n  truncates to uint32, `V2f` rounds to f32, `V2d` is f64 directly,\n  `V3b` is boolean. Every numeric type is backed by a `TypedArray`\n  view so the arithmetic semantics match the named element type.\n- **Array views**: `V2fArray`, `V3iArray`, `M44dArray`, `C4bArray`,\n  etc. — packed `ArrayBuffer`-backed sequences, the JS analogue of\n  `Float32Array` but element-typed. Indexing yields scalar\n  components or vector / matrix instances; the buffer can be passed\n  straight to WebGL/WebGPU as VBO data without re-packing. Same\n  layout as `Aardvark.Base.V3fArray` etc.\n- Standard linear algebra: matrix multiply, transpose, inverse,\n  determinant; LU, QR, Cholesky, SVD; symmetric eigen-decomposition.\n- Geometry primitives: `Box2*`/`Box3*`, `Range1*`, `Plane3d`,\n  `Ray3d`, `Line3d`, `Triangle3d`, `Sphere3d`, `Polygon2d`/`3d`,\n  plus circles, cones, cylinders and quads.\n- Ray/shape intersections and a BVH (`src/geometry/bvh.ts`).\n- A font/path polygon triangulator (`src/geometry/path/`) with\n  font + SVG subpath support.\n- Quaternion utilities, rotation conversions, spherical interpolation.\n- Hashing + structural equality for use as `HashMap` keys (compatible\n  with `@aardworx/wombat.adaptive`'s `defaultHash`/`defaultEquals`).\n- Deterministic PRNGs and random-vector helpers (XoroShiro128+).\n\nOut of scope (not present today):\n\n- 64-bit integer vector / matrix types (`V2l`, `M44l`). JS `BigInt`\n  is slow and the use cases on the Web are thin. Document as future\n  work.\n- 16-bit-half-precision types. WebGL / WebGPU expose them, but\n  TypeScript cannot represent them outside a `Uint16Array` payload.\n- Heavier computational geometry: convex hull algorithms, mesh\n  decimation, general (non-path) polygon triangulation.\n- Spatial indices (KD-tree, octree).\n- Color types and color-space conversions.\n- File I/O, serialization formats, scientific-notation parsers,\n  string utilities. None of this is the math layer's job.\n\n## Operator overloading\n\n`@boperators/plugin-tsc` is wired into the build (via `ts-patch`\n+ `tspc`) and into vitest (via a small inline Vite plugin in\n`vitest.config.ts`). Every numeric primitive declares a static\n`__aardworxMathBrand` so the plugin recognises it. Source code can\nuse `+`/`-`/`*`/`/`/`%`/unary-`-`/comparisons/compound-assignment;\nthe build emits the corresponding method calls.\n\nMethod API works regardless — write `a.add(b)` if you prefer; the\nplugin sugar is opt-in per consumer project.\n\n### Using in WebStorm / VS Code\n\nAfter `npm install`, the workspace's `tsconfig.json` declares the\nlanguage-service plugin:\n\n```jsonc\n{\n  \"compilerOptions\": {\n    \"plugins\": [\n      { \"transform\": \"@boperators/plugin-tsc\", \"transformProgram\": true },\n      { \"name\": \"@boperators/plugin-ts-language-server\" }\n    ]\n  }\n}\n```\n\nIn **WebStorm**: `Settings → Languages & Frameworks → TypeScript`,\nmake sure the TypeScript service uses the project's bundled compiler\n(`node_modules/typescript`). The language-service plugin loads\nautomatically; operator usage on math types stops being underlined.\n\nIn **VS Code**: open a `.ts` file in the workspace and run\n`> TypeScript: Select TypeScript Version` → \"Use Workspace Version\".\nSame outcome.\n\nIn **Neovim** (via `nvim-lspconfig` + `tsserver`): no extra config\nneeded — tsserver picks up the `plugins` from `tsconfig.json`\nautomatically.\n\n### Limitations of editor support\n\n- Operator diagnostics are suppressed, but TS still infers the result\n  of `a + b` as the inferred-error type (often `any` or the wider\n  union). Hover-over may show the wrong type. The build is correct\n  regardless because the transformer rewrites to method calls before\n  type checking matters.\n- Compound assignment (`+=`) on complex l-values (`arr[i++].field`)\n  evaluates the LHS twice. Use plain `=` rebinding for those cases.\n\n## What's documented where\n\n- [`docs/SCOPE.md`](docs/SCOPE.md) — the full type taxonomy, naming\n  convention, storage model, array-view design, algorithm list, and\n  phased roadmap. Read this first before writing code.\n- [`TODO.md`](TODO.md) — open items and remaining work.\n\nA dedicated `docs/STORAGE.md` (per-primitive TypedArray layout, byte\nsize, alignment, V8/SpiderMonkey performance notes) is planned but not\nyet written; the storage model lives in `docs/SCOPE.md` for now.\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}