@nodegx/mcp 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/cli.js +182 -182
- package/dist/cloud-bundle.cjs +747 -745
- package/dist/kit-extract.cjs +228 -228
- package/dist/kit-extract.inputs.json +113 -113
- package/dist/noodl-mcp.cjs +1705 -918
- package/dist/package.json +1 -1
- package/dist/render-harness/data/node-catalog-enriched.json +242 -9
- package/dist/render-harness/drive-steps.js +156 -16
- package/dist/render-harness/measure-from-disk.js +112 -2
- package/dist/render-harness/render-from-disk.js +136 -136
- package/dist/src/external/viewer/noodl.viewer.js +1 -1
- package/dist/starter-assets/noodl_modules/inter/Inter-Bold.woff2 +0 -0
- package/dist/starter-assets/noodl_modules/inter/Inter-Medium.woff2 +0 -0
- package/dist/starter-assets/noodl_modules/inter/Inter-Regular.woff2 +0 -0
- package/dist/starter-assets/noodl_modules/inter/Inter-SemiBold.woff2 +0 -0
- package/dist/starter-assets/noodl_modules/inter/LICENSE.txt +93 -0
- package/dist/starter-assets/noodl_modules/inter/manifest.json +7 -0
- package/dist/starter-assets/noodl_modules/inter/styles.css +49 -0
- package/dist/starter-assets/noodl_modules/lucide-icons/lucide.woff2 +0 -0
- package/dist/starter-assets/noodl_modules/lucide-icons/manifest.json +229 -0
- package/dist/starter-assets/noodl_modules/lucide-icons/styles.css +2007 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/LICENCES.json +445 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/animal-cat.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/animal-dog.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/animal-horse.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/animal-sheep.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/avatar-1.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/avatar-2.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/avatar-3.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/avatar-4.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/avatar-5.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/avatar-6.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-bakery.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-board.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-bread.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-carrots.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-grocer.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-market.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/food-plate.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-aurora.svg +28 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-canyon.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-city-dusk.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-coast.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-dune.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-forest-fog.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-red-rock.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-ridge.svg +28 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-shore.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/ground-skyline.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/manifest.json +4 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/people-cafe.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/people-coffee-shop.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/people-desk.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/people-market.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/people-meeting.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/portrait.svg +11 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/texture-brick.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/texture-coffee.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/texture-earth.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/texture-pebbles.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/texture-snow.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/texture-soil.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/tile-1.svg +17 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/tile-2.svg +17 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/tile-3.svg +17 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-baker.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-carpenter.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-chef.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-hands-clay.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-leather-bench.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-machine-shop.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-potter.webp +0 -0
- package/dist/starter-assets/noodl_modules/starter-imagery/work-welder.webp +0 -0
- package/package.json +4 -3
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_note": "The record for every photograph in this module: what it is, what shape it was cut for, and where it came from. 🔴 It is ONE file on purpose — the door (get_style_vocabulary) reads its `subject` and `role` to tell an authoring model what is available, and a separate catalogue would be a second copy to keep in step with the licences. Each file was fetched from Wikimedia Commons and its licence read per file, not assumed from the collection it sat in. All are CC0 or public domain: no attribution is required, no share-alike applies, and there is no restriction on redistributing them as a collection — which is what shipping them inside an application and inside every app you deploy actually does. Built by scripts/library/make-stock-library.js from scripts/library/fetch-stock-imagery.js.",
|
|
3
|
+
"images": [
|
|
4
|
+
{
|
|
5
|
+
"file": "ground-city-dusk.webp",
|
|
6
|
+
"subject": "hero",
|
|
7
|
+
"role": "ground",
|
|
8
|
+
"says": "a city skyline at dusk, purple and lit",
|
|
9
|
+
"title": "Pink and purple skyline (Unsplash).jpg",
|
|
10
|
+
"author": "srikanta H. U srikanta",
|
|
11
|
+
"licence": "CC0",
|
|
12
|
+
"source": "https://commons.wikimedia.org/wiki/File%3APink_and_purple_skyline_(Unsplash).jpg"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"file": "ground-forest-fog.webp",
|
|
16
|
+
"subject": "hero",
|
|
17
|
+
"role": "ground",
|
|
18
|
+
"says": "fog lying over a pine forest",
|
|
19
|
+
"title": "Foggy morning at the Gorge (Unsplash).jpg",
|
|
20
|
+
"author": "adrian aows",
|
|
21
|
+
"licence": "CC0",
|
|
22
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AFoggy_morning_at_the_Gorge_(Unsplash).jpg"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"file": "ground-canyon.webp",
|
|
26
|
+
"subject": "hero",
|
|
27
|
+
"role": "ground",
|
|
28
|
+
"says": "a slot canyon, deep orange",
|
|
29
|
+
"title": "Canyon (Unsplash).jpg",
|
|
30
|
+
"author": "Joe Gardner josephgardnerphotography",
|
|
31
|
+
"licence": "CC0",
|
|
32
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ACanyon_(Unsplash).jpg"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"file": "ground-dune.webp",
|
|
36
|
+
"subject": "hero",
|
|
37
|
+
"role": "ground",
|
|
38
|
+
"says": "a dune ridge cutting the frame diagonally",
|
|
39
|
+
"title": "DuneCrest(byFabioRose).jpg",
|
|
40
|
+
"author": "Fabio Rose",
|
|
41
|
+
"licence": "CC0",
|
|
42
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ADuneCrest(byFabioRose).jpg"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"file": "ground-coast.webp",
|
|
46
|
+
"subject": "hero",
|
|
47
|
+
"role": "ground",
|
|
48
|
+
"says": "a coastline from above, turquoise water",
|
|
49
|
+
"title": "North Friar's Bay - Saint Kitts - Driving near the shoreline (Unsplash).jpg",
|
|
50
|
+
"author": "Ma. Alejandra maalejandrag",
|
|
51
|
+
"licence": "CC0",
|
|
52
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ANorth_Friar's_Bay_-_Saint_Kitts_-_Driving_near_the_shoreline_(Unsplash).jpg"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"file": "ground-shore.webp",
|
|
56
|
+
"subject": "hero",
|
|
57
|
+
"role": "ground",
|
|
58
|
+
"says": "shallow sea meeting pale sand, from above",
|
|
59
|
+
"title": "Drone view of ocean waves 1 (Unsplash).jpg",
|
|
60
|
+
"author": "Matthew Kane matthewkane",
|
|
61
|
+
"licence": "CC0",
|
|
62
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ADrone_view_of_ocean_waves_1_(Unsplash).jpg"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"file": "ground-red-rock.webp",
|
|
66
|
+
"subject": "hero",
|
|
67
|
+
"role": "ground",
|
|
68
|
+
"says": "red rock under a dusk sky",
|
|
69
|
+
"title": "Kings Canyon - Unsplash.jpeg",
|
|
70
|
+
"author": "Philippe Wuyts",
|
|
71
|
+
"licence": "CC0",
|
|
72
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AKings_Canyon_-_Unsplash.jpeg"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"file": "ground-skyline.webp",
|
|
76
|
+
"subject": "hero",
|
|
77
|
+
"role": "ground",
|
|
78
|
+
"says": "a dense city skyline in daylight",
|
|
79
|
+
"title": "Beautiful NYC skyline (Unsplash).jpg",
|
|
80
|
+
"author": "Anthony DELANOIX anthonydelanoix",
|
|
81
|
+
"licence": "CC0",
|
|
82
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ABeautiful_NYC_skyline_(Unsplash).jpg"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"file": "work-welder.webp",
|
|
86
|
+
"subject": "work",
|
|
87
|
+
"role": "tile",
|
|
88
|
+
"says": "a welder, sparks flying",
|
|
89
|
+
"title": "Welder in a workshop (Unsplash).jpg",
|
|
90
|
+
"author": "Uğur Gürcüoğlu sharkdesignstudio",
|
|
91
|
+
"licence": "CC0",
|
|
92
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AWelder_in_a_workshop_(Unsplash).jpg"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"file": "work-potter.webp",
|
|
96
|
+
"subject": "work",
|
|
97
|
+
"role": "tile",
|
|
98
|
+
"says": "hands throwing a pot on a wheel",
|
|
99
|
+
"title": "Kala Ghoda pottery (Unsplash).jpg",
|
|
100
|
+
"author": "Shane Albuquerque creative_shane",
|
|
101
|
+
"licence": "CC0",
|
|
102
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AKala_Ghoda_pottery_(Unsplash).jpg"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"file": "work-baker.webp",
|
|
106
|
+
"subject": "work",
|
|
107
|
+
"role": "tile",
|
|
108
|
+
"says": "a baker loading a rack",
|
|
109
|
+
"title": "Focus point (Unsplash).jpg",
|
|
110
|
+
"author": "Giovanni Randisi phosleep",
|
|
111
|
+
"licence": "CC0",
|
|
112
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AFocus_point_(Unsplash).jpg"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"file": "work-chef.webp",
|
|
116
|
+
"subject": "work",
|
|
117
|
+
"role": "tile",
|
|
118
|
+
"says": "a chef prepping in a kitchen",
|
|
119
|
+
"title": "Michael (Unsplash).jpg",
|
|
120
|
+
"author": "Toa Heftiba heftiba",
|
|
121
|
+
"licence": "CC0",
|
|
122
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AMichael_(Unsplash).jpg"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"file": "work-carpenter.webp",
|
|
126
|
+
"subject": "work",
|
|
127
|
+
"role": "tile",
|
|
128
|
+
"says": "a carpenter marking a board",
|
|
129
|
+
"title": "Craft Workshop (Unsplash).jpg",
|
|
130
|
+
"author": "Igor Ovsyannykov igorovsyannykov",
|
|
131
|
+
"licence": "CC0",
|
|
132
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ACraft_Workshop_(Unsplash).jpg"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"file": "work-leather-bench.webp",
|
|
136
|
+
"subject": "work",
|
|
137
|
+
"role": "tile",
|
|
138
|
+
"says": "a leather workbench with tools laid out",
|
|
139
|
+
"title": "Workbench and tools (Unsplash).jpg",
|
|
140
|
+
"author": "Jeff Sheldon ugmonk",
|
|
141
|
+
"licence": "CC0",
|
|
142
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AWorkbench_and_tools_(Unsplash).jpg"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"file": "work-machine-shop.webp",
|
|
146
|
+
"subject": "work",
|
|
147
|
+
"role": "tile",
|
|
148
|
+
"says": "a row of machine-shop lathes",
|
|
149
|
+
"title": "Topman, West End, United Kingdom (Unsplash).jpg",
|
|
150
|
+
"author": "Janko Ferlic thepootphotographer",
|
|
151
|
+
"licence": "CC0",
|
|
152
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ATopman%2C_West_End%2C_United_Kingdom_(Unsplash).jpg"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"file": "work-hands-clay.webp",
|
|
156
|
+
"subject": "work",
|
|
157
|
+
"role": "tile",
|
|
158
|
+
"says": "hands on wet clay, black and white",
|
|
159
|
+
"title": "Black and white pottery (Unsplash).jpg",
|
|
160
|
+
"author": "Quino Al quinoal",
|
|
161
|
+
"licence": "CC0",
|
|
162
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ABlack_and_white_pottery_(Unsplash).jpg"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"file": "people-cafe.webp",
|
|
166
|
+
"subject": "people",
|
|
167
|
+
"role": "tile",
|
|
168
|
+
"says": "a woman working at a laptop in a café",
|
|
169
|
+
"title": "Tattooed woman with laptop (Unsplash).jpg",
|
|
170
|
+
"author": "Brooke Cagle brookecagle",
|
|
171
|
+
"licence": "CC0",
|
|
172
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ATattooed_woman_with_laptop_(Unsplash).jpg"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"file": "people-coffee-shop.webp",
|
|
176
|
+
"subject": "people",
|
|
177
|
+
"role": "tile",
|
|
178
|
+
"says": "a busy coffee shop interior",
|
|
179
|
+
"title": "The invisible attendant (Unsplash).jpg",
|
|
180
|
+
"author": "Toa Heftiba heftiba",
|
|
181
|
+
"licence": "CC0",
|
|
182
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AThe_invisible_attendant_(Unsplash).jpg"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"file": "people-meeting.webp",
|
|
186
|
+
"subject": "people",
|
|
187
|
+
"role": "tile",
|
|
188
|
+
"says": "two people over a notebook and a tablet",
|
|
189
|
+
"title": "Two people meeting with iphone and ipad (Unsplash).jpg",
|
|
190
|
+
"author": "Alejandro Escamilla alejandroescamilla",
|
|
191
|
+
"licence": "CC0",
|
|
192
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ATwo_people_meeting_with_iphone_and_ipad_(Unsplash).jpg"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"file": "people-market.webp",
|
|
196
|
+
"subject": "people",
|
|
197
|
+
"role": "tile",
|
|
198
|
+
"says": "a market seller weighing limes",
|
|
199
|
+
"title": "Street Fruit Seller at work (Unsplash).jpg",
|
|
200
|
+
"author": "Igor Ovsyannykov igorovsyannykov",
|
|
201
|
+
"licence": "CC0",
|
|
202
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AStreet_Fruit_Seller_at_work_(Unsplash).jpg"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"file": "people-desk.webp",
|
|
206
|
+
"subject": "people",
|
|
207
|
+
"role": "tile",
|
|
208
|
+
"says": "someone working at a laptop by a window",
|
|
209
|
+
"title": "Man at a laptop in an office (Unsplash).jpg",
|
|
210
|
+
"author": "Bench Accounting benchaccounting",
|
|
211
|
+
"licence": "CC0",
|
|
212
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AMan_at_a_laptop_in_an_office_(Unsplash).jpg"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"file": "food-market.webp",
|
|
216
|
+
"subject": "food",
|
|
217
|
+
"role": "tile",
|
|
218
|
+
"says": "a market spread of fruit and vegetables",
|
|
219
|
+
"title": "Farmer's Market Produce (Unsplash).jpg",
|
|
220
|
+
"author": "Julian Hanslmaier j_h",
|
|
221
|
+
"licence": "CC0",
|
|
222
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AFarmer's_Market_Produce_(Unsplash).jpg"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"file": "food-bread.webp",
|
|
226
|
+
"subject": "food",
|
|
227
|
+
"role": "tile",
|
|
228
|
+
"says": "sourdough loaves",
|
|
229
|
+
"title": "Bread (Unsplash).jpg",
|
|
230
|
+
"author": "Kim Cruickshanks helloimkim",
|
|
231
|
+
"licence": "CC0",
|
|
232
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ABread_(Unsplash).jpg"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"file": "food-board.webp",
|
|
236
|
+
"subject": "food",
|
|
237
|
+
"role": "tile",
|
|
238
|
+
"says": "a red onion and peppercorns on a board",
|
|
239
|
+
"title": "Vegetables(byWebvilla).jpg",
|
|
240
|
+
"author": "Webvilla",
|
|
241
|
+
"licence": "CC0",
|
|
242
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AVegetables(byWebvilla).jpg"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"file": "food-plate.webp",
|
|
246
|
+
"subject": "food",
|
|
247
|
+
"role": "tile",
|
|
248
|
+
"says": "a plated steak",
|
|
249
|
+
"title": "Steak Dinner 1 (Unsplash).jpg",
|
|
250
|
+
"author": "Alex Munsell alexmunsell",
|
|
251
|
+
"licence": "CC0",
|
|
252
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ASteak_Dinner_1_(Unsplash).jpg"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"file": "food-grocer.webp",
|
|
256
|
+
"subject": "food",
|
|
257
|
+
"role": "tile",
|
|
258
|
+
"says": "a greengrocer stall with a customer",
|
|
259
|
+
"title": "Pound a Bowl (Unsplash).jpg",
|
|
260
|
+
"author": "Clem Onojeghuo clemono2",
|
|
261
|
+
"licence": "CC0",
|
|
262
|
+
"source": "https://commons.wikimedia.org/wiki/File%3APound_a_Bowl_(Unsplash).jpg"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"file": "food-carrots.webp",
|
|
266
|
+
"subject": "food",
|
|
267
|
+
"role": "tile",
|
|
268
|
+
"says": "carrots in a crate on dark wood",
|
|
269
|
+
"title": "Basket of Vegetables (Unsplash).jpg",
|
|
270
|
+
"author": "Markus Spiske markusspiske",
|
|
271
|
+
"licence": "CC0",
|
|
272
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ABasket_of_Vegetables_(Unsplash).jpg"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"file": "food-bakery.webp",
|
|
276
|
+
"subject": "food",
|
|
277
|
+
"role": "tile",
|
|
278
|
+
"says": "a bakery counter",
|
|
279
|
+
"title": "Bread at a Bakery (Unsplash).jpg",
|
|
280
|
+
"author": "Roman Kraft romankraft",
|
|
281
|
+
"licence": "CC0",
|
|
282
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ABread_at_a_Bakery_(Unsplash).jpg"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"file": "animal-cat.webp",
|
|
286
|
+
"subject": "animals",
|
|
287
|
+
"role": "tile",
|
|
288
|
+
"says": "a grey cat in a window",
|
|
289
|
+
"title": "My Cat (Unsplash).jpg",
|
|
290
|
+
"author": "Marko Blažević kerber",
|
|
291
|
+
"licence": "CC0",
|
|
292
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AMy_Cat_(Unsplash).jpg"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"file": "animal-horse.webp",
|
|
296
|
+
"subject": "animals",
|
|
297
|
+
"role": "tile",
|
|
298
|
+
"says": "a horse, close",
|
|
299
|
+
"title": "Horse on wetlands (Unsplash).jpg",
|
|
300
|
+
"author": "Idella Maeland idellamaeland",
|
|
301
|
+
"licence": "CC0",
|
|
302
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AHorse_on_wetlands_(Unsplash).jpg"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"file": "animal-sheep.webp",
|
|
306
|
+
"subject": "animals",
|
|
307
|
+
"role": "tile",
|
|
308
|
+
"says": "a flock of sheep in a field",
|
|
309
|
+
"title": "Sheep in field (Unsplash).jpg",
|
|
310
|
+
"author": "Ariana Prestes arianaprestes",
|
|
311
|
+
"licence": "CC0",
|
|
312
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ASheep_in_field_(Unsplash).jpg"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"file": "animal-dog.webp",
|
|
316
|
+
"subject": "animals",
|
|
317
|
+
"role": "tile",
|
|
318
|
+
"says": "a dog looking at the camera",
|
|
319
|
+
"title": "Vancouver, Canada (Unsplash NH1d0xX6Ldk).jpg",
|
|
320
|
+
"author": "Justin Veenema justinveenema",
|
|
321
|
+
"licence": "CC0",
|
|
322
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AVancouver%2C_Canada_(Unsplash_NH1d0xX6Ldk).jpg"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"file": "texture-brick.webp",
|
|
326
|
+
"subject": "texture",
|
|
327
|
+
"role": "surface",
|
|
328
|
+
"says": "a brick wall",
|
|
329
|
+
"title": "Brick Wall Tarks.jpg",
|
|
330
|
+
"author": "railyaal",
|
|
331
|
+
"licence": "CC0",
|
|
332
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ABrick_Wall_Tarks.jpg"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"file": "texture-soil.webp",
|
|
336
|
+
"subject": "texture",
|
|
337
|
+
"role": "surface",
|
|
338
|
+
"says": "dark turned soil",
|
|
339
|
+
"title": "Dirt.jpg",
|
|
340
|
+
"author": "snarlingbunny",
|
|
341
|
+
"licence": "CC0",
|
|
342
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ADirt.jpg"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"file": "texture-snow.webp",
|
|
346
|
+
"subject": "texture",
|
|
347
|
+
"role": "surface",
|
|
348
|
+
"says": "fresh snow",
|
|
349
|
+
"title": "Winter-260817.jpg",
|
|
350
|
+
"author": "Jarmoluk",
|
|
351
|
+
"licence": "CC0",
|
|
352
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AWinter-260817.jpg"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"file": "texture-pebbles.webp",
|
|
356
|
+
"subject": "texture",
|
|
357
|
+
"role": "surface",
|
|
358
|
+
"says": "white pebbles",
|
|
359
|
+
"title": "Light grey stones.jpg",
|
|
360
|
+
"author": "Silvia & Frank (Pixel2013) from Germany",
|
|
361
|
+
"licence": "CC0",
|
|
362
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ALight_grey_stones.jpg"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"file": "texture-coffee.webp",
|
|
366
|
+
"subject": "texture",
|
|
367
|
+
"role": "surface",
|
|
368
|
+
"says": "roasted coffee beans",
|
|
369
|
+
"title": "Coffee-beans-399479.jpg",
|
|
370
|
+
"author": "Michal Jarmoluk (jarmoluk)",
|
|
371
|
+
"licence": "CC0",
|
|
372
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ACoffee-beans-399479.jpg"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"file": "texture-earth.webp",
|
|
376
|
+
"subject": "texture",
|
|
377
|
+
"role": "surface",
|
|
378
|
+
"says": "cracked dry earth",
|
|
379
|
+
"title": "Drought-780088.jpg",
|
|
380
|
+
"author": "Luis Iranzo Navarro-Olivares",
|
|
381
|
+
"licence": "CC0",
|
|
382
|
+
"source": "https://commons.wikimedia.org/wiki/File%3ADrought-780088.jpg"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"file": "avatar-1.webp",
|
|
386
|
+
"subject": "avatar",
|
|
387
|
+
"role": "avatar",
|
|
388
|
+
"says": "a young man laughing",
|
|
389
|
+
"title": "Always smile (Unsplash).jpg",
|
|
390
|
+
"author": "michael m_minimal",
|
|
391
|
+
"licence": "CC0",
|
|
392
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AAlways_smile_(Unsplash).jpg"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"file": "avatar-2.webp",
|
|
396
|
+
"subject": "avatar",
|
|
397
|
+
"role": "avatar",
|
|
398
|
+
"says": "a young woman, close portrait",
|
|
399
|
+
"title": "Into the Deep (Unsplash).jpg",
|
|
400
|
+
"author": "JD Mason jmason",
|
|
401
|
+
"licence": "CC0",
|
|
402
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AInto_the_Deep_(Unsplash).jpg"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"file": "avatar-3.webp",
|
|
406
|
+
"subject": "avatar",
|
|
407
|
+
"role": "avatar",
|
|
408
|
+
"says": "a woman smiling in a hooded coat",
|
|
409
|
+
"title": "In front of pumpkin shelves (Unsplash).jpg",
|
|
410
|
+
"author": "Frank Marino frank_marino87",
|
|
411
|
+
"licence": "CC0",
|
|
412
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AIn_front_of_pumpkin_shelves_(Unsplash).jpg"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"file": "avatar-4.webp",
|
|
416
|
+
"subject": "avatar",
|
|
417
|
+
"role": "avatar",
|
|
418
|
+
"says": "a man smiling, arms folded",
|
|
419
|
+
"title": "Man with crossed arms (Unsplash).jpg",
|
|
420
|
+
"author": "Warren Wong wflwong",
|
|
421
|
+
"licence": "CC0",
|
|
422
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AMan_with_crossed_arms_(Unsplash).jpg"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"file": "avatar-5.webp",
|
|
426
|
+
"subject": "avatar",
|
|
427
|
+
"role": "avatar",
|
|
428
|
+
"says": "a woman smiling outdoors",
|
|
429
|
+
"title": "Outdoor portrait (Unsplash).jpg",
|
|
430
|
+
"author": "Anthony Ginsbrook aginsbrook",
|
|
431
|
+
"licence": "CC0",
|
|
432
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AOutdoor_portrait_(Unsplash).jpg"
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"file": "avatar-6.webp",
|
|
436
|
+
"subject": "avatar",
|
|
437
|
+
"role": "avatar",
|
|
438
|
+
"says": "a woman in a patterned headscarf",
|
|
439
|
+
"title": "Woman in the Desert (Unsplash).jpg",
|
|
440
|
+
"author": "Maria Darii french_phoenix",
|
|
441
|
+
"licence": "CC0",
|
|
442
|
+
"source": "https://commons.wikimedia.org/wiki/File%3AWoman_in_the_Desert_(Unsplash).jpg"
|
|
443
|
+
}
|
|
444
|
+
]
|
|
445
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" width="1600" height="900" role="img" preserveAspectRatio="xMidYMid slice">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="base" x1="0" y1="0" x2="0.35" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#0b1220"/>
|
|
5
|
+
<stop offset="0.55" stop-color="#070b14"/>
|
|
6
|
+
<stop offset="1" stop-color="#05080f"/>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<radialGradient id="hot" cx="0.240" cy="0.160" r="0.72">
|
|
9
|
+
<stop offset="0" stop-color="#8593ae" stop-opacity="0.92"/>
|
|
10
|
+
<stop offset="0.35" stop-color="#3d4d6d" stop-opacity="0.55"/>
|
|
11
|
+
<stop offset="1" stop-color="#0b1220" stop-opacity="0"/>
|
|
12
|
+
</radialGradient>
|
|
13
|
+
<radialGradient id="cool" cx="0.86" cy="0.88" r="0.6">
|
|
14
|
+
<stop offset="0" stop-color="#2b3854" stop-opacity="0.75"/>
|
|
15
|
+
<stop offset="1" stop-color="#0b1220" stop-opacity="0"/>
|
|
16
|
+
</radialGradient>
|
|
17
|
+
</defs>
|
|
18
|
+
<rect width="1600" height="900" fill="url(#base)"/>
|
|
19
|
+
<rect width="1600" height="900" fill="url(#cool)"/>
|
|
20
|
+
<rect width="1600" height="900" fill="url(#hot)"/>
|
|
21
|
+
<g>
|
|
22
|
+
<line x1="183" y1="-900" x2="1623" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.17"/>
|
|
23
|
+
<line x1="588" y1="-900" x2="2028" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.13"/>
|
|
24
|
+
<line x1="997" y1="-900" x2="2437" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.13"/>
|
|
25
|
+
<line x1="1376" y1="-900" x2="2816" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.12"/>
|
|
26
|
+
</g>
|
|
27
|
+
<rect width="1600" height="900" fill="none" stroke="#1d2840" stroke-width="2" opacity="0.5"/>
|
|
28
|
+
</svg>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900" width="1600" height="900" role="img" preserveAspectRatio="xMidYMid slice">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="base" x1="0" y1="0" x2="0.35" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#0b1220"/>
|
|
5
|
+
<stop offset="0.55" stop-color="#070b14"/>
|
|
6
|
+
<stop offset="1" stop-color="#05080f"/>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<radialGradient id="hot" cx="0.720" cy="0.380" r="0.72">
|
|
9
|
+
<stop offset="0" stop-color="#8593ae" stop-opacity="0.92"/>
|
|
10
|
+
<stop offset="0.35" stop-color="#3d4d6d" stop-opacity="0.55"/>
|
|
11
|
+
<stop offset="1" stop-color="#0b1220" stop-opacity="0"/>
|
|
12
|
+
</radialGradient>
|
|
13
|
+
<radialGradient id="cool" cx="0.86" cy="0.88" r="0.6">
|
|
14
|
+
<stop offset="0" stop-color="#2b3854" stop-opacity="0.75"/>
|
|
15
|
+
<stop offset="1" stop-color="#0b1220" stop-opacity="0"/>
|
|
16
|
+
</radialGradient>
|
|
17
|
+
</defs>
|
|
18
|
+
<rect width="1600" height="900" fill="url(#base)"/>
|
|
19
|
+
<rect width="1600" height="900" fill="url(#cool)"/>
|
|
20
|
+
<rect width="1600" height="900" fill="url(#hot)"/>
|
|
21
|
+
<g>
|
|
22
|
+
<line x1="247" y1="-900" x2="1687" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.12"/>
|
|
23
|
+
<line x1="587" y1="-900" x2="2027" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.16"/>
|
|
24
|
+
<line x1="946" y1="-900" x2="2386" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.14"/>
|
|
25
|
+
<line x1="1394" y1="-900" x2="2834" y2="1800" stroke="#b9c2d3" stroke-width="1.5" opacity="0.13"/>
|
|
26
|
+
</g>
|
|
27
|
+
<rect width="1600" height="900" fill="none" stroke="#1d2840" stroke-width="2" opacity="0.5"/>
|
|
28
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Starter imagery",
|
|
3
|
+
"_note": "Pictures every project has offline, in two kinds. (1) A CURATED STOCK LIBRARY of 44 CC0/public-domain photographs — grounds, work, people, food, animals, surfaces and avatars — fetched from Wikimedia Commons with each file's licence read individually and recorded in LICENCES.json beside them. They are already cropped for the shape they are for: `ground-*` and `texture-*` are 16:9 band grounds, everything else is a 4:3 tile, and `avatar-*` are 256px squares framed on the face. (2) Six ABSTRACT SVG placeholders (ground-*, tile-*, portrait.svg) kept from the first version: hue-neutral, ~6 KB, and the thing to reach for when no photograph is honest about the subject. Reference any file as noodl_modules/starter-imagery/<name> from an Image src or a Group backgroundImage. This module carries no stylesheet and injects nothing. The photographs are CC0: no attribution is required and there is no restriction on redistributing them inside an app you deploy."
|
|
4
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400" role="img" preserveAspectRatio="xMidYMid slice">
|
|
2
|
+
<defs>
|
|
3
|
+
<radialGradient id="g" cx="0.5" cy="0.3" r="0.9">
|
|
4
|
+
<stop offset="0" stop-color="#2b3854"/>
|
|
5
|
+
<stop offset="1" stop-color="#05080f"/>
|
|
6
|
+
</radialGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<rect width="400" height="400" fill="url(#g)"/>
|
|
9
|
+
<circle cx="200" cy="148" r="62" fill="#b9c2d3" opacity="0.87"/>
|
|
10
|
+
<path d="M 68 400 a 132 120 0 0 1 264 0 Z" fill="#8593ae" opacity="0.85"/>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="800" height="600" role="img" preserveAspectRatio="xMidYMid slice">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
4
|
+
<stop offset="0" stop-color="#131c2e"/>
|
|
5
|
+
<stop offset="1" stop-color="#05080f"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<clipPath id="c"><rect width="800" height="600"/></clipPath>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect width="800" height="600" fill="url(#g)"/>
|
|
10
|
+
<g clip-path="url(#c)">
|
|
11
|
+
<circle cx="189" cy="610" r="256" fill="none" stroke="#8593ae" stroke-width="10" opacity="0.90"/>
|
|
12
|
+
<circle cx="189" cy="610" r="464" fill="none" stroke="#5a6b8c" stroke-width="10" opacity="0.72"/>
|
|
13
|
+
<circle cx="189" cy="610" r="672" fill="none" stroke="#3d4d6d" stroke-width="10" opacity="0.54"/>
|
|
14
|
+
<circle cx="189" cy="610" r="88" fill="#b9c2d3" opacity="0.9"/>
|
|
15
|
+
<rect x="0" y="468" width="800" height="132" fill="#0b1220" opacity="0.55"/>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|