Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
2983e0b
step loop efficiency
jo-pol Dec 10, 2025
f418ecb
blooper on panel-test.html
jo-pol Dec 11, 2025
d93436a
bloeper fixed, styled diagrams
jo-pol Dec 12, 2025
3f53b93
viewport for mobile devices
jo-pol Dec 12, 2025
53bfcaf
single diagram, radios select type
jo-pol Dec 12, 2025
79c3ad1
fix first API demo
jo-pol Dec 13, 2025
bae7f30
two force configurations, pair+thread panel
jo-pol Dec 14, 2025
80becf5
added missing argument
jo-pol Dec 14, 2025
dccdddc
unique constants
jo-pol Dec 14, 2025
09547fd
white space
jo-pol Dec 14, 2025
b7d4be8
event handling, preparing md version
jo-pol Dec 14, 2025
eb9930f
cleanup
jo-pol Dec 14, 2025
4056663
stitch input + rename
jo-pol Dec 15, 2025
f802eab
typo
jo-pol Dec 15, 2025
01c69e2
styling
jo-pol Dec 15, 2025
4da45a7
styling
jo-pol Dec 15, 2025
578b364
horizontal line
jo-pol Dec 15, 2025
4f16e17
mark dirty stitches in pair diagram
jo-pol Dec 17, 2025
475c268
assiging stitches and recipes
jo-pol Dec 17, 2025
f94db4d
neutral title, styling, initial values
jo-pol Dec 17, 2025
14480de
styling
jo-pol Dec 17, 2025
f0281da
styling
jo-pol Dec 17, 2025
c262d63
styling
jo-pol Dec 17, 2025
7739185
reduced working title
jo-pol Dec 17, 2025
f775e69
steps in query
jo-pol Dec 17, 2025
5cd0046
blooper
jo-pol Dec 18, 2025
9b3886f
radios replaced with twisters
jo-pol Dec 18, 2025
8d4d99a
image size
jo-pol Dec 18, 2025
d6478a4
panel captions
jo-pol Dec 18, 2025
9e64282
no public test page, less duplication
jo-pol Dec 19, 2025
07647c5
layout
jo-pol Dec 19, 2025
cd5c832
layout
jo-pol Dec 19, 2025
488d4d0
gallery
jo-pol Dec 19, 2025
13028fe
gallery images
jo-pol Dec 19, 2025
74186b8
gallery height, updated todo's, borrowed sidebar
jo-pol Dec 19, 2025
add8c02
torcon base pattern
jo-pol Dec 19, 2025
e091e3a
attempt to reproduce initial mix4snow
jo-pol Dec 19, 2025
929b970
attempt to reproduce initial mix4snow
jo-pol Dec 19, 2025
e7b910a
implemented flip
jo-pol Dec 21, 2025
69584f0
method prefix for flip both
jo-pol Dec 22, 2025
db29a3f
link to updated pattern, layout, refactoring
jo-pol Dec 23, 2025
092b3ba
fix images for test-docs version
jo-pol Dec 24, 2025
12ff9d9
fix flipping
jo-pol Dec 24, 2025
0044d98
fix link to updated pattern
jo-pol Dec 24, 2025
30700e7
layout
jo-pol Dec 24, 2025
783c07f
layout
jo-pol Dec 24, 2025
8e14387
layout
jo-pol Dec 24, 2025
96b01e3
layout
jo-pol Dec 24, 2025
80eaa36
broken link
jo-pol Dec 25, 2025
1c3665c
moved drostemixer to API/hybrid
jo-pol Dec 25, 2025
c789f21
broken links
jo-pol Dec 25, 2025
bccc52d
toc update
jo-pol Dec 25, 2025
cabc4fe
collecting tile configurations
jo-pol Dec 27, 2025
5bad43f
collecting tile configurations
jo-pol Dec 27, 2025
44cadaa
collecting tile configurations (embedded)
jo-pol Dec 27, 2025
3ea3727
panel for tile configurations
jo-pol Dec 27, 2025
a59420e
panel for tile configurations
jo-pol Dec 27, 2025
5b22b38
panel for tile configurations
jo-pol Dec 27, 2025
2e72995
clean up and scale down
jo-pol Dec 28, 2025
d296888
scale down more
jo-pol Dec 28, 2025
ca1bdcd
scale from svg to group
jo-pol Dec 28, 2025
2cb98bf
scale further
jo-pol Dec 28, 2025
bcd3e10
changing width/height scales
jo-pol Dec 28, 2025
ffb8dcb
tile links active
jo-pol Dec 28, 2025
ff3dd05
root relative links
jo-pol Dec 28, 2025
e077b18
boomerangs
jo-pol Dec 28, 2025
94569ef
more links, most tiles max 4 stitches
jo-pol Dec 28, 2025
4ed684d
more tiles with max 4 stitches
jo-pol Dec 29, 2025
e34ec06
scroll if too little is visible
jo-pol Dec 29, 2025
f433638
bring pair diagram into view
jo-pol Dec 29, 2025
4e3269d
stand alon pattern gallery
jo-pol Dec 29, 2025
4ed7510
move files
jo-pol Dec 29, 2025
37e96ba
selector
jo-pol Dec 29, 2025
5ddf8e2
selector
jo-pol Dec 29, 2025
f2fafd3
id
jo-pol Dec 29, 2025
0bd1c33
todo
jo-pol Dec 29, 2025
39be8ad
restored grid, grouped variants
jo-pol Dec 30, 2025
54c8489
show all variants with modify link
jo-pol Dec 30, 2025
ef5601f
fix not found
jo-pol Dec 30, 2025
84a2ca0
todo's, fix page for local testing
jo-pol Dec 30, 2025
ef1caf3
updated todo
jo-pol Dec 30, 2025
01a9389
fixed footside
jo-pol Dec 30, 2025
52eeee1
fixed footside
jo-pol Dec 30, 2025
a7b8f67
reuse tile gallery on hybrid
jo-pol Dec 30, 2025
781366e
two links per preview panel
jo-pol Dec 30, 2025
6df2c8b
merged arguments for GF_panel.load
jo-pol Dec 30, 2025
b9a925d
notes
jo-pol Dec 30, 2025
9c08d8d
compact preview panels
jo-pol Dec 31, 2025
562bd60
scroll preview panels into view
jo-pol Dec 31, 2025
cf377fb
reuse code for conditional scrolling
jo-pol Dec 31, 2025
e6670fa
implemented gallery toggle
jo-pol Dec 31, 2025
a1f7249
reworded nii galleries
jo-pol Dec 31, 2025
549c89e
broken links and sizing
jo-pol Dec 31, 2025
4346e53
implemented gallery for 4/8 pair snow
jo-pol Jan 1, 2026
5ea0c30
fixed broom, cleanup gallery images, sanitize url query
jo-pol Jan 2, 2026
21debb9
legend
jo-pol Jan 2, 2026
00554a5
updated todo's
jo-pol Jan 2, 2026
0d8a85a
no duplicates, sorted
jo-pol Jan 2, 2026
eed4781
little details
jo-pol Jan 2, 2026
a538401
little details
jo-pol Jan 2, 2026
d5efe92
fixed gallery switching
jo-pol Jan 3, 2026
2a846e8
css in separate file
jo-pol Jan 9, 2026
dcc332e
not found css
jo-pol Jan 9, 2026
8e45613
not found source files
jo-pol Jan 9, 2026
f404982
use more page width
jo-pol Jan 9, 2026
39da52c
style wip
jo-pol Jan 9, 2026
1c0fe3c
more consistent margins
jo-pol Jan 9, 2026
ba63ee3
wip
jo-pol Jan 9, 2026
c1049da
wip
jo-pol Jan 9, 2026
aabe6b8
wip
jo-pol Jan 9, 2026
e56b679
wip
jo-pol Jan 9, 2026
dd1b313
wip
jo-pol Jan 9, 2026
ef758be
wip
jo-pol Jan 9, 2026
03b1ea8
wip
jo-pol Jan 9, 2026
73dc2ea
smaller text not within panels
jo-pol Jan 9, 2026
39a51ac
text block left aligned
jo-pol Jan 10, 2026
3f93516
landscape pattern gallery
jo-pol Jan 10, 2026
c256700
stitches page in new style
jo-pol Jan 10, 2026
c6b43d3
debug: stitches page in new style
jo-pol Jan 10, 2026
4334997
syntax: stitches page in new style
jo-pol Jan 10, 2026
6b6802a
hide steps, gallery select for: stitches page in new style
jo-pol Jan 10, 2026
167fdcc
syntax: stitches page in new style
jo-pol Jan 10, 2026
7e920dc
syntax: stitches page in new style
jo-pol Jan 10, 2026
189ccf5
logic: stitches page in new style
jo-pol Jan 10, 2026
8064437
logic: stitches page in new style
jo-pol Jan 10, 2026
5059f56
logic: stitches page in new style
jo-pol Jan 10, 2026
46359fd
logic: stitches page in new style
jo-pol Jan 10, 2026
2333a24
help menu -> sidebar
jo-pol Jan 10, 2026
d4e6f98
sidebar details
jo-pol Jan 10, 2026
1bc427f
sidebar bullets
jo-pol Jan 10, 2026
1716368
sidebar: short catalogue lines
jo-pol Jan 11, 2026
d36747b
labels and width
jo-pol Jan 11, 2026
1c0c110
labels and width
jo-pol Jan 11, 2026
385b216
labels
jo-pol Jan 11, 2026
fb46a6a
print style
jo-pol Jan 11, 2026
6b4171b
wip
jo-pol Jan 11, 2026
b92d214
wip
jo-pol Jan 11, 2026
c92be57
wip
jo-pol Jan 11, 2026
eb2fa9f
print clutter
jo-pol Jan 11, 2026
3b6dc05
wip
jo-pol Jan 11, 2026
60c7217
wip
jo-pol Jan 11, 2026
cdbc2ef
wip
jo-pol Jan 11, 2026
bc7ae75
moved help item to soundless video's
jo-pol Jan 17, 2026
f8cee86
wip
jo-pol Jan 17, 2026
4803a36
Merge remote-tracking branch 'blessed/master'
jo-pol Jan 21, 2026
a972e7d
droste same style as stitches
jo-pol Jan 21, 2026
1b69008
droste same style as stitches
jo-pol Jan 21, 2026
310653e
droste same style as stitches
jo-pol Jan 21, 2026
0cc5835
droste same style as stitches
jo-pol Jan 21, 2026
2849b18
droste same style as stitches
jo-pol Jan 21, 2026
15f650c
droste same style as stitches
jo-pol Jan 21, 2026
398864d
show specs on droste
jo-pol Jan 21, 2026
ed3c7a4
fix broom icon on droste
jo-pol Jan 21, 2026
f1d89ee
fix invalid droste step number
jo-pol Jan 21, 2026
099fcc9
fix alpha droste step number
jo-pol Jan 21, 2026
5992b46
reduced code duplication
jo-pol Jan 22, 2026
ce0d239
a start with jsdoc
jo-pol Jan 22, 2026
8b86fe5
jsdoc workflow
jo-pol Jan 23, 2026
ac461c3
jsdoc workflow
jo-pol Jan 23, 2026
97128e2
improved jsdoc comments
jo-pol Jan 23, 2026
8cfa9d2
improved jsdoc comments
jo-pol Jan 23, 2026
f638254
improved jsdoc comments
jo-pol Jan 23, 2026
06c3fd0
upload all
jo-pol Jan 23, 2026
79b3ebc
selective jsdocs
jo-pol Jan 23, 2026
d53f103
jsdocs layout
jo-pol Jan 23, 2026
ddb4ae9
jsdocs layout
jo-pol Jan 23, 2026
0026d28
jsdocs layout
jo-pol Jan 23, 2026
ba815e8
jsdocs layout
jo-pol Jan 23, 2026
c5b4b80
jsdocs in pdf
jo-pol Jan 23, 2026
a32a5e0
jsdocs in pdf before upload
jo-pol Jan 23, 2026
52181fb
jsdocs in pdf
jo-pol Jan 23, 2026
cca7689
jsdocs for panels
jo-pol Jan 23, 2026
9b02782
jsdocs for releases
jo-pol Jan 24, 2026
bbf9e29
droste and stitches start differently, jsDoc
jo-pol Jan 28, 2026
239229b
mark dirty on changed step nr, allow zero
jo-pol Jan 30, 2026
2ddbb27
apply to buttons, only svg's become grey on changed step nr
jo-pol Jan 31, 2026
82df83c
step logic
jo-pol Feb 1, 2026
6171989
fix build
jo-pol Feb 2, 2026
e36583c
less error prone, WIP links to issue
jo-pol Feb 4, 2026
c57d1fd
WIP links to issue
jo-pol Feb 4, 2026
fe5a997
page title
jo-pol Feb 4, 2026
b80e0bd
apply to all for droste steps
jo-pol Feb 12, 2026
37648b4
Merge remote-tracking branch 'blessed/master'
jo-pol Feb 12, 2026
b573ee4
assign to all
jo-pol Feb 13, 2026
dd41f30
no defoult footside (ctct) when assgining ctc to all
jo-pol Feb 13, 2026
e51c9f8
stitch gallery
jo-pol Feb 14, 2026
079b4d2
stitch gallery, style
jo-pol Feb 14, 2026
870b78c
Merge remote-tracking branch 'blessed/master'
jo-pol Feb 15, 2026
cd2998a
allow multiple gellery SVG's, scaling, safe onclick's
jo-pol Feb 25, 2026
fedabf7
Merge branch 'master' into hybrid
jo-pol May 6, 2026
5ce2685
obsolete
jo-pol May 9, 2026
cb492ba
attempt to fix flipping
jo-pol May 10, 2026
99fb139
fixed flipping
jo-pol May 10, 2026
31de6e3
fixed flipping for 4/8 pairs
jo-pol May 13, 2026
7606ce1
wip
jo-pol May 13, 2026
ca5d1a6
inial step nr, notes to issue
jo-pol May 13, 2026
d91a56a
restored 3/6 flip
jo-pol May 13, 2026
d594122
random maintenance experiment
jo-pol May 14, 2026
03467f5
random maintenance experiment
jo-pol May 14, 2026
5da9b2f
random maintenance experiment
jo-pol May 14, 2026
3a756c4
error handling with toast messages
jo-pol May 14, 2026
25c3f17
validation
jo-pol May 15, 2026
d1d74de
validate tweaked stitches, capitals
jo-pol May 15, 2026
ac8e1f1
refactored
jo-pol May 16, 2026
2b7cc26
refactored
jo-pol May 17, 2026
d6fb8de
fixed regression by d1d74ded
jo-pol May 17, 2026
674f996
fixed droste bug
jo-pol May 17, 2026
aef14ed
Merge remote-tracking branch 'blessed/master' into hybrid
jo-pol May 20, 2026
4bee27e
empty basic stitch is random
jo-pol May 20, 2026
1a42c62
assign to ignored
jo-pol May 20, 2026
034ea63
update selfRef
jo-pol May 20, 2026
1c51588
refactor(hybrid): extract patternInfo and group recipe handling
jo-pol May 22, 2026
cf44729
moved flip into recipes and apply setRecipe
jo-pol May 22, 2026
65afdf5
color code
jo-pol May 23, 2026
360604c
create galleryPanels object
jo-pol May 23, 2026
b064c72
buttons for stitches gallery + random
jo-pol May 24, 2026
ff8a662
swatch size field shown
jo-pol May 24, 2026
dafac05
dice for random
jo-pol May 25, 2026
d97676e
- picture of random
MAETempels May 25, 2026
2e3b3e8
load diagrams at page load
jo-pol May 25, 2026
7301cd2
Merge remote-tracking branch 'marian/master' into hybryd
jo-pol May 25, 2026
e03130f
using new random stitch image
jo-pol May 25, 2026
6f77775
Merge remote-tracking branch 'blessed/master' into hybryd
jo-pol May 25, 2026
67b196d
isolate tweak out of recipes
jo-pol May 26, 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
91 changes: 91 additions & 0 deletions .github/workflows/jsdoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Generate JSDoc

on:
push:
branches: [ main ]
workflow_dispatch:
release:
types: [published]
jobs:
build-jsdoc:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Create temporary package.json
run: |
echo '{
"name": "temp-jsdoc",
"version": "1.0.0",
"devDependencies": {
"jsdoc": "^3.6.3",
"docdash": "^2.0.0"
}
}' > package.json

- name: Install dependencies
run: |
npm install
npm install --save-dev jsdoc-baseline

- name: Generate JSDoc
run: npx jsdoc docs/js -d docs/jsdoc -t ./node_modules/jsdoc-baseline

- name: Install Puppeteer and pdf-lib
run: npm install puppeteer pdf-lib

- name: Generate PDF from selected JSDoc HTML files
run: |
node -e "
const fs = require('fs');
const path = require('path');
const puppeteer = require('puppeteer');
const { PDFDocument } = require('pdf-lib');

(async () => {
const dir = path.join(process.cwd(), 'docs/jsdoc');
const files = fs.readdirSync(dir)
.filter(f => f.endsWith('.html') && f !== 'index.html' && !f.endsWith('.js.html'))
.map(f => path.join(dir, f));

const browser = await puppeteer.launch({args: ['--no-sandbox']});
const pdfBuffers = [];
for (const file of files) {
const page = await browser.newPage();
await page.goto('file://' + file, {waitUntil: 'networkidle0'});
const pdf = await page.pdf({format: 'A4'});
pdfBuffers.push(pdf);
await page.close();
}
await browser.close();

// Merge PDFs
const mergedPdf = await PDFDocument.create();
for (const pdfBytes of pdfBuffers) {
const pdf = await PDFDocument.load(pdfBytes);
const copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());
copiedPages.forEach((p) => mergedPdf.addPage(p));
}
const mergedBytes = await mergedPdf.save();
fs.writeFileSync(path.join(dir, 'jsdoc.pdf'), mergedBytes);
})();
"

- name: Upload JSDoc to artifact
uses: actions/upload-artifact@v4
with:
name: jsdoc
path: docs/jsdoc/jsdoc.pdf

- name: Upload PDF to GitHub Release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v2
with:
files: docs/jsdoc/jsdoc.pdf
56 changes: 33 additions & 23 deletions docs/API/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ title: API
---

* [Current User Interfaces](#current-user-interfaces)
* [Work in progress](#widgets--work-in-progress)
* [Demonstrators](#demonstrators)
* [Create your own variant](#create-your-own-variant)
* [Java environment](#java-environment)
Expand All @@ -15,60 +16,69 @@ title: API
* [pair.html](#pairhtml)
* [thread.html](#threadhtml)
* [Download SVG](#download-svg)
* [Stitch gallery](stitch-gallery)

GroundForge is a library to generate tread diagrams from pair diagrams for bobbin lace.

Current User Interfaces
=======================

* The former pattern editor is split into
* The former editor (aka the page _tiles_) is split into
* [pattern editor](/GroundForge/pattern)
* [stitches](/GroundForge/stitches)
* [droste](/GroundForge/droste)
* [nets](/GroundForge/nets)
* [snow mixer](/GroundForge/mix4snow)
* [symmetry](/GroundForge/symmetry)
* Later pages
* [nets](/GroundForge/nets)
* [snow mixer](/GroundForge/mix4snow)
* [symmetry](/GroundForge/symmetry)

Widgets / Work in progress
================

The next sections describe API's and demonstrators that caused
too much copy-pasting between the current user interfaces.
Some new scripts are started to share code between the user interfaces.

* [Stitch gallery](stitch-gallery) shares code between _nets_, _stitches_ and _droste_.
* [Panels](panels) is started to be resued on several existing pages before developing new pages.
The stitches gallery is not yet flexible enough to be used along with the panels.
* [Hybrid](../drosteMixer.md) was started to test the _panel.js_ code.
It is evolving into a page that combines functionality of
the pages _stitches_, _droste_ and a variant of the _snow mixer_.
This variant wass inspired when writing
[snow with two droste steps](/GroundForge-help/snow-mix/droste),
it connects the 3/6 pair snowflakes in an [asymmetric](//GroundForge-help/snow-mix/droste/#spiderysnowyasym-connections/) way.
By hiding or not generating certain components, the script could be used
to replace the three pages.
* A [tiling gallery](/GroundForge/tileGallery)
is emerging, stand alone and for the hybrid page.


Demonstrators
=============

A few pages are the "hello world"-s of the basic components
A few demonstrators are not covered by the widgets.
The pages listed below are some "hello world"-s of the basic components
that work together in the user interfaces.
These components can be tweaked, combined or inspire
additional user interfaces for special use cases.

[pairTest]: pair.html?patchWidth=11&patchHeight=7&j1=clrcccrrc&i1=clrcccc&h1=cccc&g1=cclllcc&f1=lclllcrrrcllcl&e1=lclllcrrcllcl&d1=cllcrrcllc&c1=ctctctctctctctc&b1=ctctctcr&a1=c&j2=crrrc&i2=ctrrc&h2=cttrc&g2=ctttc&f2=llcrrcll&e2=llctrcll&d2=cttc&c2=crc&b2=ctcr&a2=cc&j3=crrrctc&i3=ctrrctc&h3=cttrctc&g3=ctttctc&f3=lllcrrctclll&e3=lllctrctclll&d3=cttcrc&c3=crctc&b3=ctctcrr&a3=ccc&j4=crrrclc&i4=ctrrclc&h4=cttrclc&g4=ctttclc&f4=llllcrrclcllll&e4=llllctrclcllll&d4=cttclc&c4=crclc&b4=ctclcrr&a4=ctctc&j5=crrrcllc&i5=ctrrcllc&h5=cttrcllc&g5=ctttcllc&f5=crrcllc&e5=tttctrcllcttt&d5=cttcllc&c5=crcllc&b5=ctcllcrrr&a5=cttcttc&j6=crrrclllc&i6=ctrrclllc&h6=cttrclllc&g6=ctttclllc&f6=crrclllc&e6=ctrcllllc&d6=cttclllc&c6=crclllc&b6=ctclllcrrrr&a6=ctttctttc&tile=1111111111,8888888888,1111111111,8888888888,1111111111,8888888888&shiftColsSW=0&shiftRowsSW=6&shiftColsSE=10&shiftRowsSE=6
[protoSpiders]: proto.html?patchWidth=20&patchHeight=20&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
[pairSpiders]: pair.html?patchWidth=20&patchHeight=20&g1=tc&a1=ctctctcttt&l2=crcrcrclll&k2=ctctc&j2=cttcttc&i2=ctttctttc&h2=crcrc&g2=cttc&f2=clclc&e2=ctttctttc&d2=cttcttc&c2=ctctc&b2=clclclcrrr&l3=ctc&k3=ctc&j3=clllc&i3=crrcrrc&h3=clcrc&g3=cttcttc&f3=crclc&e3=cllcllc&d3=crrrc&c3=ctc&b3=ctc&a3=cc&l4=ctc&k4=cllc&j4=crrrcrrrc&i4=cllcrc&h4=cllcrrc&g4=ctttc&f4=crrcllc&e4=crrclc&d4=clllclllc&c4=crrc&b4=ctc&a4=ccc&l5=clc&k5=rctct&j5=clllcrc&i5=clllcrrc&h5=ctc&g5=ctttctttc&f5=ctc&e5=crrrcllc&d5=crrrclc&c5=lctct&b5=crc&a5=ctc&l6=rctct&k6=ctc&j6=ctc&i6=clcrclc&h6=c&f6=c&e6=clclcrc&d6=ctc&c6=ctc&b6=lctct&a6=cc&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
[threadSpiders]: thread.html?patchWidth=20&patchHeight=20&g1=tc&a1=ctctctcttt&l2=crcrcrclll&k2=ctctc&j2=cttcttc&i2=ctttctttc&h2=crcrc&g2=cttc&f2=clclc&e2=ctttctttc&d2=cttcttc&c2=ctctc&b2=clclclcrrr&l3=ctc&k3=ctc&j3=clllc&i3=crrcrrc&h3=clcrc&g3=cttcttc&f3=crclc&e3=cllcllc&d3=crrrc&c3=ctc&b3=ctc&a3=cc&l4=ctc&k4=cllc&j4=crrrcrrrc&i4=cllcrc&h4=cllcrrc&g4=ctttc&f4=crrcllc&e4=crrclc&d4=clllclllc&c4=crrc&b4=ctc&a4=ccc&l5=clc&k5=rctct&j5=clllcrc&i5=clllcrrc&h5=ctc&g5=ctttctttc&f5=ctc&e5=crrrcllc&d5=crrrclc&c5=lctct&b5=crc&a5=ctc&l6=rctct&k6=ctc&j6=ctc&i6=clcrclc&h6=c&f6=c&e6=clclcrc&d6=ctc&c6=ctc&b6=lctct&a6=cc&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6
[protoRose]: proto.html?patchWidth=8&patchHeight=14&footside=b,-,a,-&tile=831,4-7,-5-&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
[pairRose]: pair.html?patchWidth=8&patchHeight=14&b1=ctc&c1=ctllcrrc&d1=clclc&b2=cllcrrcllcrrcr&d2=ctctctc&c3=ctctll&footside=b,-,a,-&footsideStitch=-&tile=831,4-7,-5-&tileStitch=ctct&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
[threadRose]: thread.html?patchWidth=8&patchHeight=14&b1=ctc&c1=ctllcrrc&d1=clclc&b2=cllcrrcllcrrcr&d2=ctctctc&c3=ctctll&footside=b,-,a,-&footsideStitch=-&tile=831,4-7,-5-&tileStitch=ctct&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2
[pairMax]: thread.html?patchWidth=26&patchHeight=40&paintStitches=ctcl&ae1=ctctt&ad1=ctctt&ac1=ctctt&aa1=ctc&y1=ctc&w1=ctc&u1=ctc&s1=ctc&q1=ctc&o1=ctc&m1=ctc&k1=ctc&i1=ctc&g1=ctc&e1=ctc&c1=ctc&b1=ctctt&a1=ctctt&ae2=ctctt&ad2=ctctt&z2=ctc&v2=ctc&r2=ctc&n2=ctc&j2=ctc&f2=ctc&b2=ctctt&a2=ctctt&ac3=ctctt&aa3=ctc&y3=ctc&w3=ctc&u3=ctc&s3=ctc&q3=ctc&o3=ctc&m3=ctc&k3=ctc&i3=ctc&g3=ctc&e3=ctc&c3=ctc&ab4=ctc&x4=ctc&t4=ctc&p4=ctc&l4=ctc&h4=ctc&d4=ctc&aa5=ctc&y5=ctc&w5=ctc&u5=ctc&s5=ctc&q5=ctc&o5=ctc&m5=ctc&k5=ctc&i5=ctc&g5=ctc&e5=ctc&c5=ctc&z6=ctc&x6=ctc&v6=ctc&t6=ctc&r6=ctc&n6=ctc&j6=ctc&f6=ctc&aa7=ctc&y7=ctc&x7=ctc&w7=ctc&v7=ctc&u7=ctc&t7=ctc&s7=ctc&q7=ctc&o7=ctc&m7=ctc&k7=ctc&i7=ctc&g7=ctc&e7=ctc&c7=ctc&ab8=ctc&z8=ctc&y8=ctc&x8=ctc&w8=ctc&v8=ctc&u8=ctc&t8=ctc&s8=ctc&r8=ctc&p8=ctc&l8=ctc&h8=ctc&d8=ctc&aa9=ctc&z9=ctc&y9=ctc&x9=ctc&w9=ctc&v9=ctc&u9=ctc&t9=ctc&s9=ctc&q9=ctc&o9=ctc&m9=ctc&k9=ctc&i9=ctc&g9=ctc&e9=ctc&c9=ctc&z10=ctc&y10=ctc&x10=ctc&w10=ctc&v10=ctc&u10=ctc&t10=ctc&s10=ctc&r10=ctc&n10=ctc&j10=ctc&f10=ctc&aa11=ctc&z11=ctc&y11=ctc&x11=ctc&w11=ctc&v11=ctc&u11=ctc&t11=ctc&s11=ctc&r11=ctc&q11=ctc&o11=ctc&m11=ctc&k11=ctc&i11=ctc&g11=ctc&e11=ctc&c11=ctc&ab12=ctc&z12=ctc&y12=ctc&x12=ctc&w12=ctc&v12=ctc&u12=ctc&t12=ctc&s12=ctc&r12=ctc&p12=ctc&l12=ctc&h12=ctc&d12=ctc&aa13=ctc&z13=ctc&y13=ctc&x13=ctc&w13=ctc&v13=ctc&u13=ctc&t13=ctc&s13=ctc&r13=ctc&q13=ctc&o13=ctc&m13=ctc&k13=ctc&i13=ctc&g13=ctc&e13=ctc&c13=ctc&z14=ctc&y14=ctc&x14=ctc&w14=ctc&v14=ctc&u14=ctc&t14=ctc&s14=ctc&r14=ctc&n14=ctc&j14=ctc&f14=ctc&aa15=ctc&y15=ctc&w15=ctc&v15=ctc&u15=ctc&t15=ctc&s15=ctc&q15=ctc&o15=ctc&m15=ctc&k15=ctc&i15=ctc&g15=ctc&e15=ctc&c15=ctc&ab16=ctc&x16=ctc&v16=ctc&t16=ctc&s16=ctc&r16=ctc&p16=ctc&l16=ctc&h16=ctc&d16=ctc&aa17=ctc&y17=ctc&w17=ctc&u17=ctc&t17=ctc&s17=ctc&q17=ctc&o17=ctc&m17=ctc&k17=ctc&i17=ctc&g17=ctc&e17=ctc&c17=ctc&z18=ctc&v18=ctc&t18=ctc&r18=ctc&n18=ctc&j18=ctc&h18=ctc&f18=ctc&aa19=ctc&y19=ctc&w19=ctc&u19=ctc&t19=ctc&s19=ctc&q19=ctc&o19=ctc&m19=ctc&k19=ctc&i19=ctc&h19=ctc&g19=ctc&e19=ctc&c19=ctc&ab20=ctc&x20=ctc&t20=ctc&s20=ctc&r20=ctc&p20=ctc&l20=ctc&j20=ctc&i20=ctc&h20=ctc&d20=ctc&aa21=ctc&y21=ctc&w21=ctc&u21=ctc&s21=ctc&r21=ctc&q21=ctc&o21=ctc&m21=ctc&k21=ctc&j21=ctc&i21=ctc&h21=ctc&g21=ctc&e21=ctc&c21=ctc&z22=ctc&v22=ctc&r22=ctc&q22=ctc&p22=ctc&n22=ctc&l22=ctc&k22=ctc&j22=ctc&i22=ctc&h22=ctc&f22=ctc&aa23=ctc&z23=ctc&y23=ctc&w23=ctc&u23=ctc&s23=ctc&q23=ctc&p23=ctc&o23=ctc&m23=ctc&l23=ctc&k23=ctc&j23=ctc&i23=ctc&h23=ctc&g23=ctc&e23=ctc&c23=ctc&ab24=ctc&z24=ctc&x24=ctc&t24=ctc&p24=ctc&n24=ctc&m24=ctc&l24=ctc&k24=ctc&j24=ctc&i24=ctc&h24=ctc&d24=ctc&aa25=ctc&z25=ctc&y25=ctc&w25=ctc&u25=ctc&s25=ctc&q25=ctc&p25=ctc&o25=ctc&n25=ctc&m25=ctc&l25=ctc&k25=ctc&j25=ctc&i25=ctc&h25=ctc&g25=ctc&e25=ctc&c25=ctc&z26=ctc&y26=ctc&x26=ctc&v26=ctc&r26=ctc&p26=ctc&o26=ctc&n26=ctc&m26=ctc&l26=ctc&k26=ctc&j26=ctc&i26=ctc&h26=ctc&f26=ctc&aa27=ctc&y27=ctc&x27=ctc&w27=ctc&u27=ctc&s27=ctc&q27=ctc&o27=ctc&n27=ctc&m27=ctc&l27=ctc&k27=ctc&j27=ctc&i27=ctc&h27=ctc&g27=ctc&e27=ctc&c27=ctc&ab28=ctc&x28=ctc&w28=ctc&v28=ctc&t28=ctc&p28=ctc&o28=ctc&n28=ctc&m28=ctc&l28=ctc&k28=ctc&j28=ctc&i28=ctc&h28=ctc&d28=ctc&aa29=ctc&y29=ctc&w29=ctc&v29=ctc&u29=ctc&s29=ctc&q29=ctc&o29=ctc&n29=ctc&m29=ctc&l29=ctc&k29=ctc&j29=ctc&i29=ctc&h29=ctc&g29=ctc&e29=ctc&c29=ctc&z30=ctc&v30=ctc&r30=ctc&p30=ctc&o30=ctc&n30=ctc&m30=ctc&l30=ctc&k30=ctc&j30=ctc&i30=ctc&h30=ctc&f30=ctc&aa31=ctc&y31=ctc&w31=ctc&v31=ctc&u31=ctc&s31=ctc&q31=ctc&p31=ctc&o31=ctc&n31=ctc&m31=ctc&l31=ctc&k31=ctc&j31=ctc&i31=ctc&h31=ctc&g31=ctc&e31=ctc&c31=ctc&ab32=ctc&x32=ctc&v32=ctc&u32=ctc&t32=ctc&r32=ctc&q32=ctc&p32=ctc&o32=ctc&n32=ctc&m32=ctc&l32=ctc&k32=ctc&j32=ctc&i32=ctc&h32=ctc&d32=ctc&aa33=ctc&y33=ctc&u33=ctc&q33=ctc&o33=ctc&n33=ctc&m33=ctc&l33=ctc&k33=ctc&j33=ctc&i33=ctc&g33=ctc&e33=ctc&c33=ctc&z34=ctc&x34=ctc&v34=ctc&u34=ctc&t34=ctc&r34=ctc&q34=ctc&p34=ctc&n34=ctc&m34=ctc&l34=ctc&k34=ctc&j34=ctc&f34=ctc&y35=ctc&x35=ctc&w35=ctc&u35=ctc&t35=ctc&s35=ctc&q35=ctc&p35=ctc&o35=ctc&m35=ctc&l35=ctc&k35=ctc&i35=ctc&h35=ctc&g35=ctc&e35=ctc&d35=ctc&c35=ctc&footside=11,r8,xx,xx&tile=4-7-4-7-4-7-4-7-4-7-4-7-4-,x-x5x-x5x-x5x-x5x-x5x-x5x-,7-4-7-4-7-4-7-4-7-4-7-4-7-,x5x-x5x-x5x-x5x-x5x-x5x-x5,4-7-4-7-4-7-4-7-4-7-4-7-4-,x-x5x-x5x-x5x-x5-5-5-5-5x-,7-4-7-4-7-4-7-4-5868686-7-,x5x-x5x-x5x-x5-211111115-5,4-7-4-7-4-7-4-5-788888886-,x-x5x-x5x-x5x-x211111114x-,7-4-7-4-7-4-7-48888888888-,x5x-x5x-x5x-x5-111111114-5,4-7-4-7-4-7-4-58888888886-,x-x5x-x5x-x5x-x111111114x-,7-4-7-4-7-4-7-4-78888-7-7-,x5x-x5x-x5x-x5-214-4-5x-x5,4-7-4-7-4-7-4-5-786-5-7-4-,x-x5-5-5x-x5x-x5-4-5x-x5x-,7-4-586-7-4-7-4-215-7-4-7-,x5x-x115-5x-x5-588x-x5x-x5,4-7-48886-7-4-214-7-4-7-4-,x-x5-11115-5-588x-x5x-x5x-,7-4-5888886-214-7-4-7-117-,x5x-x1111115-7x-x5x-x5-7-5,4-7-48888888688-4-7-4-215-,x-x5-111111114-5x-x5-588x-,7-4-588888888-5-7-4-214-7-,x5x-x111111115x-x5-588x-x5,4-7-488888888-7-4-214-7-4-,x-x5-111111115-5x-x7x-x5x-,7-4-58888888886-7-117-4-7-,x5x-x11111111115-588-5x-x5,4-7-4-7888888-7x-x4x-x7-4-,x-x5x-x11114-217-488-4-5x-,734-734-734-534-534-535---,&headside=788-,x11w,4xx-,xxx-&shiftColsSW=0&shiftRowsSW=35&shiftColsSE=26&shiftRowsSE=35

| source | examples see also [query](#url-query) | notes |
|:--------------------------|----------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [proto.html][protoCode] | [spiders][protoSpiders], [rose][protoRose] | Pattern definition. |
| [pair.html][pairCode] | [spiders][pairSpiders], [rose][pairRose], [max][pairMax], [test][pairRose] | 4 colors per stitch. |
| [thread.html][threadCode] | [spiders][threadSpiders], [rose][threadRose] | Thread diagram.<br> Comment in the source explains how to tweak the code for droste patterns. |
| [sheet.html][sheetCode] | [sheet.html](sheet.html) | Pattern families.<br> A simplified hardcoded variant of the [page](/GroundForge/sheet.html) that takes a family of [Tesselace patterns](/tesselace-to-gf/) as parameter, you probably can make more and intermediate [variations][explanation] |
| [stitch-galllery] | | |

[explanation]: /GroundForge-help/Reshape-Patterns

[threadCode]: {{ site.github.repository_url }}/blob/master/docs/API/thread.html
[protoSpiders]: proto.html?patchWidth=20&patchHeight=20&tile=5-----5-----,-CDDD632AAAB,566666322222,566666322222,566666322222,566666-22222&shiftColsSW=-6&shiftRowsSW=6&shiftColsSE=6&shiftRowsSE=6

[pairCode]: {{ site.github.repository_url }}/blob/master/docs/API/pair.html
[protoRose]: proto.html?patchWidth=8&patchHeight=14&footside=b,-,a,-&tile=831,4-7,-5-&shiftColsSW=-2&shiftRowsSW=2&shiftColsSE=2&shiftRowsSE=2

[protoCode]: {{ site.github.repository_url }}/blob/master/docs/API/proto.html

[sheetCode]: {{ site.github.repository_url }}/blob/master/docs/API/sheet.html

[GFCode]: {{ site.github.repository_url }}/blob/master/src/main/scala/dibl

[stitch-galllery]: stitch-galllery


Create your own variant
=======================
Expand Down Expand Up @@ -125,7 +135,7 @@ The query mimics what would be sent to a server when submitting the form.
Many fields of the form are hidden to the user.

To avoid outdated documentation: look for the usage of `TilesConfig.queryFields`.
* Droste patterns use additional parameters in the load function of `droste.js`.
* Droste patterns use additional parameters
* `API/proto.html` uses only some of the `queryFields`.
* `API/sheet.html` does not use a query at all.

Expand Down
35 changes: 0 additions & 35 deletions docs/API/pair.html

This file was deleted.

Loading