Skip to content

Commit 027f6aa

Browse files
pjt222claude
andcommitted
Release jigsawR v0.4.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7bae97f commit 027f6aa

2 files changed

Lines changed: 96 additions & 31 deletions

File tree

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: jigsawR
22
Type: Package
33
Title: R Translations of JavaScript Jigsaw Puzzle Generators
4-
Version: 0.1.0
4+
Version: 0.4.0
55
Authors@R:
66
person("Philipp", "Thoss", , "ph.thoss@gmx.de", role = c("aut", "cre"),
77
comment = c(ORCID = "0000-0002-4672-2792"))

NEWS.md

Lines changed: 95 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,101 @@
1+
# jigsawR 0.4.0
2+
3+
## New Features
4+
5+
* **SNIC superpixel puzzle type** with image-aware boundary segmentation and
6+
synthetic mode for use without input images (#80)
7+
* **Voronoi puzzle type** using Fermat spiral cell generation (#42)
8+
* **Random shape puzzle type** via Delaunay triangulation (#41)
9+
* **ggplot2 integration**: `geom_puzzle_rect()`, `geom_puzzle_hex()`,
10+
`geom_puzzle_conc()`, `geom_puzzle_vor()`, `geom_puzzle_rnd()`,
11+
`geom_puzzle_snic()` layer functions with `stat_puzzle()` and
12+
`theme_puzzle()` (#54)
13+
* **Fusion rendering** for all puzzle types including voronoi and random,
14+
with `fusion_style` and `fusion_opacity` parameters (#68)
15+
* **`fill_direction` parameter** for spatial color ordering across piece fills
16+
* **`fill_palette` parameter** for ggpuzzle geom functions
17+
* **`show_labels` parameter** for ggpuzzle label display
18+
* **Min/max tab size constraints** for all puzzle types (#41, #42, #76)
19+
* **Tabsize normalization** with unified formula and defaults across all
20+
puzzle types
21+
* **Rcpp C++ optimizations** for Bezier curve computation and SVG path
22+
translation
23+
* **RNG batch optimization** integrated into puzzle generators (#65)
24+
* **Cached segment extraction** for ~40x faster coordinate parsing
25+
* **Quarto documentation site** with dark mode toggle and gallery pages
26+
(#62, #69)
27+
28+
## Shiny Application
29+
30+
* Dark mode support with CSS contrast improvements
31+
* SNIC puzzle type in navigation
32+
* Nested accordion UI with slider enhancements (#75)
33+
* Fusion styling updates without regeneration
34+
* Voronoi and Random puzzle types in UI (#41, #42)
35+
* Tab size constraint controls
36+
37+
## Bug Fixes
38+
39+
* Fixed blank PNG rendering in Quarto with `theme_puzzle()` addition
40+
* Fixed Y-axis inversion for voronoi/random `fill_direction`
41+
* Fixed fusion edge rendering with lower Bezier resolution for dashed edges
42+
* Fixed missing boundary strokes and edge segment tracking for voronoi/random
43+
* Fixed offset parameter wiring through geom functions
44+
* Fixed blank images when `ggplot()` has no data
45+
* Fixed gradient test compatibility with ggplot2 4.0 S7 objects
46+
* Fixed PILES keyword tokenization and row/column piece lookups
47+
* Fixed size parameter order standardized to `c(height, width)`
48+
* Fixed `%||%` operator to use rlang
49+
* Resolved 15 pre-existing test failures
50+
* SNIC: handle non-matrix labels, platform-robust adjacency tests
51+
52+
## CI/CD
53+
54+
* Full R-CMD-check matrix: windows, macOS, ubuntu (release, devel, oldrel-1)
55+
* Quarto site publishing workflow
56+
* Shiny app deployment workflow
57+
* RCDT archived package handled via `Remotes` field
58+
* Increased CI timeout for oldrel-1 source compilation
59+
60+
## Documentation
61+
62+
* Quarto documentation site with API/ggpuzzle side-by-side tabsets
63+
* Responsive SVG embedding with `htmltools`
64+
* Gallery pages with fusion group examples
65+
* README redesigned as attractive entry point (#63)
66+
* GPL-3 license boilerplate expanded
67+
68+
## Internal
69+
70+
* Split `unified_renderer.R` into modular renderer files
71+
* Consolidated duplicated code across tessellation puzzle types
72+
* CRAN compliance remediation (#81-#85)
73+
* Namespace cleanup and performance refactoring
74+
* Test suite expanded to 2,200+ tests
75+
76+
# jigsawR 0.3.0
77+
78+
## Features
79+
80+
* Concentric ring puzzle type with configurable center shapes
81+
* PILES notation (Puzzle Input Line Entry System) for piece fusion groups
82+
* Noise-based fill patterns
83+
* Individual piece extraction and export
84+
* Repel layout for separated piece positioning
85+
86+
# jigsawR 0.2.0
87+
88+
## Features
89+
90+
* Hexagonal puzzle type with circular warping and edge truncation
91+
* Gradient background support
92+
* Seed-based deterministic generation
93+
194
# jigsawR 0.1.0
295

396
## Initial Release
497

5-
### Puzzle Types
698
* Rectangular jigsaw puzzles with configurable grid dimensions
7-
* Hexagonal puzzles with circular warping and edge truncation
8-
* Concentric ring puzzles with configurable center shapes
9-
* Voronoi puzzles using Fermat spiral cell generation
10-
* Random shape puzzles via Delaunay triangulation
11-
* SNIC superpixel puzzles with image-aware segmentation
12-
13-
### Core Features
14-
* `generate_puzzle()` unified API for all puzzle types
99+
* `generate_puzzle()` unified API
15100
* High-quality SVG output with configurable piece separation
16-
* PILES notation (Puzzle Input Line Entry System) for piece fusion groups
17-
* Seed-based deterministic generation for reproducibility
18-
* Gradient and noise-based fill patterns
19-
* Individual piece extraction and export
20-
21-
### ggplot2 Integration
22-
* `geom_puzzle_rect()`, `geom_puzzle_hex()`, `geom_puzzle_conc()`,
23-
`geom_puzzle_vor()`, `geom_puzzle_rnd()`, `geom_puzzle_snic()` layer functions
24-
* `stat_puzzle()` for computing puzzle geometries
25-
* `theme_puzzle()` for clean puzzle visualization
26-
* Fusion-aware rendering with configurable fill and stroke palettes
27-
28-
### Shiny Application
29-
* Interactive puzzle generator with live preview
30-
* Dark mode support
31-
* PNG and SVG download options
32-
* Configurable styling (fills, strokes, labels, backgrounds)
33-
34-
### Performance
35-
* Rcpp-accelerated Bezier curve computation and SVG path translation
36-
* Optional parallel processing support via future/furrr
101+
* Shiny web application with live preview and PNG/SVG downloads

0 commit comments

Comments
 (0)