Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
bc2bc02
Add functioning brush resolution
StickmanRed Jul 8, 2026
7adf7ff
Add brush smoothness slider to inspector
StickmanRed Jul 8, 2026
5a4d4bc
Fix brush stroke getting cut off and offset from browser zoom
StickmanRed Jul 8, 2026
28491c7
Add some test sliders for paper.js tolerance and smoothness factor ex…
StickmanRed Jul 13, 2026
f2847ec
normalized inspector smoothness slider
StickmanRed Jul 13, 2026
2d66e13
Make brush resolution a setting
StickmanRed Jul 14, 2026
a288b2c
Remove unused smoothness property
StickmanRed Jul 14, 2026
0c599e4
Modify easing of brush resolution setting
StickmanRed Jul 14, 2026
2e572be
Merge branch 'development' into StickmanRed-brush-resolution-setting
Alani25 Aug 1, 2026
59cf8cb
scale croquis canvas by canvas scale factor (bug fix)
Alani25 Aug 1, 2026
a568862
moved brush ui to inspector
Alani25 Aug 1, 2026
9b9445c
added brush UI to inspector
Alani25 Aug 1, 2026
d82eff4
added brush spacing and potrace detail brush sliders
Alani25 Aug 1, 2026
e84e967
brush settings - added labels and reset slider buttons
Alani25 Aug 1, 2026
3630600
fixed fmmpeg issue by fixing file path
Alani25 Aug 15, 2026
7030386
ffmpeg-core issue fix
Alani25 Aug 15, 2026
ea36d79
brush shape and inspector setting fixes
Alani25 Aug 15, 2026
8661632
fixed brush spread bug
Alani25 Aug 16, 2026
6233098
random rotation
Alani25 Aug 16, 2026
6a29294
fixed ffmpeg build
Alani25 Sep 6, 2026
bf3c986
custom brush preview
Alani25 Sep 6, 2026
1a20b52
increased spread lower range limit to 1e-2 to avoid bug
Alani25 Sep 6, 2026
1a68b9e
custom brush preview
Alani25 Sep 7, 2026
66dd3cb
update brush preview more frequently
Alani25 Sep 7, 2026
77a2306
reso default set to 0.75
Alani25 Sep 7, 2026
d09d132
increased brush preview resolution
Alani25 Sep 7, 2026
eb846f7
color changes update custom brush preview
Alani25 Sep 7, 2026
e30f9ba
added brush size slider to custom brush settings
Alani25 Sep 7, 2026
2935f3d
presets of saved brushes
Alani25 Sep 7, 2026
7e71ff4
added default brush preset
Alani25 Sep 7, 2026
2b666e2
saving brush presets to local storage
Alani25 Sep 7, 2026
2519de9
removed soft circle shape option (former test option)
Alani25 Sep 7, 2026
7ca4559
creating brush shapes from path objects
Alani25 Sep 7, 2026
0cba4c2
apply custom brush shapes to preview
Alani25 Sep 7, 2026
42c1014
added black version of icons for custom brush inspector buttons
Alani25 Sep 7, 2026
314ef5b
added brush preset and shape delete buttons
Alani25 Sep 7, 2026
51b02dc
disabled deleting shapes being used by other presets
Alani25 Sep 7, 2026
5af52ee
brush preset name parameter
Alani25 Sep 7, 2026
403a37a
brush sets inspector title
Alani25 Sep 7, 2026
f7c6f0d
adjusted brush preview to be more accurate
Alani25 Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions engine/lib/croquis.js
Original file line number Diff line number Diff line change
Expand Up @@ -1293,6 +1293,7 @@ Croquis.Brush = function () {
clone.setSpacing(this.getSpacing());
clone.setAngle(this.getAngle());
clone.setRotateToDirection(this.getRotateToDirection());
clone.setRandomAngle(this.getRandomAngle());
clone.setNormalSpread(this.getNormalSpread());
clone.setTangentSpread(this.getTangentSpread());
clone.setImage(this.getImage());
Expand Down Expand Up @@ -1351,6 +1352,13 @@ Croquis.Brush = function () {
this.setRotateToDirection = function (value) {
rotateToDirection = value;
};
var randomAngle = false;
this.getRandomAngle = function () {
return randomAngle;
};
this.setRandomAngle = function (value) {
randomAngle = value;
};
var normalSpread = 0;
this.getNormalSpread = function () {
return normalSpread;
Expand Down Expand Up @@ -1458,6 +1466,7 @@ Croquis.Brush = function () {
var nr = normalSpread * scaledSize * spreadRandom();
var tr = tangentSpread * scaledSize * spreadRandom();
var ra = rotateToDirection ? angle + dir : angle;
if (randomAngle) ra += random() * ONE;
var width = scaledSize;
var height = width * imageRatio;
var boundWidth = abs(height * sin(ra)) + abs(width * cos(ra));
Expand Down
34 changes: 34 additions & 0 deletions engine/src/ToolSettings.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,20 @@ Wick.ToolSettings = class {
min: 0,
max: 100,
step: 1,
}, {
type: "number",
name: 'brushResolution',
default: 0.75,
min: 0,
max: 1,
step: 0.01,
}, {
type: "number",
name: 'brushSpacing',
default: 0.2,
min: 0.05,
max: 1.0,
step: 0.05,
}, {
type: "boolean",
name: 'pressureEnabled',
Expand Down Expand Up @@ -108,6 +122,26 @@ Wick.ToolSettings = class {
name: 'brushMode',
default: 'none',
options: ['none', 'behind', 'inside']
}, {
type: "choice",
name: 'brushShape',
default: 'circle',
options: ['circle','square','rect','chisel','diamond','triangle','star','sparkle','leaf','rough','scatter','cross','crescent','hexagon'],
}, {
type: "boolean",
name: 'brushScatterEnabled',
default: false,
}, {
type: "number",
name: 'brushScatterAmount',
default: 0.3,
min: 0.01,
max: 1.0,
step: 0.01,
}, {
type: "boolean",
name: 'brushRandomRotation',
default: false,
}];
}

Expand Down
Loading