From 1354368ddc9e8fd39226ea66c87c7ea08ee1ad0f Mon Sep 17 00:00:00 2001 From: Aaron Axvig Date: Mon, 29 Jun 2026 13:52:20 -0500 Subject: [PATCH] Adding plants --- src/assets/icons/flower.svg | 33 ++++++++++++++++ src/data/plants.js | 77 ++++++++++++++++++++++++++++++++----- src/lib/feature-types.js | 3 +- 3 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 src/assets/icons/flower.svg diff --git a/src/assets/icons/flower.svg b/src/assets/icons/flower.svg new file mode 100644 index 0000000..e194e0e --- /dev/null +++ b/src/assets/icons/flower.svg @@ -0,0 +1,33 @@ + + Flower + Abstract flower with paired leaves and a dahlia-like bloom. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/data/plants.js b/src/data/plants.js index 2cc2a93..e7f8191 100644 --- a/src/data/plants.js +++ b/src/data/plants.js @@ -1,4 +1,4 @@ -import { Daylily, defineGroup, FlowerBed, Tree } from "../lib/yard-features.js"; +import { Daylily, defineGroup, Flower, FlowerBed, Tree } from "../lib/yard-features.js"; import * as geo from "../lib/geometry.js"; import { lotCorner } from "./anchors.js"; @@ -48,12 +48,42 @@ const flowerBeds = [ ]; const daylilies = [ + new Daylily("Not sure", { + gardenOrgId: "4765", + }).add(geo.offset(lotCorner), geo.east(geo.ft(112)), geo.south(geo.ft(2))), + new Daylily("Wayside King Royale", { + gardenOrgId: "5090", + }).add(geo.offset(lotCorner), geo.east(geo.ft(112)), geo.south(geo.ft(4))), new Daylily("Joan Derifield", { gardenOrgId: "4765", - }).add(geo.offset(lotCorner), geo.east(geo.ft(112)), geo.south(geo.ft(12))), + }).add(geo.offset(lotCorner), geo.east(geo.ft(112)), geo.south(geo.ft(6))), new Daylily("Predatory Flamingo", { gardenOrgId: "61201", - }).add(geo.offset(lotCorner), geo.east(geo.ft(112)), geo.south(geo.ft(14))), + }).add(geo.offset(lotCorner), geo.east(geo.ft(112)), geo.south(geo.ft(8))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(24))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(26))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(28))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(30))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(32))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(34))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(36))), + new Daylily("Orange Daylily", { + gardenOrgId: "48484", + }).add(geo.offset(lotCorner), geo.east(geo.ft(142)), geo.south(geo.ft(38))), new Daylily("You Had Me at Hello", { gardenOrgId: "235117", }).add(geo.offset(lotCorner), geo.east(geo.ft(28)), geo.south(geo.ft(45))), @@ -63,6 +93,33 @@ const daylilies = [ new Daylily("Daylily").add(geo.offset(lotCorner), geo.east(geo.ft(31)), geo.south(geo.ft(47))), ]; +const flowers = [ + new Flower("Purple Coneflower", { + gardenOrgId: "71445", + }).add(geo.offset(lotCorner), geo.east(geo.ft(111.5)), geo.south(geo.ft(15))), + new Flower("Purple Coneflower", { + gardenOrgId: "71445", + }).add(geo.offset(lotCorner), geo.east(geo.ft(111.5)), geo.south(geo.ft(17))), + new Flower("Purple Coneflower", { + gardenOrgId: "71445", + }).add(geo.offset(lotCorner), geo.east(geo.ft(112.5)), geo.south(geo.ft(16))), + new Flower("Purple Coneflower", { + gardenOrgId: "71445", + }).add(geo.offset(lotCorner), geo.east(geo.ft(112.5)), geo.south(geo.ft(14))), + new Flower("Tiny Tortuga Turtlehead", { + gardenOrgId: "697986", + }).add(geo.offset(lotCorner), geo.east(geo.ft(3)), geo.south(geo.ft(8))), + new Flower("Tiny Tortuga Turtlehead", { + gardenOrgId: "697986", + }).add(geo.offset(lotCorner), geo.east(geo.ft(3)), geo.south(geo.ft(17))), + new Flower("Peony", { + gardenOrgId: "697986", + }).add(geo.offset(lotCorner), geo.east(geo.ft(19)), geo.south(geo.ft(1.5))), + new Flower("Peony", { + gardenOrgId: "697986", + }).add(geo.offset(lotCorner), geo.east(geo.ft(75)), geo.south(geo.ft(2))), +]; + const trees = [ new Tree("Northern Empress Japanese Elm", { species: "Northern Empress Japanese Elm", @@ -140,13 +197,13 @@ const trees = [ canopyDiameterMeters: 1.5, heightMeters: 2.5, }).inGroup(juniperTreesGroup).add(geo.lngLat(-100.8987812086838, 46.82671120797719)), - new Tree("Offset Test Tree", { - species: "Test tree", - canopyDiameterMeters: 4, - heightMeters: 5, - note: "70 feet east of top-left lot corner using assumedNorth", - }).add(geo.offset(lotCorner), geo.east(geo.ft(70))), + new Tree("Black Currant", { + species: "Black Currant", + canopyDiameterMeters: 2, + heightMeters: 2, + gardenOrgId: "87767", + }).add(geo.offset(lotCorner), geo.east(geo.ft(107)), geo.south(geo.ft(3))), ]; -export const plantFeatures = [...flowerBeds, ...daylilies, ...trees]; +export const plantFeatures = [...flowerBeds, ...daylilies, ...flowers, ...trees]; export const plantGroups = [juniperTreesGroup]; diff --git a/src/lib/feature-types.js b/src/lib/feature-types.js index b328166..1148b75 100644 --- a/src/lib/feature-types.js +++ b/src/lib/feature-types.js @@ -165,9 +165,10 @@ export const featureTypes = { style: { color: "#9c3f74", weight: 2, - radius: 5, fillColor: "#d979aa", fillOpacity: 0.85, + iconUrl: "./src/assets/icons/flower.svg", + iconDiameterMeters: 0.4, }, }, daylily: {