Skip to content

New Bun:FFI API for Layout Engine#3

Merged
HALQME merged 10 commits intomainfrom
chore
Dec 19, 2025
Merged

New Bun:FFI API for Layout Engine#3
HALQME merged 10 commits intomainfrom
chore

Conversation

@HALQME
Copy link
Copy Markdown
Owner

@HALQME HALQME commented Dec 19, 2025

This pull request introduces significant project structure and configuration changes, focusing on build tooling, testing, and the public API. It removes the btuin package's published configuration, updates monorepo-level scripts and dependencies, and simplifies the example and documentation to reflect a new, easier-to-use API. Additionally, it migrates test and build tasks to a new tool (mise), and removes legacy test and configuration files.

Key changes include:

Project Structure and Tooling

  • Removed the package.json files from both the btuin and layout-engine packages, making these packages unpublished and managed solely within the monorepo. This centralizes dependency and script management. [1] [2]
  • Introduced mise.toml for unified tool and task management, replacing most previous scripts and developer commands. Tasks for build, lint, format, test, and profiling are now defined here.
  • Added a bunfig.toml file to specify the root directory for tests, standardizing test discovery.

Monorepo Configuration

  • Updated the root package.json:
    • Removed all npm scripts in favor of mise tasks.
    • Set an explicit version and updated the required bun engine version.

Documentation and Examples

  • Updated the README.md:
    • Changed the getting started and sample code to use a new, simplified API (init/render instead of setup).
    • Updated showcase instructions to reference the new neon dashboard example.

Codebase Cleanup

  • Removed the main app runtime (app.ts), component system (component.ts), and the related runtime test (app.test.ts), indicating a major refactor or migration to a new architecture or API. [1] [2] [3]

Most important changes:

Project and Package Management

  • Removed package.json from btuin and layout-engine, making these packages unpublished and managed internally. [1] [2]
  • Added mise.toml for tool and task management, and bunfig.toml to configure test roots. [1] [2]

Monorepo Scripts and Dependencies

  • Centralized all build, lint, and test scripts in the root, removing them from package.json and using mise tasks instead.
  • Updated root package.json with a version and stricter bun engine requirement.

Documentation and API

  • Updated README.md to reflect a new, simplified API and showcase example. [1] [2]

Codebase Simplification

  • Removed the old runtime app, component system, and related tests, indicating a major refactor or migration to a new architecture. [1] [2] [3]

- Remove old `btuin` package and re‑organize source under `src/*`.
- Re‑implement core runtime with new `createApp` API and unified component
  system.
- Simplify `package.json` scripts: centralize lint/format/test commands.
- Upgrade README showcase to use new Neon dashboard example.
- Adjust internal imports to the new aliasing (`@/*`).
- Add missing helper modules (`buffer`, `grapheme`, `pool`, etc.) under
  `src/renderer`.
- Update layout‑engine bindings and rendering logic to use the new WASM module
  API.
- Add `app` helper for backwards compatibility.
- Update the rest of the code base to match new architecture, including terminal
  and platform adapters.
@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 19, 2025

🚀 Performance Benchmark Result

          Performance Limits Report 5 runs
====================================================
| FPS Target | Avg Nodes |  Min  |  Max  | Std Dev |
|------------|-----------|-------|-------|---------|
| 120 FPS    | 3500      | 3100  | 4000  | ±374    |
|  60 FPS    | 6160      | 5400  | 7000  | ±706    |
|  30 FPS    | 11240     | 10500 | 12000 | ±609    |
|  15 FPS    | 20680     | 19200 | 22600 | ±1388   |
====================================================
Run Details Triggered by commit: 8b5fdd9

@HALQME HALQME merged commit 616dfa3 into main Dec 19, 2025
2 checks passed
@HALQME HALQME deleted the chore branch December 19, 2025 04:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant