Skip to content

Latest commit

 

History

History
231 lines (124 loc) · 4.31 KB

TODO.md

File metadata and controls

231 lines (124 loc) · 4.31 KB

TODO

  • julia set: scale

  • julia set: zoom around a point

  • 1d color maps

  • julia set: coloring

  • julia set: smooth coloring

  • unified cli instead of binaries

  • mandelbrot

  • from config file cli option

  • double precision

  • julia set: parallelize

  • julia set progress report

  • julia set optimize

  • 1d color map: sine

  • julia set: LCH coloring: LCH to RGB (LCH -> LAB -> RGB)

  • julia set: LCH coloring: LCH interpolation

  • julia set: option for color space (rgba or lch)

  • fix color user api

  • no flatten buffer but a pixel is chunks_mut(3)

  • all gradients computed in LCH space

  • RGBA -> RGB

  • julia set: optimize inner loop

  • LCH coloring: RGB to LCH (RGB -> LAB -> LCH)

  • reimplement with num_complex

  • instead of color map with gradient, compute color directly (LCH)

  • buddhabrot

  • NLM with global h

  • PostProcessing

  • CLAHE

  • buddhabrot exponent param

  • sampling api

  • uniform random sampler

  • weighted KDE vs KDE

  • fix non-local means

  • CLAHE fixed north and west borders

  • Uniform sampler: r parameter

  • post_processing module (with submodules)

  • coloring module (colors as submodule)

  • gradient module

  • rotation parameter (rotate viewport, not space)

  • api integration test (using example files)

  • cli input file as positional argument

  • libsonnet files (commands, types, constants)

  • SamplerArgs into sampler module

  • weighted KDE: stratified sampling

  • cli: add jsonnet file support to input file

  • command => algorithm

  • build action

  • badges

  • top-level basic documentation

  • Algorithms object-oriented

  • use unreachable macro

  • CI benchmarking setup

  • run actions with minimal permissions

  • codecov comment on PRs

  • cache rust builds

  • nicer progress printing abstraction

  • split image generation from drawing algorithms

  • Frame object (with indexing and iteration)

  • make SAT nice (minimize casting)

  • Viewport translate grid_pos to point

  • Viewport rotated and unrotated version of each method

  • benchmark buddhabrot creation

  • optimize buddhabrot iter_mandel_check_vp (rename to trace_point)

  • sampling benchmark

  • make benchmarking more resilient (aim for 1s time with 10 samples)

  • optimize buddhabrot sampling

  • creator pattern for each algorithm

  • get code to pass pedantic clippy with as little allows as possible

  • replace divrem and num_complex with num

  • dimension struct (width, height)

  • use dimension struct in API (CLAHE, algorithms, etc.)

  • increase coverage

  • collect stats (hits, avg. iterations, etc.)

  • kde sampling: make sure sampling points are evenly distributed in space

  • api integration test for jsonnet files (using example files - jsonnet-rs v0.17.0)

  • buddhabrot: flag for disabling iter_mande_check_vp (makes more restrictive samplers faster)

  • examples (jsonnet, zoom, samplers, colored)

  • publish action (publish on crates.io + create zip with libsonnet files)

  • publish 0.0.2

  • anti-buddhabrot (escape cycles using period and finite_attractor, see interior distance rendering of julia set)

  • color algorithms: ColorMap1D, LCH, RGB, Nebula

  • escape function parameter (try Rhai)

  • clean-up julia-set implementation

  • API for describing drawing algorithms

  • drawing algorithms:

    outer:

    • EscapeTime
    • OuterDistance

    inner:

    • FiniteAttractors (magnitude dz0)
    • InnerDistance

    both:

    • Constant
    • EscapeAngle
    • CurvatureEstimation
    • Atoms

    else:

    • PickoverStalks
  • multibrot

  • sampling visualization

  • time estimates

  • color smoothing optional

  • publish 0.1.0

  • wasm based editor

  • drawing algorithms: statistical methods (mean, avg, etc.)

  • julia set: field lines

  • progressive iteration visualization as GIF

  • newton fractals

  • fractal flame

MAYBEDO

  • support for alpha channel

  • greyscale images

  • more gradients

  • color map: stops for colors

  • arbitrary precision types for higher zoom levels