-
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 totrace_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
andnum_complex
withnum
-
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
andfinite_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
-
support for alpha channel
-
greyscale images
-
more gradients
-
color map: stops for colors
-
arbitrary precision types for higher zoom levels