[PR #410] [CLOSED] Move 3D module to separate @opentui/3d package #1293

Closed
opened 2026-03-14 09:29:01 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/410
Author: @remorses
Created: 12/12/2025
Status: Closed

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

39 files changed (+403 additions, -135 deletions)

View changed files

📝 .github/workflows/build-core.yml (+6 -1)
📝 bun.lock (+77 -61)
📝 package.json (+3 -2)
📝 packages/3d/benchmark/renderer-benchmark.ts (+7 -7)
packages/3d/package.json (+41 -0)
packages/3d/scripts/build.ts (+126 -0)
packages/3d/scripts/publish.ts (+44 -0)
📝 packages/3d/src/SpriteResourceManager.ts (+0 -0)
📝 packages/3d/src/SpriteUtils.ts (+0 -0)
📝 packages/3d/src/TextureUtils.ts (+0 -0)
📝 packages/3d/src/WGPURenderer.ts (+1 -3)
📝 packages/3d/src/animation/ExplodingSpriteEffect.ts (+0 -0)
📝 packages/3d/src/animation/PhysicsExplodingSpriteEffect.ts (+0 -0)
📝 packages/3d/src/animation/SpriteAnimator.ts (+0 -0)
📝 packages/3d/src/animation/SpriteParticleGenerator.ts (+0 -0)
📝 packages/3d/src/canvas.ts (+1 -2)
📝 packages/3d/src/index.ts (+1 -0)
📝 packages/3d/src/physics/PlanckPhysicsAdapter.ts (+0 -0)
📝 packages/3d/src/physics/RapierPhysicsAdapter.ts (+0 -0)
📝 packages/3d/src/physics/physics-interface.ts (+0 -0)

...and 19 more files

📄 Description

Extracts the 3D rendering module from @opentui/core into a separate @opentui/3d package. This keeps the core package lightweight - users who don't need 3D features won't have three, planck, rapier, and bun-webgpu installed as optional dependencies.

Note: build and publish scripts were copied from other packages. These could be simplified in a future PR for all packages.

Fix #408


🔄 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/410 **Author:** [@remorses](https://github.com/remorses) **Created:** 12/12/2025 **Status:** ❌ Closed **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 **39 files changed** (+403 additions, -135 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build-core.yml` (+6 -1) 📝 `bun.lock` (+77 -61) 📝 `package.json` (+3 -2) 📝 `packages/3d/benchmark/renderer-benchmark.ts` (+7 -7) ➕ `packages/3d/package.json` (+41 -0) ➕ `packages/3d/scripts/build.ts` (+126 -0) ➕ `packages/3d/scripts/publish.ts` (+44 -0) 📝 `packages/3d/src/SpriteResourceManager.ts` (+0 -0) 📝 `packages/3d/src/SpriteUtils.ts` (+0 -0) 📝 `packages/3d/src/TextureUtils.ts` (+0 -0) 📝 `packages/3d/src/WGPURenderer.ts` (+1 -3) 📝 `packages/3d/src/animation/ExplodingSpriteEffect.ts` (+0 -0) 📝 `packages/3d/src/animation/PhysicsExplodingSpriteEffect.ts` (+0 -0) 📝 `packages/3d/src/animation/SpriteAnimator.ts` (+0 -0) 📝 `packages/3d/src/animation/SpriteParticleGenerator.ts` (+0 -0) 📝 `packages/3d/src/canvas.ts` (+1 -2) 📝 `packages/3d/src/index.ts` (+1 -0) 📝 `packages/3d/src/physics/PlanckPhysicsAdapter.ts` (+0 -0) 📝 `packages/3d/src/physics/RapierPhysicsAdapter.ts` (+0 -0) 📝 `packages/3d/src/physics/physics-interface.ts` (+0 -0) _...and 19 more files_ </details> ### 📄 Description Extracts the 3D rendering module from @opentui/core into a separate @opentui/3d package. This keeps the core package lightweight - users who don't need 3D features won't have three, planck, rapier, and bun-webgpu installed as optional dependencies. Note: build and publish scripts were copied from other packages. These could be simplified in a future PR for all packages. Fix #408 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-14 09:29:01 +03:00
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#1293
No description provided.