Skip to content

Commit

Permalink
Merge pull request #110 from jbunke/0.5.0-dev-branch
Browse files Browse the repository at this point in the history
0.5.0 dev branch
  • Loading branch information
jbunke authored Jun 12, 2024
2 parents e398ea2 + d56acb9 commit 868e99a
Show file tree
Hide file tree
Showing 216 changed files with 5,606 additions and 2,316 deletions.
77 changes: 74 additions & 3 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,76 @@
# Changelog

## **0.5.0** - 2024-06-12

### Added:
* Added tools
* Shape tool (hotkey *R*)
* Script brush (hotkey *Q*)
* Polygon Select now has a "close polygon" shortcut (*Shift + Left Click*)
* Images can now be pasted from the system clipboard
* Added themes:
* Asylum
* Ramallah
* Added "snap to target pixel" behaviour (*Shift + Enter*)
* Stretch operation can now be snapped to the pixel grid by holding *Shift*
* Added relative frame durations so some frames can be displayed for more or less time than others
* Added history dialog (*Shift + Y*) where users can browse all cached project states and revert to any of them
* Added playback controls to preview dialogs
* Added keyboard controls to the preview window's playback controls

### Changed:
* Optimized selection overlays
* Optimized selection logic
* Optimized search algorithm (Wand and Fill tools)
* Now discards intermediate (granular) project states after five new checkpoint project states
* Updated themes:
* Zo
* Neon
* Bunkering
* Move selection and pick up selection action previews are rendered in a different style
* Changed frame limit from 100 to 300 and layer limit from 100 to 50
* Increased maximum canvas bounds to 1920 x 1080 pixels
* Improved selection transform node manipulation

### Fixed:
* Bug: PIXEL_GRID_ON_BY_DEFAULT setting flag is not persistent

### API Changes:
* Added:
* `project` frame duration functions:
* ```js
P.get_frame_duration(int i) -> float
```
* ```js
P.get_frame_durations() -> float[]
```
* ```js
P.set_frame_duration(int i, float frame_duration);
```

* Changed:
* Separated selection from scope in color actions
* Modified `scope` enumeration:
```js
0: PROJECT
1: LAYER
2: FRAME
3: LAYER_FRAME
```
* Changed `project` color action function signatures:
* ```js
P.palettize(palette pal, int scope, bool include_disabled, bool ignore_selection);
```
* ```js
P.extract_to_pal(palette pal, int scope, bool include_disabled, bool ignore_selection);
```
* ```js
P.hsv_shift(int scope, bool include_disabled, bool ignore_selection, int h_shift, N s_shift, N v_shift);
```
* ```js
P.color_script(int scope, bool include_disabled, bool ignore_selection, string script_path);
```

## **0.4.2** - 2024-05-26

### Added:
Expand Down Expand Up @@ -46,11 +117,11 @@
* Added HSV level shifting
* Added "Flatten project" layer action
* Added themes
* Added "Zo" theme inspired by Haiti
* Added "Zo" theme inspired by Haitian culture and African diasporic religions
* Added "Neon" theme
* Added "Bunkering" theme inspired by the environmental degradation the Niger Delta
* Added "Bunkering" theme inspired by the environmental degradation of the Niger Delta
* Added transparency checkerboard to the color slider core
* Dialog menus can now be closed by pressing {Enter} if the precondition is passing
* Dialog menus can now be closed by pressing *Enter* if the precondition is passing
* Added settings for windowed program size
* Added flag to include or exclude disabled layers in color actions

Expand Down
62 changes: 60 additions & 2 deletions res/blurbs/__changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
{0.5.0} - The Performance Update - 2024-06-12

Added:
> Added tools
> Shape tool (hotkey {R})
> Script brush (hotkey {Q})
> Polygon Select now has a "close polygon" shortcut ({Shift + Left Click})
> Images can now be pasted from the system clipboard
> Added themes:
> Asylum
> Ramallah
> Added "snap to target pixel" behaviour ({Shift + Enter})
> Stretch operation can now be snapped to the pixel grid by holding {Shift}
> Added relative frame durations so some frames can be displayed for more or less time than others
> Added history dialog ({Shift + Y}) where users can browse all cached project states and revert
to any of them
> Added playback controls to preview dialogs
> Added keyboard controls to the preview window's playback controls

Changed:
> Optimized selection overlays
> Optimized selection logic
> Optimized search algorithm (Wand and Fill tools)
> Now discards intermediate (granular) project states after five new checkpoint project states
> Updated themes:
> Zo
> Neon
> Bunkering
> Move selection and pick up selection action previews are rendered in a different style
> Changed frame limit from 100 to 300 and layer limit from 100 to 50
> Increased maximum canvas bounds to 1920 x 1080 pixels
> Improved selection transform node manipulation

Fixed:
> Bug: PIXEL_GRID_ON_BY_DEFAULT setting flag is not persistent

API Changes:
Added:
> {project} frame duration functions:
> P.{get_frame_duration}(int i) -> float
> P.{get_frame_durations}() -> float[]
> P.{set_frame_duration}(int i, float frame_duration);

Changed:
> Separated selection from scope in color actions
> Modified {scope} enumeration:
{0: PROJECT}
{1: LAYER}
{2: FRAME}
{3: LAYER_FRAME}

> Changed {project} color action function signatures:
> P.{palettize}(palette pal, int scope, bool include_disabled, bool ignore_selection);
> P.{extract_to_pal}(palette pal, int scope, bool include_disabled, bool ignore_selection);
> P.{hsv_shift}(int scope, bool include_disabled, bool ignore_selection,
int h_shift, N s_shift, N v_shift);
> P.{color_script}(int scope, bool include_disabled, bool ignore_selection, string script_path);

{0.4.2} - 2024-05-26

Added:
Expand Down Expand Up @@ -41,9 +99,9 @@ Added:
> Added HSV level shifting
> Added "Flatten project" layer action
> Added themes
> Added "Zo" theme inspired by Haiti
> Added "Zo" theme inspired by Haitian culture and African diasporic religions
> Added "Neon" theme
> Added "Bunkering" theme inspired by the environmental degradation the Niger Delta
> Added "Bunkering" theme inspired by the environmental degradation of the Niger Delta
> Added transparency checkerboard to the color slider core
> Dialog menus can now be closed by pressing {Enter} if the precondition is passing
> Added settings for windowed program size
Expand Down
1 change: 1 addition & 0 deletions res/blurbs/__general.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Window / layout:
Toggle fullscreen / windowed mode: {Escape}
Recenter canvas in workspace: {Enter}
Center the canvas around the target pixel: {Shift + Enter}
Toggle show all UI / minimal UI mode: {Ctrl + Shift + A}
Set checkerboard and pixel grid cell dimensions to project/selection bounds: {Ctrl + B}

Expand Down
18 changes: 4 additions & 14 deletions res/blurbs/__roadmap.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
This is a rough outline of planned features and when to expect them. Everything you see here is
subject to change.

{0.5.0} - The Performance Update - Late May 2024

Add:
> Paste images from the system clipboard

Change:
> Implement massive performance optimizations to make the program faster and less demanding
on the machine
> Overhaul the move selection and pick up selection tools

Fix:
> Memory issues and related crashes

{1.0.0} - Official Release - Early June 2024
{Q3 2024}
> Timeline: frames and layers combined in a single UI panel
> Lossless video export
> Presets for common scriptable behaviours
3 changes: 3 additions & 0 deletions res/blurbs/frame_properties.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Shortcut: {Shift + F}

Displays a dialog where the frame's properties can be modified
3 changes: 3 additions & 0 deletions res/blurbs/history.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Shortcut: {Shift + Y}

Opens a dialog that lists all the retained major project states, any of which can be reverted to.
2 changes: 1 addition & 1 deletion res/blurbs/layer_settings.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Shortcut: {Shift + L}

Opens all the layer's settings and properties in one place
Displays a dialog where the layer's settings and properties can be modified

The layer's opacity can be adjusted from here.
1 change: 1 addition & 0 deletions res/blurbs/move_selection.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Move: {Click & Drag} or {Arrow Keys}
* Only works with {Click & Drag}, not with {Arrow Keys}

Stretch: {Click & Drag} on one of the transform nodes
If the pixel grid is on, hold {Shift} to snap the stretch operation to the pixel grid.

Rotate: {Click & Drag} around one of the transform nodes
Modify the rotation operation to snap to the nearest 45-degree angle by holding {Shift}.
Expand Down
1 change: 1 addition & 0 deletions res/blurbs/pick_up_selection.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Move: {Click & Drag} or {Arrow Keys}
* Only works with {Click & Drag}, not with {Arrow Keys}

Stretch: {Click & Drag} on one of the transform nodes
If the pixel grid is on, hold {Shift} to snap the stretch operation to the pixel grid.

Rotate: {Click & Drag} around one of the transform nodes
Modify the rotation operation to snap to the nearest 45-degree angle by holding {Shift}.
6 changes: 0 additions & 6 deletions res/blurbs/pixel_grid_on.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1 @@
Toggle pixel grid on/off: {Ctrl + G}

The pixel grid can only be displayed at a minimum zoom level of {400%}. The amount of pixels between
each grid along the X and Y axes can be set in the program settings.

Due to performance considerations, the pixel grid can currently only be turned on for projects with
a maximum canvas size of {128x128 pixels}.
1 change: 1 addition & 0 deletions res/blurbs/polygon_select.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ the bounds of the selection. To close the polygon, place a vertex down on the sa
the shape began.

Place vertex: {Left Click}
Close polygon: {Shift + Left Click}
Remove previous vertex: {Right Click}
Reset: {Middle Click}

Expand Down
12 changes: 12 additions & 0 deletions res/blurbs/script_brush.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Shortcut: {Q}

The script brush paints applies a color script transformation to the pixel that it paints over.

Use existing color as input: {Click & Drag}

Use primary color as input: {Shift + Left Click + Drag}
Use secondary color as input: {Shift + Right Click + Drag}

Hold {Ctrl} to ignore transparent pixels of the layer-frame.

Increment/decrement brush width: {Arrow Keys} or {Shift + Scroll Wheel}
2 changes: 1 addition & 1 deletion res/blurbs/shade_brush.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Shortcut: {D}

Works like the regular {brush} tool, but shifts the color of a pixel that is {drawn over} to one of
Works like the regular {Brush} tool, but shifts the color of a pixel that is {painted over} to one of
the colors next to it in the current palette {if the pixel's initial color is in the palette}.

Replace with left-adjacent color in palette: {Left Click & Drag}
Expand Down
10 changes: 10 additions & 0 deletions res/blurbs/shape_tool.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Shortcut: {R}

The shape tool plots a shape of a determined pixel width.

Primary color: {Left Click & Drag}
Secondary color: {Right Click & Drag}

Snap a rectangle to a square or an ellipse to a circle by holding {Shift}.

Increment/decrement brush width: {Arrow Keys} or {Shift + Scroll Wheel}
2 changes: 1 addition & 1 deletion res/blurbs/text_tool.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Start typing: {Click}
Increment/decrement font scale factor: {Down/Up Arrow Keys} or {Shift + Scroll Wheel}
Navigate to previous/next font: {Left/Right Arrow Keys}
Toggle text alignment: {Ctrl + K}
Upload new font: {Shift + F}
Upload new font: {Shift + T}

(While typing)
Modify text: < type as normal >
Expand Down
Binary file modified res/cursors/move_selection_diag_bl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified res/cursors/move_selection_diag_tl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/cursors/no_script.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified res/cursors/pick_up_selection_diag_bl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified res/cursors/pick_up_selection_diag_tl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/icons/frame_properties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/icons/history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/icons/script_brush.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/icons/shape_tool.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions res/program
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name:{Stipple Effect}
version:{0.4.2}
version:{0.5.0}
devbuild:{false}
native_standard:{1.1}
native_standard:{1.2}
palette_standard:{1.0}
Binary file added res/themes/asylum/splash_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_12.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_13.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_17.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_18.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_19.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/themes/asylum/splash_6.png
Binary file added res/themes/asylum/splash_7.png
Binary file added res/themes/asylum/splash_8.png
Binary file added res/themes/asylum/splash_9.png
Binary file added res/themes/bunkering/splash_0.png
Binary file added res/themes/bunkering/splash_1.png
Binary file added res/themes/bunkering/splash_2.png
Binary file added res/themes/bunkering/splash_3.png
Binary file added res/themes/bunkering/splash_4.png
Binary file added res/themes/bunkering/splash_5.png
Binary file added res/themes/bunkering/splash_6.png
Binary file added res/themes/bunkering/splash_7.png
Binary file added res/themes/bunkering/splash_8.png
Binary file added res/themes/bunkering/splash_9.png
Binary file added res/themes/neon/splash_0.png
Binary file added res/themes/neon/splash_1.png
Binary file added res/themes/neon/splash_2.png
Binary file added res/themes/neon/splash_3.png
Binary file added res/themes/neon/splash_4.png
Binary file added res/themes/neon/splash_5.png
Binary file added res/themes/neon/splash_6.png
Binary file added res/themes/neon/splash_7.png
Binary file added res/themes/ramallah/keffiyeh.png
Binary file added res/themes/ramallah/splash_0.png
Binary file added res/themes/ramallah/splash_1.png
Binary file added res/themes/ramallah/splash_2.png
Binary file added res/themes/ramallah/splash_3.png
Binary file added res/themes/ramallah/splash_4.png
Binary file added res/themes/ramallah/splash_5.png
Binary file added res/themes/ramallah/splash_6.png
Binary file added res/themes/ramallah/splash_7.png
Binary file added res/themes/ramallah/splash_8.png
Binary file added res/themes/ramallah/splash_9.png
Binary file added res/themes/zo/splash_0.png
Binary file added res/themes/zo/splash_1.png
Binary file added res/themes/zo/splash_10.png
Binary file added res/themes/zo/splash_11.png
Binary file added res/themes/zo/splash_2.png
Binary file added res/themes/zo/splash_3.png
Binary file added res/themes/zo/splash_4.png
Binary file added res/themes/zo/splash_5.png
Binary file added res/themes/zo/splash_6.png
Binary file added res/themes/zo/splash_7.png
Binary file added res/themes/zo/splash_8.png
Binary file added res/themes/zo/splash_9.png
Binary file added res/themes/zo/veve.png
1 change: 1 addition & 0 deletions res/tooltips/frame_properties.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Frame properties... | {Shift + F}
1 change: 1 addition & 0 deletions res/tooltips/history.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
History... | {Shift + Y}
2 changes: 1 addition & 1 deletion res/tooltips/new_font.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
New font... | {Shift + F}
New font... | {Shift + T}
1 change: 1 addition & 0 deletions res/tooltips/script_brush.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Script Brush | {Q}
1 change: 1 addition & 0 deletions res/tooltips/shape_tool.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Shape Tool | {R}
18 changes: 4 additions & 14 deletions roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,7 @@
This is a rough outline of planned features and when to expect them. Everything you see here is
subject to change.

## **0.5.0** - The Performance Update - Late May 2024

### Add:
* Paste images from the system clipboard

### Change:
* Implement massive performance optimizations to make the program faster and less demanding
on the machine
* Overhaul the move selection and pick up selection tools

### Fix:
* Memory issues and related crashes

## **1.0.0** - Official Release - Early June 2024
## Q3 2024
* Timeline: frames and layers combined in a single UI panel
* Lossless video export
* Presets for common scriptable behaviours
Loading

0 comments on commit 868e99a

Please sign in to comment.