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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@maxellabs/specification

v0.0.7

Published

基于 OpenUSD 格式的全流程数据描述包,支持 3D 引擎、动效引擎、设计数据和图表数据

Readme

Maxellabs 3D Engine - 数据规范包

基于 OpenUSD 格式的全流程数据描述包,支持从设计到上线的完整工作流程。

概述

本包提供了一套完整的数据描述规范,基于 OpenUSD (Universal Scene Description) 标准扩展,支持:

  • Web 引擎数据描述:3D 场景、几何体、材质、光照等
  • 动效引擎数据:动画、时间轴、关键帧、缓动函数等
  • 设计工具数据:Figma 设计文档、组件库、设计系统等
  • 图标数据系统:SVG 图标库、分类管理、变体支持等
  • 工作流程管理:从设计到部署的完整流程定义
  • 包格式规范:基于 USDZ 的 .maxz 包格式

核心模块

1. 基础规范 (core/)

基于 OpenUSD 标准的核心类型系统:

import { UsdStage, UsdPrim, Transform, Color } from '@maxellabs/specification/core';

// 基础类型支持
const transform: Transform = {
  position: [0, 0, 0],
  rotation: [0, 0, 0, 1],
  scale: [1, 1, 1],
};

特性:

  • 统一的基础类型定义
  • 跨模块共享的接口规范
  • 标准化的枚举和常量
  • OpenUSD 兼容的数据类型

2. 设计系统 (design/)

模块化的设计工具数据格式支持:

2.1 基础定义 (design/base.ts + design/enums.ts)

import { DesignBounds, DesignConstraints, ComponentInstance } from '@maxellabs/specification/design';
import { DesignElementType, ConstraintType } from '@maxellabs/specification/design';

// 基础接口使用
const bounds: DesignBounds = { x: 0, y: 0, width: 100, height: 40 };
const constraints: DesignConstraints = {
  horizontal: ConstraintType.Left,
  vertical: ConstraintType.Top,
};

2.2 设计元素 (design/elements.ts)

import { DesignElement, SpriteElement, IconElement } from '@maxellabs/specification/design';

// 设计元素定义
const element: DesignElement = {
  id: 'element-1',
  name: 'Button',
  type: DesignElementType.Component,
  bounds: { x: 0, y: 0, width: 100, height: 40 },
  visible: true,
  locked: false,
  opacity: 1.0,
};

2.3 样式系统 (design/styles.ts)

import { DesignStyle, DesignFill, DesignStroke } from '@maxellabs/specification/design';

// 样式定义
const style: DesignStyle = {
  fills: [
    {
      type: 'solid',
      color: { value: [0.2, 0.4, 0.8, 1.0] },
      opacity: 1.0,
      visible: true,
    },
  ],
  cornerRadius: 8,
};

2.4 颜色系统 (design/colors.ts)

import { DesignColorSystem, DesignColorPalette } from '@maxellabs/specification/design';

// 颜色系统
const colorSystem: DesignColorSystem = {
  primary: primaryPalette,
  neutral: neutralPalette,
  semantic: {
    success: successPalette,
    warning: warningPalette,
    error: errorPalette,
    info: infoPalette,
  },
};

2.5 组件库 (design/components.ts)

import { DesignComponent, DesignComponentLibrary } from '@maxellabs/specification/design';

// 组件库管理
const library: DesignComponentLibrary = {
  name: 'UI Components',
  version: '1.0.0',
  components: {
    button: buttonComponent,
    input: inputComponent,
  },
};

2.6 图标库 (design/icons.ts)

import { DesignIconLibrary, DesignIcon } from '@maxellabs/specification/design';

// 图标库系统
const iconLibrary: DesignIconLibrary = {
  name: 'App Icons',
  version: '1.0.0',
  icons: {
    home: {
      id: 'home',
      name: 'Home',
      category: 'navigation',
      sizes: [16, 24, 32, 48],
      svg: '<svg>...</svg>',
    },
  },
};

2.7 字体排版 (design/typography.ts)

import { DesignTypographySystem, DesignFontFamily } from '@maxellabs/specification/design';

// 字体系统
const typography: DesignTypographySystem = {
  fontFamilies: fontFamilies,
  scale: typographyScale,
  textStyles: textStyles,
};

2.8 主题系统 (design/themes.ts)

import { DesignTheme, DesignStyleLibrary } from '@maxellabs/specification/design';

// 主题配置
const lightTheme: DesignTheme = {
  name: 'Light Theme',
  type: 'light',
  colors: lightColors,
  typography: typographyOverrides,
};

2.9 页面管理 (design/page.ts)

import { DesignPage, PageConfig } from '@maxellabs/specification/design';

// 页面定义
const page: DesignPage = {
  id: 'page-1',
  name: 'Home Page',
  type: 'page',
  canvasSize: { width: 375, height: 812, unit: 'px' },
  elements: pageElements,
};

2.10 设计系统 (design/systems.ts)

import { DesignSystem } from '@maxellabs/specification/design';

// 完整设计系统
const designSystem: DesignSystem = {
  name: 'Brand Design System',
  version: '2.0.0',
  colors: colorSystem,
  typography: typographySystem,
  spacing: spacingSystem,
  components: componentLibrary,
  icons: iconLibrary,
  styles: styleLibrary,
};

2.11 设计文档 (design/document.ts)

import { DesignDocument } from '@maxellabs/specification/design';

// 设计文档管理
const document: DesignDocument = {
  id: 'doc-1',
  name: 'Mobile App Design',
  type: 'design',
  version: '1.0.0',
  pages: designPages,
  designSystem: designSystem,
};

3. 工作流程系统 (workflow/)

完整的工作流程管理:

import { Workflow, WorkflowStage } from '@maxellabs/specification/workflow';

// 工作流程定义
const workflow: Workflow = {
  name: 'Design to Production',
  stages: workflowStages,
  triggers: automationTriggers,
  notifications: notificationConfig,
};

工作流程阶段:

  • Design(设计)
  • Development(开发)
  • Review(审查)
  • Testing(测试)
  • Staging(预发布)
  • Production(生产)
  • Maintenance(维护)

4. 包格式系统 (package/)

基于 USDZ 扩展的 .maxz 包格式:

import { MaxellabsPackage } from '@maxellabs/specification/package';

// Maxellabs 包
const package: MaxellabsPackage = {
  version: '1.0.0',
  metadata: packageMetadata,
  stage: usdStage,
  designDocuments: designDocs,
  workflows: workflows,
  assetManifest: assetManifest,
  configuration: packageConfig,
};

包格式特性:

  • 基于 USDZ 的压缩包格式
  • 完整的资产清单和依赖管理
  • 多平台兼容性配置
  • 安全和性能优化设置
  • 版本控制和校验

使用示例

创建完整的设计到生产流程

import { DesignDocument, UsdStage, Workflow, MaxellabsPackage } from '@maxellabs/specification';

// 1. 创建设计文档
const designDoc: DesignDocument = {
  typeName: 'DesignDocument',
  attributes: {
    name: { type: 'string', value: 'Mobile App UI' },
    version: { type: 'string', value: '1.0.0' },
  },
  pages: [
    {
      id: 'home-page',
      name: 'Home Page',
      type: 'page',
      canvasSize: { width: 375, height: 812 },
      elements: designElements,
    },
  ],
  designSystem: {
    name: 'App Design System',
    version: '1.0.0',
    colors: colorSystem,
    typography: typographySystem,
    spacing: spacingSystem,
    components: componentLibrary,
    icons: iconLibrary, // 图标库
    styles: styleLibrary,
  },
};

// 2. 创建 3D 场景
const stage: UsdStage = {
  rootLayer: rootLayer,
  pseudoRoot: rootPrim,
  timeCodesPerSecond: 60,
  startTimeCode: 0,
  endTimeCode: 300,
};

// 3. 定义工作流程
const workflow: Workflow = {
  name: 'Mobile App Development',
  description: 'From design to app store',
  stages: [
    {
      name: 'Design',
      type: 'design',
      tasks: designTasks,
      approvers: ['design-lead'],
    },
    {
      name: 'Development',
      type: 'development',
      tasks: devTasks,
      dependencies: ['Design'],
    },
  ],
};

// 4. 打包为 .maxz 格式
const package: MaxellabsPackage = {
  version: '1.0.0',
  metadata: {
    name: 'mobile-app-ui',
    version: '1.0.0',
    author: { name: 'Design Team' },
    createdAt: new Date().toISOString(),
    modifiedAt: new Date().toISOString(),
  },
  stage: stage,
  designDocuments: [designDoc],
  workflows: [workflow],
  assetManifest: assetManifest,
  configuration: packageConfig,
};

图标库使用示例

import { DesignIconLibrary, DesignIcon } from '@maxellabs/specification';

// 创建图标库
const iconLibrary: DesignIconLibrary = {
  name: 'App Icons',
  version: '1.0.0',
  icons: {
    home: {
      id: 'home',
      name: 'Home',
      category: 'navigation',
      tags: ['house', 'main', 'start'],
      sizes: [16, 24, 32, 48],
      svg: '<svg>...</svg>',
      variants: [
        {
          name: 'outline',
          style: 'outline',
          svg: '<svg>...</svg>',
        },
        {
          name: 'filled',
          style: 'filled',
          svg: '<svg>...</svg>',
        },
      ],
    },
  },
  categories: [
    {
      id: 'navigation',
      name: 'Navigation',
      description: 'Navigation related icons',
    },
  ],
};

技术特性

1. 基于 OpenUSD 标准

  • 完全兼容 OpenUSD 规范
  • 支持 USD 的所有组合功能
  • 可与现有 USD 工具链集成

2. 全流程数据描述

  • 设计工具数据(Figma、Sketch 等)
  • 3D 引擎数据(几何体、材质、动画)
  • 工作流程管理数据
  • 部署和配置数据

3. 高性能和可扩展性

  • 支持大规模场景和资产
  • 延迟加载和流式传输
  • 多线程和 GPU 加速支持

4. 跨平台兼容性

  • Web、iOS、Android、Desktop
  • 多种渲染 API(WebGL、WebGPU、Metal、Vulkan)
  • 多种浏览器和设备支持

5. 安全和版本控制

  • 内容安全策略(CSP)
  • 资源完整性验证(SRI)
  • 完整的版本控制和依赖管理

开发和贡献

构建项目

# 安装依赖
pnpm install

# 构建规范包
pnpm build

# 运行测试
pnpm test

代码规范

  • 使用 TypeScript 进行类型安全
  • 遵循 ESLint 和 Prettier 配置
  • 私有变量不使用下划线前缀
  • 使用 getXXX/setXXX 方法替代 getter/setter

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。