
Comparative Sheet
Six species to one sheet instead of one, which is the other thing a herbarium sheet is for: not a determination but a comparison, six pteridophytes set out in a grid so that the differences between them are the subject. They are laid at slightly different angles for the same reason as on the other sheet. Six plumb specimens in a grid read as a chart of icons; a hand pressed these one at a time. The six were chosen by drawing all ten fern presets and keeping the ones that are distinct from each other at a glance, which is the whole job of a comparative sheet. Three were rejected: two carry a clubbed trunk that reads as a broken umbrella, and one is too sparse to hold a cell.
Technique
as with the other sheet, the sketch only lays the paper down and the specimens are `plugin-plants` fern layers, captioned with `plugin-typography`. The grid is fixed and the seed reaches only the plants, so each seed presses six different individuals of the same six species into the same six places under the same six names.
Seeds
The same system at three seeds. What moves is the surface and the marks describing it; the composition, the palette and the depth rule stay put.
33
812
2451
Layer stack
In paint order. Every mark in the image comes from these; there is no handwritten drawing code.
textures:paperSheettypography:textHeadingtypography:textAccession Numberplants:fernSpecimen — Adiantum capillus-veneristypography:textCaption — Adiantum capillus-venerisplants:fernSpecimen — Pteridium aquilinumtypography:textCaption — Pteridium aquilinumplants:fernSpecimen — Nephrolepis exaltatatypography:textCaption — Nephrolepis exaltataplants:fernSpecimen — Equisetum arvensetypography:textCaption — Equisetum arvenseplants:fernSpecimen — Lycopodium clavatumtypography:textCaption — Lycopodium clavatumplants:fernSpecimen — Pleopeltis polypodioidestypography:textCaption — Pleopeltis polypodioidestypography:textColophon
Source
The complete composition. Open it in GenArt to re-render, re-seed, or take it apart.
{
"genart": "1.2",
"id": "comparative-sheet",
"title": "Comparative Sheet",
"created": "2026-09-10T00:00:00Z",
"modified": "2026-09-10T20:31:22.858Z",
"renderer": {
"type": "canvas2d",
"version": "1.x"
},
"canvas": {
"width": 1000,
"height": 1400
},
"parameters": [],
"colors": [],
"state": {
"seed": 33,
"params": {},
"colorPalette": [
"#2e2118",
"#4a3626",
"#7a6247",
"#b9a880",
"#efe7d6"
]
},
"algorithm": "// Hortus — the sheet only. This code draws NO specimen.\n//\n// The other three series in the gallery compute their whole picture here and\n// let layers make every mark. This one does not, and the difference is the\n// point of the series: a herbarium sheet is not composed, it is a CONVENTION.\n// The specimen goes where specimens go, the label goes where labels go, and\n// what varies between sheets is the plant, not the layout. So the layout is\n// fixed in the layer transforms and the growth of the specimen is what the\n// seed reaches.\n//\n// All this does is lay the paper down under everything else.\nfunction sketch(ctx, state) {\n ctx.fillStyle = state.colorPalette[4];\n ctx.fillRect(0, 0, state.canvas.width, state.canvas.height);\n}\n",
"layers": [
{
"id": "sheet",
"type": "textures:paper",
"name": "Sheet",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 0,
"y": 0,
"width": 1000,
"height": 1400,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "rough",
"roughness": -1,
"color": "#efe7d6",
"seed": 33
}
},
{
"id": "heading",
"type": "typography:text",
"name": "Heading",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 31,
"y": 63,
"width": 571,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "PTERIDOPHYTA — SIX SPECIMENS",
"fontFamily": "Georgia",
"fontSize": 16,
"fontWeight": "400",
"fontStyle": "normal",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "accession",
"type": "typography:text",
"name": "Accession Number",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 614,
"y": 63,
"width": 354,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "HORT. 04413",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "normal",
"color": "#7a6247",
"align": "right",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "sp-1",
"type": "plants:fern",
"name": "Specimen — Adiantum capillus-veneris",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 23,
"y": 143,
"width": 306,
"height": 491,
"rotation": -4,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "maidenhair-fern",
"seed": 33,
"iterations": 9,
"trunkColor": "#2e2118",
"branchColor": "#2e2118",
"leafColor": "#2e2118",
"drawingStyle": "ink-sketch",
"detailLevel": "botanical-plate",
"strokeJitter": 0.28,
"inkFlow": 0.62,
"lineWeight": 1.4571428571428573,
"elevation": 0,
"azimuth": 0,
"growthTime": 1,
"growthCurve": "linear",
"windDirection": 0,
"windStrength": 0,
"gustFrequency": 1,
"gustVariance": 0.3,
"windTurbulence": 0,
"windTime": 0,
"showFruit": false,
"fruitType": "apple",
"fruitDensity": 0.3,
"fruitColor": "",
"showBark": false,
"barkType": "furrowed",
"showVeins": true,
"veinPattern": "pinnate"
}
},
{
"id": "cap-1",
"type": "typography:text",
"name": "Caption — Adiantum capillus-veneris",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 31,
"y": 649,
"width": 334,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Adiantum capillus-veneris",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "italic",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "sp-2",
"type": "plants:fern",
"name": "Specimen — Pteridium aquilinum",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 357,
"y": 143,
"width": 306,
"height": 491,
"rotation": 3,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "bracken-fern",
"seed": 62,
"iterations": 9,
"trunkColor": "#2e2118",
"branchColor": "#2e2118",
"leafColor": "#2e2118",
"drawingStyle": "ink-sketch",
"detailLevel": "botanical-plate",
"strokeJitter": 0.28,
"inkFlow": 0.62,
"lineWeight": 1.4571428571428573,
"elevation": 0,
"azimuth": 0,
"growthTime": 1,
"growthCurve": "linear",
"windDirection": 0,
"windStrength": 0,
"gustFrequency": 1,
"gustVariance": 0.3,
"windTurbulence": 0,
"windTime": 0,
"showFruit": false,
"fruitType": "apple",
"fruitDensity": 0.3,
"fruitColor": "",
"showBark": false,
"barkType": "furrowed",
"showVeins": true,
"veinPattern": "pinnate"
}
},
{
"id": "cap-2",
"type": "typography:text",
"name": "Caption — Pteridium aquilinum",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 366,
"y": 649,
"width": 334,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Pteridium aquilinum",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "italic",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "sp-3",
"type": "plants:fern",
"name": "Specimen — Nephrolepis exaltata",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 691,
"y": 143,
"width": 306,
"height": 491,
"rotation": -2,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "boston-fern",
"seed": 91,
"iterations": 9,
"trunkColor": "#2e2118",
"branchColor": "#2e2118",
"leafColor": "#2e2118",
"drawingStyle": "ink-sketch",
"detailLevel": "botanical-plate",
"strokeJitter": 0.28,
"inkFlow": 0.62,
"lineWeight": 1.4571428571428573,
"elevation": 0,
"azimuth": 0,
"growthTime": 1,
"growthCurve": "linear",
"windDirection": 0,
"windStrength": 0,
"gustFrequency": 1,
"gustVariance": 0.3,
"windTurbulence": 0,
"windTime": 0,
"showFruit": false,
"fruitType": "apple",
"fruitDensity": 0.3,
"fruitColor": "",
"showBark": false,
"barkType": "furrowed",
"showVeins": true,
"veinPattern": "pinnate"
}
},
{
"id": "cap-3",
"type": "typography:text",
"name": "Caption — Nephrolepis exaltata",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 700,
"y": 649,
"width": 334,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Nephrolepis exaltata",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "italic",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "sp-4",
"type": "plants:fern",
"name": "Specimen — Equisetum arvense",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 23,
"y": 714,
"width": 306,
"height": 491,
"rotation": 5,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "horsetail",
"seed": 120,
"iterations": 9,
"trunkColor": "#2e2118",
"branchColor": "#2e2118",
"leafColor": "#2e2118",
"drawingStyle": "ink-sketch",
"detailLevel": "botanical-plate",
"strokeJitter": 0.28,
"inkFlow": 0.62,
"lineWeight": 1.4571428571428573,
"elevation": 0,
"azimuth": 0,
"growthTime": 1,
"growthCurve": "linear",
"windDirection": 0,
"windStrength": 0,
"gustFrequency": 1,
"gustVariance": 0.3,
"windTurbulence": 0,
"windTime": 0,
"showFruit": false,
"fruitType": "apple",
"fruitDensity": 0.3,
"fruitColor": "",
"showBark": false,
"barkType": "furrowed",
"showVeins": true,
"veinPattern": "pinnate"
}
},
{
"id": "cap-4",
"type": "typography:text",
"name": "Caption — Equisetum arvense",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 31,
"y": 1220,
"width": 334,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Equisetum arvense",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "italic",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "sp-5",
"type": "plants:fern",
"name": "Specimen — Lycopodium clavatum",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 357,
"y": 714,
"width": 306,
"height": 491,
"rotation": -5,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "club-moss",
"seed": 149,
"iterations": 9,
"trunkColor": "#2e2118",
"branchColor": "#2e2118",
"leafColor": "#2e2118",
"drawingStyle": "ink-sketch",
"detailLevel": "botanical-plate",
"strokeJitter": 0.28,
"inkFlow": 0.62,
"lineWeight": 1.4571428571428573,
"elevation": 0,
"azimuth": 0,
"growthTime": 1,
"growthCurve": "linear",
"windDirection": 0,
"windStrength": 0,
"gustFrequency": 1,
"gustVariance": 0.3,
"windTurbulence": 0,
"windTime": 0,
"showFruit": false,
"fruitType": "apple",
"fruitDensity": 0.3,
"fruitColor": "",
"showBark": false,
"barkType": "furrowed",
"showVeins": true,
"veinPattern": "pinnate"
}
},
{
"id": "cap-5",
"type": "typography:text",
"name": "Caption — Lycopodium clavatum",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 366,
"y": 1220,
"width": 334,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Lycopodium clavatum",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "italic",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "sp-6",
"type": "plants:fern",
"name": "Specimen — Pleopeltis polypodioides",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 691,
"y": 714,
"width": 306,
"height": 491,
"rotation": 2,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"preset": "resurrection-fern",
"seed": 178,
"iterations": 9,
"trunkColor": "#2e2118",
"branchColor": "#2e2118",
"leafColor": "#2e2118",
"drawingStyle": "ink-sketch",
"detailLevel": "botanical-plate",
"strokeJitter": 0.28,
"inkFlow": 0.62,
"lineWeight": 1.4571428571428573,
"elevation": 0,
"azimuth": 0,
"growthTime": 1,
"growthCurve": "linear",
"windDirection": 0,
"windStrength": 0,
"gustFrequency": 1,
"gustVariance": 0.3,
"windTurbulence": 0,
"windTime": 0,
"showFruit": false,
"fruitType": "apple",
"fruitDensity": 0.3,
"fruitColor": "",
"showBark": false,
"barkType": "furrowed",
"showVeins": true,
"veinPattern": "pinnate"
}
},
{
"id": "cap-6",
"type": "typography:text",
"name": "Caption — Pleopeltis polypodioides",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 700,
"y": 1220,
"width": 334,
"height": 37,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Pleopeltis polypodioides",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "italic",
"color": "#2e2118",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
},
{
"id": "colophon",
"type": "typography:text",
"name": "Colophon",
"visible": true,
"locked": false,
"opacity": 1,
"blendMode": "normal",
"transform": {
"x": 31,
"y": 1306,
"width": 743,
"height": 86,
"rotation": 0,
"scaleX": 1,
"scaleY": 1,
"anchorX": 0,
"anchorY": 0
},
"properties": {
"text": "Collected on one slope in a single season, and pressed the same week.\ncoll. E. T. Carter",
"fontFamily": "Georgia",
"fontSize": 14,
"fontWeight": "400",
"fontStyle": "normal",
"color": "#7a6247",
"align": "left",
"baseline": "top",
"lineHeight": 1.55,
"strokeEnabled": false,
"strokeColor": "#000000",
"strokeWidth": 2,
"shadowEnabled": false,
"shadowColor": "rgba(0,0,0,0.5)",
"shadowBlur": 4,
"shadowOffsetX": 2,
"shadowOffsetY": 2
}
}
]
}