npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@file-viewer/eda-layout

v3.0.3

Published

Pure TypeScript EDA layout inspection engine for File Viewer with GDSII quick preview primitives and OASIS upgrade boundaries.

Readme

@file-viewer/eda-layout

Flyfish File Viewer 的独立 EDA 版图内核包。它只提供框架无关的 TypeScript API,当前负责标准 GDSII 记录解析、GDSII WebGL 绘制批次生成、OASIS 可读文本夹具解析和真实二进制 OASIS 检测边界,不包含任何 UI 组件。

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() 解析标准 GDSII stream record,输出 structure、boundary、path、text、reference、bounds 等只读预览模型。
  • parseOasisTextLayout() 解析项目内可读 OASIS 文本夹具,输出和 GDSII 相同的只读预览模型,用于 demo、文档和后续 parser 回归。
  • createEdaLayoutWebglBatch() 把 GDSII boundary/path/text/reference 归一化为 triangle / line / point typed arrays,供 UI renderer 或业务自研 WebGL 层消费。
  • inspectOasisLayout() 识别真实二进制 OASIS 文件边界,并把完整 OASIS 几何展开留给独立 WASM/WebGL 内核演进。
  • 不依赖 Vue、React、Web Component 或 DOM,可独立发布、独立回归。
  • @file-viewer/renderer-eda 负责把本包输出转换为可视化 UI。

后续路线

GDSII 已具备浏览器 WebGL 批次输出能力,@file-viewer/renderer-eda 会在元素较多时自动使用 WebGL canvas,SVG 保留为小文件和不支持 WebGL 环境的回退。可读 OASIS 文本夹具用于保证 OAS/OASIS 路由、版图 UI 和 smoke 测试能真实出图;真实 SEMI 二进制 OASIS 的完整工业级浏览仍需要低层 record parser、重复结构展开、层级 cell 导航和大文件增量渲染,本包是后续接入 KLayout/gdstk/OpenAccess 类 WASM 内核或自研 WebGL tile renderer 的稳定入口。