Elliptical plates, a WebGPU time loop for the explicit method, and WAV export
build 1m 40sRaw log
Runner
Job build on ubuntu-latest Checking out proof-of-concept/plate-mechanics-sim at 81f3b308 Container started from catthehacker/ubuntu:act-latest ▸ Post Setup Node (node:751) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) Cleaning up the job container
Checkout0s
▸ Checkout Using mochi's built-in checkout (actions/checkout@v4) proof-of-concept/plate-mechanics-sim is already checked out at 81f3b308 (mochi checks out before the job starts)
Setup Node21s
▸ Setup Node Downloading actions/setup-node@v4 (49933ea5288c) Attempting to download 22... (node:60) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) Bad credentials Falling back to download directly from Node Acquiring 22.23.2 - x64 from https://nodejs.org/dist/v22.23.2/node-v22.23.2-linux-x64.tar.gz Extracting ... [command]/usr/bin/tar xz --strip 1 --warning=no-unknown-keyword --overwrite -C /mochi/temp/fbc8f9c8-01cb-4c32-96db-d7c8adf35b6e -f /mochi/temp/6c05fbe0-e80b-4f3f-97a6-d66fb4283931 Adding to the cache ... Done ▾ Environment details node: v22.23.2 npm: 10.9.8 yarn:
Setup Pages0s
▸ Setup Pages Using mochi's built-in configure-pages (actions/configure-pages@v5) This site will be served at https://plate-mechanics-sim.vault1-sites.magland.org/
Install21s
▸ Install added 274 packages, and audited 279 packages in 14s 139 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
Typecheck9s
▸ Typecheck > plate-mechanics-lab@0.1.0 typecheck > tsc -p tsconfig.json
Test30s
▸ Test > plate-mechanics-lab@0.1.0 test > vitest run RUN v4.1.11 /mochi/workspace stderr | packages/core/test/ellipse.test.ts > circular plate frequencies > clamped: 10.216 [eigSym] using bridge: ts-lapack (TypeScript) stderr | packages/core/test/ellipse.test.ts > circular plate frequencies > free: 5.358 and 9.003, with exactly three rigid-body modes [matmul] using bridge: ts-lapack (TypeScript) stderr | packages/core/test/ellipse.test.ts > solving on an ellipse > runs both finite-difference schemes with free edges and they agree [linsolve] using bridge: ts-lapack (TypeScript) ✓ packages/core/test/ellipse.test.ts (12 tests) 5016ms ✓ clamped: 10.216 356ms ✓ simply supported: 4.935 with the curvature term, the paradox value 5.783 without it 384ms ✓ free: 5.358 and 9.003, with exactly three rigid-body modes 1118ms ✓ runs both finite-difference schemes with simply-supported edges and they agree 793ms ✓ runs both finite-difference schemes with clamped edges and they agree 574ms ✓ runs both finite-difference schemes with free edges and they agree 487ms ✓ runs both finite-difference schemes with pinned-center edges and they agree 526ms stderr | packages/core/test/free.test.ts > free edges > reproduces the frequencies of a completely free square plate (Leissa, nu = 0.3) [matmul] using bridge: ts-lapack (TypeScript) [eigSym] using bridge: ts-lapack (TypeScript) stderr | packages/core/test/free.test.ts > free edges > runs the explicit scheme on a free plate: stable below the CFL limit, no rigid-body drift, corners stress-free [linsolve] using bridge: ts-lapack (TypeScript) ✓ packages/core/test/free.test.ts (10 tests) 3722ms ✓ reproduces the frequencies of a completely free square plate (Leissa, nu = 0.3) 393ms ✓ runs the explicit scheme on a free plate: stable below the CFL limit, no rigid-body drift, corners stress-free 647ms ✓ agrees between the implicit and explicit schemes 750ms ✓ holds the centre at zero through both schemes while the edges move, and reports the support 687ms ✓ agrees between the implicit and explicit schemes 471ms stdout | packages/core/test/gpu.test.ts gpu.test: no WebGPU device under Node (Cannot find package 'webgpu' imported from /mochi/workspace/packages/core/test/gpu.test.ts); skipping ✓ packages/core/test/gpu.test.ts (12 tests | 10 skipped) 1028ms ✓ runs the whole bundle in numbl when the GPU is asked for but absent 1024ms stderr | packages/core/test/implicit.test.ts > implicit finite differences > agrees with the explicit scheme on the same grid and with the modal solution [matmul] using bridge: ts-lapack (TypeScript) ✓ packages/core/test/implicit.test.ts (4 tests) 2654ms ✓ agrees with the explicit scheme on the same grid and with the modal solution 1835ms ✓ is unconditionally stable for theta = 1/4 and blows up for theta = 0 at the same step 358ms stderr | packages/core/test/modal.test.ts > modal superposition > reproduces the closed-form fundamental frequency of the simply supported rectangle [matmul] using bridge: ts-lapack (TypeScript) ✓ packages/core/test/modal.test.ts (4 tests) 1638ms ✓ reproduces the closed-form fundamental frequency of the simply supported rectangle 741ms ✓ produces a finite, decaying response with a plausible amplitude 537ms ✓ handles harmonic forcing 325ms ✓ packages/core/test/generate.test.ts (5 tests) 998ms ✓ runs the edited source, and surfaces numbl errors with file and line 807ms ✓ packages/core/test/fd.test.ts (4 tests) 2555ms ✓ is stable just below the CFL limit and diverges just above it 980ms ✓ supports clamped edges and gives a stiffer response than simply supported 910ms ✓ reports its problem size and a short audio clip 444ms stderr | packages/core/test/compare.test.ts > modal versus finite differences on the same problem > agree on displacement to about a percent and on stress to a few percent [matmul] using bridge: ts-lapack (TypeScript) ✓ packages/core/test/compare.test.ts (1 test) 1321ms ✓ agree on displacement to about a percent and on stress to a few percent 1319ms ✓ packages/core/test/wav.test.ts (2 tests) 5ms Test Files 9 passed (9) Tests 44 passed | 10 skipped (54) Start at 14:30:54 Duration 24.07s (transform 617ms, setup 0ms, import 2.35s, tests 18.94s, environment 1ms)
Build the lab13s
▸ Build the lab > @plate-lab/lab@0.1.0 build > vite build vite v7.3.6 building client environment for production... transforming... [plugin vite:resolve] Module "node:module" has been externalized for browser compatibility, imported by "/mochi/workspace/node_modules/qhull-wasm/dist/qhull.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details. ✓ 119 modules transformed. rendering chunks... computing gzip size... dist/index.html 0.40 kB │ gzip: 0.27 kB dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff 4.42 kB dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 4.93 kB dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 5.21 kB dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 5.47 kB dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff 5.98 kB dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff 6.19 kB dist/assets/KaTeX_Size1-Regular-C195tn64.woff 6.50 kB dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 6.91 kB dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 6.91 kB dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf 7.59 kB dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff 7.66 kB dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff 7.72 kB dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 9.64 kB dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 10.34 kB dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf 10.36 kB dist/assets/KaTeX_Script-Regular-D5yQViql.woff 10.59 kB dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 11.32 kB dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 11.35 kB dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf 11.51 kB dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 12.03 kB dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 12.22 kB dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf 12.23 kB dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff 12.32 kB dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf 12.34 kB dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf 12.37 kB dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff 13.21 kB dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff 13.30 kB dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 13.57 kB dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff 14.11 kB dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff 14.41 kB dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff 16.03 kB dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 16.40 kB dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 16.44 kB dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf 16.65 kB dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 16.78 kB dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 16.99 kB dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff 18.67 kB dist/assets/KaTeX_Math-Italic-DA0__PXp.woff 18.75 kB dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff 19.41 kB dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf 19.44 kB dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf 19.57 kB dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf 19.58 kB dist/assets/KaTeX_Main-Italic-BMLOBm91.woff 19.68 kB dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf 22.36 kB dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf 24.50 kB dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 25.32 kB dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 26.27 kB dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf 27.56 kB dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 28.08 kB dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff 29.91 kB dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff 30.77 kB dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf 31.20 kB dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf 31.31 kB dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf 32.97 kB dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff 33.52 kB dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf 33.58 kB dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf 51.34 kB dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf 53.58 kB dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf 63.63 kB dist/assets/qhull-DM50poqF.wasm 388.78 kB │ gzip: 152.23 kB dist/assets/worker-BjVhGaLv.js 1,655.10 kB dist/assets/index-DaNJenR-.css 39.88 kB │ gzip: 10.66 kB dist/assets/index-CP1dqCLn.js 1,030.49 kB │ gzip: 325.68 kB ✓ built in 11.05s (!) Some chunks are larger than 500 kB after minification. Consider: - Using dynamic import() to code-split the application - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
Upload artifact1s
▸ Upload artifact Downloading actions/upload-pages-artifact@v3 (56afc609e742) ▸ Archive artifact ▾ Archive artifact ./ ./index.html ./assets/ ./assets/KaTeX_Main-Italic-3WenGoN9.ttf ./assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf ./assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf ./assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff ./assets/index-DaNJenR-.css ./assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 ./assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf ./assets/KaTeX_Math-Italic-DA0__PXp.woff ./assets/KaTeX_Main-Regular-B22Nviop.woff2 ./assets/KaTeX_Main-Italic-BMLOBm91.woff ./assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff ./assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 ./assets/KaTeX_Size3-Regular-CTq5MqoE.woff ./assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 ./assets/KaTeX_Main-Regular-ypZvNtVU.ttf ./assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff ./assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 ./assets/KaTeX_Size1-Regular-Dbsnue_I.ttf ./assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff ./assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf ./assets/KaTeX_Main-Bold-waoOVXN0.ttf ./assets/KaTeX_Fraktur-Regular-CB_wures.ttf ./assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 ./assets/KaTeX_Script-Regular-C5JkGWo-.ttf ./assets/KaTeX_Math-Italic-t53AETM-.woff2 ./assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff ./assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 ./assets/KaTeX_Fraktur-Bold-BsDP51OF.woff ./assets/KaTeX_Script-Regular-D3wIWfF6.woff2 ./assets/KaTeX_Main-Bold-Jm3AIy58.woff ./assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 ./assets/KaTeX_Size1-Regular-C195tn64.woff ./assets/KaTeX_Main-Regular-Dr94JaBh.woff ./assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 ./assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf ./assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 ./assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff ./assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 ./assets/KaTeX_Script-Regular-D5yQViql.woff ./assets/KaTeX_Main-Bold-Cx986IdX.woff2 ./assets/KaTeX_Size2-Regular-B7gKUWhC.ttf ./assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff ./assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf ./assets/index-CP1dqCLn.js ./assets/KaTeX_Math-Italic-flOr_0UB.ttf ./assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf ./assets/KaTeX_Size4-Regular-DWFBv043.ttf ./assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf ./assets/KaTeX_Size3-Regular-DgpXs0kz.ttf ./assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 ./assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 ./assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 ./assets/worker-BjVhGaLv.js ./assets/KaTeX_SansSerif-Italic-DN2j7dab.woff ./assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 ./assets/KaTeX_Size2-Regular-oD1tc_U0.woff ./assets/qhull-DM50poqF.wasm ./assets/KaTeX_Main-BoldItalic-SpSLRI95.woff ./assets/KaTeX_AMS-Regular-DRggAlZN.ttf ./assets/KaTeX_Size4-Regular-BF-4gkZK.woff ./assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 ./assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf ./assets/KaTeX_AMS-Regular-DMm9YOAa.woff ▸ Upload artifact Using mochi's built-in upload-artifact (actions/upload-artifact@v4) Uploading artifact github-pages (1 file, 4240896 bytes)
Summary
## Vitest Test Report ### Summary - **Test Files**: ✅ **9 passes** · 9 total - **Test Results**: ✅ **44 passes** · 44 total - **Other**: 10 skips · 10 total