12th February 2017
- Add
random-2d
andrandom-2d
functions to generate random vectors. #201 by @prakhar1989 - Fixes
current-fill
andcurrent-stroke
on cljs. #196 by @satchit8 - Fixes
mouse-pressed?
andkey-pressed?
on cljs. #198 by @Norgat - Fixes console.log problem that logged every call to
rect
. Bug. - Update Processing to 3.2.4 and Processing.js to 1.6.4.
5th November 2016
- Support svg rendering. #188.
- Add
do-record
macro to simplify svg/pdf generation. #189. - Update Processing to 3.2.2 and Processing.js to 1.6.3.
- Fix
mouse-wheel
event propagation outside of sketch. #175 - Fix reflection warnings. #185
Issues: might not be compatible with Java 7 and below. Processing 3.2.2 requires Java 8+.
23rd March 2016
- Updated cheatsheet. Thanks to @SevereOverfl0w.
- Added support for some new processing functions:
pixel-density
,display-density
,clip
,no-clip
,key-modifiers
. - Fixes: #170, #179.
- Upgraded to ProcessingJS 1.4.16 and Processing 3.0.2.
- Drop support of Clojure 1.6.0.
- Migrated from cljx to cljc and various refactorings to make Quil compile with self-hosted cljs.
1st December 2015
- Migrated to Processing 3.0. See relevant Processing page.
- Switch to Clojure 1.6. Makes it incompatible with Clojure 1.5.1.
- Optimizations in helper seqs functions. See #160.
- Fix #161: don't draw text when no-fill is set.
- Fix #115: bind out to REPL to make errors more visible when using emacs.
- Removed hints (due to Processing 3.0):
:enable-retina-pixels
,:disable-retina-pixels
,:enable-native-fonts
,:disable-native-fonts
.
2nd June 2015
- Fix bug with hex colours. Issue #71.
- Make
with-translation
andwith-rotation
macros handle exceptions properly. Issue #154. - Fix
blend-color
function in cljs. Issue #156. - Add Navigation 2D middleware.
- Pass draw/update/other functions by name, not by value in cljs to make live-reloading easier.
31st January 2015
- Add
global-key-events
option for cljs sketches. - Use latest cljs capabilites to simplify setting up cljs project: no more externs, preamble and easy-to-use
:none
optimization level.
21st November 2014
- Fix warnings introduced by 2.2.3.
- Fix cljs build failures in rare conditions.
21st November 2014
- Make end-shape to work inside with-graphics macro.
- Allow to pass DOM element as :host in cljs. It used to allow only element ids.
- Add runtime warning when sketches with different context (2D and 3D) are used on same canvas element.
- Improve support for latest clojurescript 0.0-2371.
- Documentation changes.
8th September 2014
- Processing.js is shipped in a jar to make it possible to include it using
:preamble
option. - Support
available-fonts
,load-pixels
andpixels
functions in cljs version. - Fix bug that prevented from using Quil cljs on headless servers.
- Fix bugs that prevented Quil from automatically adding canvas to a page if the page is empty.
- Fixed documentation for
pixels
function.
5th August 2014
- Added
:display
option to control on which display sketch will be shown. - Docs updates.
- Clojurescript improvements: support
:mouse-wheel
handler andframe-rate
function.
14th July 2014
13th June 2014
- Updated to Processing 2.2.1.
- Middleware support.
- Functional mode support.
- New methods:
resize
andstate-atom
. :no-safe-draw
feature renamed to:no-safe-fns
.
- NPE when exiting :p2d sketch using "esc" key. #110.
- Wrap all user-provided function to safe wrappers. #106.
18th May 2014
- Updated to Processing 2.1.2!
- New
:features
option to specify features for sketch. It replaces some options::target
,:decor
,:safe-draw-fn
. Check documentation for sketch to see list of supported features. - Fullscreen support using Processing present mode. Check documentation for
:size
in sketch. - New
:bgcolor
option to set color of background in present mode. Check sketch documentation. - DXF renderer can be used only in
(begin-raw)
. - Texture mode
:normalized
renamed to:normalize
. - Added and removed bunch of hint options. Check documentation for hint function.
mouse-state
renamed tomouse-pressed?
.
- OpenGL renderers bug: #24.
(screen-z x y z)
: commit.(curve-point a b c d t)
: commit.(apply-matrix ...)
: commit.- Calling
(width)
or(height)
in setup returns 100: #50. - Tinting doesn't work in
with-graphics
: #83. - Wrong size after closing the window in REPL: #31.
- (arc x y width height start stop mode)
- (random-gaussian)
- (rect width height r), (rect width height top-left-r top-right-r bottom-right-r bottom-left-r)
- (scale x y z)
- (smooth level)
- (filter-shader shader)
- (load-shader)
- (reset-shader)
- (shader)
- (blend-mode)
- (begin-contour)/(end-contour)
- (quadratic-vertex)
- (texture-wrap)
- (current-graphics)
- (blend src dest x y width height dx dy dwidth dheight mode)
- (copy src-img dest-img [sx sy swidth sheight] [dx dy dwidth dheight])
- (image-filter mode), (image-filter mode level)
- (get-pixel img), (get-pixel img x y), (get-pixel img x y w h)
- (pixels img)
- (update-pixels img)
- (set-pixel img x y c)
- (screen-x x y), (screen-y x y)
- (state)
- (floor n)
(text s)
- removed from Processing.(text-char ch)
- removed from Processing.(size)
- was deprecated in 1.7.0, removed.(text s x1 y1 x2 y2 z)
- removed from Processing.(quil-version)
- didn't work correctly since 1.0, removed. We haveproject.clj
for that.(image img x y c d u1 v1 u2 v2)
- not an official processing API.(request-image path ext)
- version without ext should be sufficient.(load-pixels)
- reduntant because of(pixels)
.(create-input)
,(create-input-raw)
- useclojure.java.io/input-stream
instead.(create-output)
- useclojure.java.io/output-stream
instead.(begin-raw graphics)
- not an official processing API.(begin-record)
,(end-record)
- not compatible with current architecture: everything is drawn on graphics instead of applet.
12th February 2014
- New with-graphics, with-fill, with-stroke macros.
- New on-close and mouse-wheel handlers.
- Fixed bugs: bezier-vertex, focused, no-loop.
- Removed
(specular gray alpha)
and(specular x y z a)
functions: doesn't exist in Processing 1.5.1. Removed(text-width ch)
function: doesn't work in Processing 1.5.1 correctly.
7th July 2012
- Add
debug
fn for printing and forcing the current thread to sleep. - Add
key-coded?
for determining whether the currently pressed key is coded i.e. a special character. - Add
key-as-keyword
for returning the currently pressed key as a keyword.
16th June 2012
- Add elementary cellular automata example by Andrew Cholakian
- Add new fn:
target-frame-rate
which returns the target framerate specified with the fnframe-rate
. - Add keyword render modes to
create-graphics
- Allow modes to be passed as constants in addition to their keyword shortcuts.
- Bugfix: fix exception in
mouse-button
- thanks to Dan Lidral-Porter.
30th April 2012
- Bugfix - fixed bug with text-align throwing an exception
29th April 2012
- Allow pdf/dxf output file to be specified in sketch options :output-file
- Override exit fn to not kill the current process.
- Use exit to ensure pdf/dxf file is written.
19th April 2012
Update for Clojure 1.4.0 compatibility
11th April 2012
Additions:
- Catch exceptions in draw fn by default and print exceptions to stdout. Each exception caught also causes the draw fn to sleep for 1s to throttle exception printing. This can be turned off by specifying
:safe-draw-fn false
in the sketch options.
11th April 2012
Additions:
- Added
:decor
sketch option to allow user to toggle frame decorations.
Fixes:
- Fixed outdated sketch docstring.
7th April 2012
First release!