ewig
Adria-DX11
ewig | Adria-DX11 | |
---|---|---|
3 | 1 | |
517 | 123 | |
- | - | |
0.0 | 8.4 | |
over 1 year ago | 3 months ago | |
C++ | C++ | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ewig
-
Text Editor Data Structures
You might be interested in ewig and immer by Juan Pedro Bolivar Puente:
https://github.com/arximboldi/ewig
https://github.com/arximboldi/immer
See the author instantly opening a ~1GB text file with async loading, paging through, copying/pasting, and undoing/redoing in their prototype “ewig” text editor about 27 minutes into their talk here:
https://m.youtube.com/watch?v=sPhpelUfu8Q
It’s backed by a “vector of vectors” data structure called a relaxed radix balanced tree:
https://infoscience.epfl.ch/record/169879/files/RMTrees.pdf
That original paper has seen lots of attention and attempts at performance improvements, such as:
https://hypirion.com/musings/thesis
https://github.com/hyPiRion/c-rrb
-
Ask HN: How to learn about text editor architectures and implementations?
Ewig is an interesting implementation using immutable data structures. https://github.com/arximboldi/ewig Very proof of concept, tries to be a little vi like. Might be worth checking out.
-
Build Your Own Text Editor
For another approach: I built a didactic text editor to teach "value oriented design" and immutable data-structures in C++:
https://github.com/arximboldi/ewig
It's design is covered in these talks:
- Postmodern immutable data structures: https://www.youtube.com/watch?v=sPhpelUfu8Q
- The most valuable values: https://www.youtube.com/watch?v=_oBx_NbLghY
Adria-DX11
-
DirectX 11/12 Graphics Engine (WIP)
I've uploaded my graphics engine written in DirectX 11 on Github. Here is the link. I've tried to make implementations of all the features as straightforward as possible so they are all inside renderer in corresponding void Pass*() member function. This was inspired by approach seen in https://github.com/PanosK92/SpartanEngine. Hope it helps someone.
What are some alternatives?
immer - Postmodern immutable and persistent data structures for C++ — value semantics at scale
Adria-DX12 - Rendergraph-based graphics engine written in C++ using DirectX12
double-conversion - A fast Haskell library for converting between double precision floating point numbers and text strings. It is implemented as a binding to the V8-derived C++ double-conversion library.
Cluster - Clustered shading implementation with bgfx
lite - A lightweight text editor written in Lua
SpartanEngine - A game engine with an emphasis on real-time cutting-edge solutions
bee - (Archived, Incomplete) Text editor written in Bash 3
HybridRenderingEngine - Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
kilo - A text editor in less than 1000 LOC with syntax highlight and search.
limitless-engine - OpenGL C++ Graphics Engine
TinyMCE - The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular
RTXGI - RTXGI v2.0 Update including Neural Radiance Cache and Spatial Hash Radiance Cache