|
|
1 ay önce | |
|---|---|---|
| .. | ||
| src | 1 ay önce | |
| LICENSE | 1 ay önce | |
| README.en.md | 1 ay önce | |
| README.md | 1 ay önce | |
| package.json | 1 ay önce | |
| tsconfig.json | 1 ay önce | |
Framework-neutral EDA layout inspection engine for Flyfish File Viewer. It exposes pure TypeScript APIs for standard GDSII record parsing, GDSII WebGL draw-batch generation, readable OASIS text-fixture parsing, and real binary OASIS upgrade boundaries without any UI dependency.
import {
parseGdsLayout,
parseOasisTextLayout,
createEdaLayoutWebglBatch,
inspectOasisLayout,
} from '@file-viewer/eda-layout'
const layout = parseGdsLayout(new Uint8Array(buffer))
const batch = layout ? createEdaLayoutWebglBatch(layout) : undefined
const oasisFixture = parseOasisTextLayout(new Uint8Array(buffer))
const oasis = inspectOasisLayout(new Uint8Array(buffer))
parseGdsLayout() reads standard GDSII stream records and returns structures, boundaries, paths, text labels, references, bounds, and warnings.parseOasisTextLayout() reads the project's OASIS-like text fixture format and returns the same read-only preview model, keeping demos and parser regression tests visually meaningful.createEdaLayoutWebglBatch() normalizes GDSII boundaries, paths, labels, and references into triangle / line / point typed arrays for UI renderers or custom WebGL layers.inspectOasisLayout() detects real binary OASIS files and keeps full repetition expansion / geometry rendering behind a dedicated WASM/WebGL engine boundary.@file-viewer/renderer-eda turns this engine output into the user-facing preview UI.GDSII now has browser WebGL batch output. @file-viewer/renderer-eda automatically uses a WebGL canvas for larger element sets and keeps SVG as the fallback for small layouts or browsers without WebGL. The readable OASIS text fixture keeps OAS/OASIS routing, layout UI, and browser smoke tests visually meaningful; industrial SEMI binary OASIS preview still needs a low-level record parser, repetition expansion, hierarchical cell navigation, incremental parsing, and tiled rendering. This package is the stable place to integrate a future KLayout/gdstk/OpenAccess-style WASM engine or a dedicated WebGL tile renderer.