scrapyard-io / tubes
The ScrapyardIO Display Panel Framework.
Package info
pkg:composer/scrapyard-io/tubes
Requires
- php: ^8.4|^8.5|^8.6
- fabricate/console: ^0.7.0
- fabricate/contracts: ^0.7.0
- fabricate/filesystem: ^0.7.0
- fabricate/magic-aliases: ^0.7.0
- fabricate/nuts-and-bolts: ^0.7.0
- fabricate/sketches: ^0.7.0
- gpio/contracts: ^0.7.0
- waveforms/contracts: ^0.7.0
Requires (Dev)
- pestphp/pest: ^4
Replaces
- tubes/canvas: 0.7.3
- tubes/color: 0.7.3
- tubes/contracts: 0.7.3
- tubes/epaper: 0.7.3
- tubes/fonts: 0.7.3
- tubes/framebuffers: 0.7.3
- tubes/human-input: 0.7.3
- tubes/inputs: 0.7.3
- tubes/matrix: 0.7.3
- tubes/monochrome: 0.7.3
- tubes/panels: 0.7.3
- tubes/rendering: 0.7.3
- tubes/windows: 0.7.3
README
The ScrapyardIO display companion for framework 0.7. Tubes owns the draw → framebuffer → present pipeline: Managed and Deferred framebuffers, OS windows, IC panels, fonts, Renderer2D, and Human Input.
Namespace: ScrapyardIO\Tubes\.
Install
composer require scrapyard-io/tubes:^0.7.0 php workshop vendor:publish --tag=tubes-config
Discovery registers TubesServiceProvider and MagicAliases Framebuffer / Window / Panel / Font.
Install a GFX companion stack:
php workshop install:gfx
Smoke-test the default canvas profile:
./runner canvas-window-demo
Official documentation
Docs live on the ScrapyardIO website:
- Overview
- Installation
- Basics
- Configuration
- Commands
- Canvas Window Demo
- Demo Sketches
- Components (Contracts, Framebuffers, Rendering, Fonts, Canvas, Windows, Panels, Human Input, Inputs)
- Diving Deeper
- Related — gpio-framework · UX
Component splits
This umbrella replaces splittable tubes/* packages at self.version. Prefer requiring scrapyard-io/tubes.
| Composer | Folder |
|---|---|
tubes/contracts |
src/Tubes/Contracts |
tubes/framebuffers |
src/Tubes/Framebuffers |
tubes/rendering |
src/Tubes/Rendering |
tubes/fonts |
src/Tubes/Fonts |
tubes/canvas |
src/Tubes/Canvas |
tubes/windows |
src/Tubes/Windows |
tubes/panels |
src/Tubes/Panels |
tubes/human-input |
src/Tubes/HumanInput |
tubes/inputs |
src/Tubes/Inputs |
Core stays umbrella-only (providers, MagicAliases, canvas profile support) — no tubes/core package.
Legacy replace keys for 0.6 consumers: tubes/monochrome, tubes/color, tubes/matrix, tubes/epaper.
Contributing
Thank you for considering contributing to Tubes! Please open issues and pull requests on GitHub.
License
Tubes is open-sourced software licensed under the MIT license.