[PR #793] Move 3D code to separate @opentui/three package #1571

Open
opened 2026-03-14 09:43:50 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/793
Author: @remorses
Created: 3/8/2026
Status: 🔄 Open

Base: mainHead: move-3d-to-separate-package


📝 Commits (10+)

  • be652e9 create 3d package
  • e48f864 pin node types
  • f471742 add build and publish scripts for @opentui/3d
  • 5779db5 move 3D examples and benchmark to @opentui/3d package
  • df292ca remove 3D examples from core examples index
  • 8e396e4 move assets from core to 3d package (git rename)
  • 15b803d format
  • e9c8d59 align 3d package.json with repo conventions
  • abdb5e1 remove unnecessary @types/node from 3d package
  • 42c8186 simplify 3d build: publish TS source directly (152KB vs 1.1MB)

📊 Changes

51 files changed (+635 additions, -232 deletions)

View changed files

📝 .github/workflows/build-core.yml (+5 -0)
📝 .github/workflows/build-examples.yml (+4 -4)
📝 .github/workflows/build-native.yml (+9 -0)
📝 .github/workflows/npm-latest-release.yml (+9 -0)
📝 .github/workflows/npm-release.yml (+1 -0)
📝 .github/workflows/pkg-pr-new.yml (+7 -0)
📝 bun.lock (+206 -133)
📝 package.json (+3 -2)
📝 packages/core/package.json (+1 -9)
📝 packages/core/scripts/build.ts (+10 -8)
packages/core/src/3d.ts (+0 -3)
📝 packages/core/src/examples/draggable-three-demo.ts (+1 -1)
📝 packages/core/src/examples/fractal-shader-demo.ts (+1 -1)
📝 packages/core/src/examples/golden-star-demo.ts (+1 -1)
📝 packages/core/src/examples/lights-phong-demo.ts (+1 -2)
📝 packages/core/src/examples/physx-planck-2d-demo.ts (+8 -9)
📝 packages/core/src/examples/physx-rapier-2d-demo.ts (+8 -9)
📝 packages/core/src/examples/shader-cube-demo.ts (+1 -2)
📝 packages/core/src/examples/sprite-animation-demo.ts (+5 -9)
📝 packages/core/src/examples/sprite-particle-generator-demo.ts (+7 -8)

...and 31 more files

📄 Description

Extracts packages/core/src/3d/ into a standalone @opentui/three package at packages/three/.

  • New package packages/three/ with dedicated build/publish scripts and tsconfig
  • Examples remain in core on purpose so there is a single example selector and all demos live in one place (packages/core/src/examples/index.ts)
  • Examples now import 3D APIs from @opentui/three instead of core internal paths
  • Core exports cleaned up by removing src/3d.ts and the ./3d export
  • CI/release/publish flows updated to build, validate, preview, and publish @opentui/three
  • Packaging fix for core dist metadata so preview/release packing resolves workspace dependencies correctly

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/793 **Author:** [@remorses](https://github.com/remorses) **Created:** 3/8/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `move-3d-to-separate-package` --- ### 📝 Commits (10+) - [`be652e9`](https://github.com/anomalyco/opentui/commit/be652e90ab74a90d8af15fefda2067c056500bef) create 3d package - [`e48f864`](https://github.com/anomalyco/opentui/commit/e48f8643af7a8d0af89aae1d8adcb093dfb465e4) pin node types - [`f471742`](https://github.com/anomalyco/opentui/commit/f471742b7664c7071fb69ed825ac39fbe22cc8e9) add build and publish scripts for @opentui/3d - [`5779db5`](https://github.com/anomalyco/opentui/commit/5779db559f786797941b23f73924e101d5c7e0ac) move 3D examples and benchmark to @opentui/3d package - [`df292ca`](https://github.com/anomalyco/opentui/commit/df292ca97f7aaa092a32f1cd06f86217d968908a) remove 3D examples from core examples index - [`8e396e4`](https://github.com/anomalyco/opentui/commit/8e396e4d3de0d45ba5e843bb2ac094202ceda2a1) move assets from core to 3d package (git rename) - [`15b803d`](https://github.com/anomalyco/opentui/commit/15b803d98ae632bea68f5add4de364420db0ac86) format - [`e9c8d59`](https://github.com/anomalyco/opentui/commit/e9c8d596b9b7dbf4837258b90ec619dc87f10619) align 3d package.json with repo conventions - [`abdb5e1`](https://github.com/anomalyco/opentui/commit/abdb5e189662417485ca0dc47ca653b332b1a125) remove unnecessary @types/node from 3d package - [`42c8186`](https://github.com/anomalyco/opentui/commit/42c8186f6188b5c98d7504e4017ed8d6475e1fd5) simplify 3d build: publish TS source directly (152KB vs 1.1MB) ### 📊 Changes **51 files changed** (+635 additions, -232 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build-core.yml` (+5 -0) 📝 `.github/workflows/build-examples.yml` (+4 -4) 📝 `.github/workflows/build-native.yml` (+9 -0) 📝 `.github/workflows/npm-latest-release.yml` (+9 -0) 📝 `.github/workflows/npm-release.yml` (+1 -0) 📝 `.github/workflows/pkg-pr-new.yml` (+7 -0) 📝 `bun.lock` (+206 -133) 📝 `package.json` (+3 -2) 📝 `packages/core/package.json` (+1 -9) 📝 `packages/core/scripts/build.ts` (+10 -8) ➖ `packages/core/src/3d.ts` (+0 -3) 📝 `packages/core/src/examples/draggable-three-demo.ts` (+1 -1) 📝 `packages/core/src/examples/fractal-shader-demo.ts` (+1 -1) 📝 `packages/core/src/examples/golden-star-demo.ts` (+1 -1) 📝 `packages/core/src/examples/lights-phong-demo.ts` (+1 -2) 📝 `packages/core/src/examples/physx-planck-2d-demo.ts` (+8 -9) 📝 `packages/core/src/examples/physx-rapier-2d-demo.ts` (+8 -9) 📝 `packages/core/src/examples/shader-cube-demo.ts` (+1 -2) 📝 `packages/core/src/examples/sprite-animation-demo.ts` (+5 -9) 📝 `packages/core/src/examples/sprite-particle-generator-demo.ts` (+7 -8) _...and 31 more files_ </details> ### 📄 Description Extracts `packages/core/src/3d/` into a standalone `@opentui/three` package at `packages/three/`. - **New package** `packages/three/` with dedicated build/publish scripts and tsconfig - **Examples remain in core on purpose** so there is a single example selector and all demos live in one place (`packages/core/src/examples/index.ts`) - **Examples now import 3D APIs from `@opentui/three`** instead of core internal paths - **Core exports cleaned up** by removing `src/3d.ts` and the `./3d` export - **CI/release/publish flows updated** to build, validate, preview, and publish `@opentui/three` - **Packaging fix** for core dist metadata so preview/release packing resolves workspace dependencies correctly --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#1571
No description provided.