This repository is a pnpm monorepo implementing IGES → Three.js in layers. Each layer has one job; only the top layer imports three.
| Package | Path | Depends on | Responsibility |
|---|---|---|---|
| iges-core | packages/iges-core |
— | Parse IGES 5.3, build entity map, resolve pointers/transforms, decode wireframe geometry |
| three-iges-loader | root src/ |
iges-core, three (peer) |
IGESLoader, toThreeGroup() tessellation |
.iges file (80-column ASCII)
│
▼
splitSections() ← packages/iges-core/src/parse/sections.ts
│
├── GlobalSection
├── DirectoryEntry[] (2 lines per entity)
└── Parameter records
│
▼
parseIGES() → IGESModel Map<deSequence, RawEntity>
│
▼
resolveReferences() → ResolvedIGESModel
│ • Type 124 transforms
│ • ENTITY_DECODERS → GeometryEntity[]
▼
toThreeGroup() → THREE.Group (root src/three/toThree.ts)
packages/iges-core/src/entities/decoders/typeNNN.ts.packages/iges-core/src/entities/registry.ts.types.ts if needed.src/three/toThree.ts (or defer if surface).test/fixtures/ and tests in packages/iges-core/test/.rotation.x = -π/2) is applied in toThreeGroup(), not per entity.Surface entities (128, 144, B-rep 186, etc.) live on the ROADMAP under Phase C/D.
Optional future package: iges-occt using Open CASCADE WASM for full B-rep tessellation.