Skip to content

Modular engine#18

Draft
airblast-dev wants to merge 85 commits intomainfrom
modular-engine
Draft

Modular engine#18
airblast-dev wants to merge 85 commits intomainfrom
modular-engine

Conversation

@airblast-dev
Copy link
Copy Markdown
Collaborator

@airblast-dev airblast-dev commented Feb 13, 2026

The modular design of the engine is intended to be a re-implementation of the current system with modularity.

What needs to be done for feature parity (non exhaustive):

  • Layers API
  • Color blending
  • Compatibility with draw primitives
    • TODO: list draw primitives
  • Widgets
    • Particle system

airblast-dev and others added 29 commits February 24, 2026 17:51
Honestly embaressing
* Reduce code duplication in CrosstermRenderer

* Remove extra lifetime and relax constructor requirements for Line

* fmt

* Allow custom return value in `run`

* Derive more traits for Span

* Fix bad style logic

* Add consistent styling support

* Allow reading total time from Engine

* Add span macro

* Remove old comment

* Add simple line-spans example

* Add sides support for Block

* Refactor so Line accepts more types
* change emojis

* bump crate version

* change description

* tidy up readme

---------

Co-authored-by: Amy Opas <amy.opas@proton.me>
* Require width methods for border sides and support block titles

* Add width checking for widgets

* unused import
* Clamp sub buffer inputs

* Use saturating subtraction for line render width

* Provide better panic messages on out of bounds access

* Add support for right aligned block titles

* Fix accidental overflows when rendering Block

* Fix Line offset calculation

* Fix area_is_within for Size

* Add assertion and documentation for `SubBuffer::new`

* Actually pass display width struct to frame context

* Remove unused imports

* Update example

* Use title alignment and position in example
* Split Widget trait into two parts

* fmt

* Add docs
* Docs for `FrameContext`

* Remove redundant and fault `Line::width`

* Docs for `Span`

* Remove duplicated code

* Docs for `Title`

* Remove unused method for `TitleAlignment`

* Remove old test

* Add Block tests and fix right positioning for titles

* fmt

* Add TODO note

* Add LineWidth docs

* Update Block title test
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.

2 participants