packages feed

mandulia-0.5: HACKING

Hacking Mandulia
================

Source Code Index
-----------------

src/                    - 'mandulia' program source code
config/                 - 'mandulia' runtime configurations

src/AmmannA3.hs         - zooming interface for a substitution tiling
src/Bounds.hs           - operations on bounding rectangles
src/Image.hs            - transport images from CPU to GPU
src/Interface.hs        - interface for scripting 'mandulia' in Lua
src/JobQueue.hs         - a dynamically reprioritizable todo list
src/Julia.hs            - worker thread for rendering Julia Sets
src/Mandulia.hs         - main program (this file needs to be split up)
src/PriorityCache.hs    - for caching the N best-right-now items
src/qsort.c             - wrapper for C's qsort() (code implementations)
src/qsort.h             - wrapper for C's qsort() (data definitions)
src/ResourcePool.hs     - allocate up to N resources, reusing them
src/rjulia.c            - render Julia Sets (code implementations)
src/rjulia.h            - render Julia Sets (code specifications)
src/rts.c               - configure GHC default runtime options
src/Snapshot.hs         - export the OpenGL frame buffer to PPM
src/Sort.hsc            - interface with 'qsort.c' and 'qsort.h'
src/StatsLogger.hs      - runtime statistics logging mechanism
src/TextureCache.hs     - cache the N best-right-now textures on the GPU
src/Utils.hs            - miscellaneous general purpose utility functions
src/Vector.hs           - linear algebra ((2+1)D homegenous coordinates)

config/defaults.lua     - default settings (to be used by configurations)
config/distance.lua     - compute Mandelbrot exterior distance (used by 'main')
config/main.lua         - 'main' configuration (interact and attract modes)
config/transition.lua   - interpolate between viewports (used by 'main')