Skip to content

README showcase: emission API + completed illuminant catalog (v0.14.1) #29

README showcase: emission API + completed illuminant catalog (v0.14.1)

README showcase: emission API + completed illuminant catalog (v0.14.1) #29

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
verify:
runs-on: ubuntu-latest
strategy:
matrix:
node: [22, 24]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: npm
- run: npm ci
- name: Tests (derivation, round-trip, differential oracles, codegen parity)
run: npm test
- name: Zero-allocation audit
run: npm run alloc
- name: Type definitions check
run: npx --yes --package typescript@5 tsc --noEmit --strict types.d.ts codegen.d.ts
- name: Precision bounds table
run: npm run precision >> "$GITHUB_STEP_SUMMARY"
gpu-parity:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
cache: npm
- run: npm ci
- run: npx playwright install --with-deps chromium
- name: Execute every emitted shader on GPU (SwiftShader)
run: node tools/gpu-parity.js
bun:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
# smoke: the library imports and converts under JavaScriptCore
- run: |
bun -e "const m = await import('./src/index.js'); const c = m.convert([0.7,0.1,250],'oklch','srgb'); if (!c.every(Number.isFinite)) throw new Error('bad convert: ' + c); console.log('bun smoke ok', c);"
# the full precision sweep exercises every space round-trip on JSC
- run: bun tools/precision-table.js
# and the bench answers the JSC-speed question on a server runtime
- run: bun tools/bench.js