This file tells coding agents how to work on three-iges-loader safely and consistently.
Parse IGES 5.3 CAD files into a typed model (iges-core) and tessellate wireframe geometry to Three.js (three-iges-loader). Surfaces and B-rep are out of scope unless the user explicitly requests a roadmap phase.
packages/iges-core/ ← Parser + geometry (NO three.js)
src/ ← IGESLoader + toThreeGroup()
test/fixtures/ ← Shared IGES test files
docs/ ← ARCHITECTURE.md, ROADMAP.md, ENTITY_IMPLEMENTATION.md
three inside packages/iges-core.entities/decoders/typeNNN.ts.entities/registry.ts.test/fixtures/ when adding behavior.unsupported and a roadmap note.resolve/resolveReferences.ts composes type 124; decoders emit model-space coordinates.src/three/toThree.ts applies root rotation.pnpm install
pnpm --filter iges-core test # core unit tests
pnpm test # core + integration
pnpm type-check
pnpm build
pnpm changeset and commit the file under .changeset/.package.json version manually — CI uses Changesets.pnpm test passespnpm type-check passesdocs/ENTITY_IMPLEMENTATION.mddocs/ROADMAP.md if status changedpnpm changeset added if the change is user-visible (unless docs-only internal)split(';') on the whole P-section without Hollerith awareness — use paramTokenizer.ts.parameterDataPointer when building parseParameterSection.sampleNurbsCurve.rotation.x = -π/2 on every mesh — use root group in toThreeGroup only.Standard install/test/build/run commands live in the Commands section above; nothing here overrides them.
engines), but the base VM’s default node on PATH (/exec-daemon/node) is v22. An nvm-managed Node 24 is installed and ~/.bashrc prepends it so interactive/login shells get Node 24 automatically. If you run a command and hit an engine/version error, you’re in a non-login shell using v22 — fix it in that shell with export PATH="$HOME/.nvm/versions/node/$(nvm version 24)/bin:$PATH" (or start bash -l). pnpm (10.33.4) is provided via corepack on the Node 24 install.pnpm test (Vitest: iges-core unit + loader integration). pnpm build uses tsup.pnpm dev:example runs a Vite + Three.js browser demo on http://localhost:3000 (dropdown switches IGES fixtures: point/line/slot/arc). It requires WebGL. In the headless VM, Chrome must be launched with --use-angle=swiftshader for software WebGL, otherwise the canvas is black with WebGLRenderer: A WebGL context could not be created in the console.