-
Notifications
You must be signed in to change notification settings - Fork 9
Home
Richard Thomson edited this page Sep 3, 2024
·
60 revisions
This is the current release provided as a Windows Installer package and ZIP file.
The farther out a release is on this plan, the more flexible and vague are the goals.
- Incorporate code cleanups from other branches, but not any radical restructuring:
- replace use of
char*
strings withstd::string
- name all the magic values with enums or
const
s - localize variable declarations to their first use
- localize variables to
for
andif
scope - replace C-style casts with C++ cast operators
- replace fixed-size arrays with
std::vector
- remove debug flag code
- replace use of
- eliminate integer math code?
- restore mouse support
- restore sound support
- get the minimal X11 code working similar to the way the Win32 code is working with a CGA color style 'text window' instead of curses
- fix these issues
- deprecate legacy parameters:
askvideo
minstack
warn
video
- promote this project
- separate UI from application logic
- switch to OpenGL for all pixel and primitive rendering operations
- switch UI from polling to event-driven
- switch to a wxWidgets based UI with a 'CGA text window' wxWidgets component to handle the text screens
- replace the major CGA text window options screens with wxWidgets dialogs
- replace crazy homebrew complex types/math with C++
std::complex<>
- replace homebrew bignum with boost multiple precision library with GNU GMP/mpfrcpp backend
- lots of automated testing needed here to ensure that the math isn't messed up. Maybe a clang refactoring tool could do some of the transformations. Not sure.
- replace homebrew formula parser with one based on Boost.Spirit
- recast existing fractal types as C++ algorithms operating on
std::complex<T>
to enable arbitrary precision on them - recast existing fractal types as GPU shaders