Skip to content

Modular engine#18

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

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

Conversation

@airblast-dev
Copy link
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

@thehuglet
Copy link
Owner

Just a heads up, I might be a bit busy next week, so my commits may be lighter than usual. I'll do my best to help with the modular engine design decisions and overall direction though. Thanks for understanding!

@airblast-dev
Copy link
Collaborator Author

Thanks for letting me know :). Will drop a comment here if there is anything that we should discuss.

Feel free to check out the changes every now and then and give any feedback if you notice something.

@thehuglet
Copy link
Owner

I've got a small suggestion for renaming Timer to FrameTiming or FrameTimer. Feel like it'd be a bit more clear this way. What do you think?

@airblast-dev
Copy link
Collaborator Author

Sure, I think FrameTimer is better.

* remove subbuffer

* use Rect instead of position size in subbuffer

* fmt
* remove accidentally added layer logic

* move swap logic to frame end

* move widget trait to directory based module
* cleanup widget impls

* improve timer ergonomics

* export delta type alias for verbosity

this also reduces the refactor needed if we change stuff around in the
future

* use correct type for placeholder delta
* add basic renderer

* start crossterm renderer

* add total for delta types

* unify update logic in Timer

* unused import

* use renderer return value in return

* finish crossterm renderer

* implement draw function for crossterm renderer

* move init to init :P

* add optimization note

* fmt

* docs

* unused import
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

Comments