settlemaker 3.0.0 → 3.0.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.
Files changed (55) hide show
  1. package/README.md +162 -277
  2. package/dist/output/geojson-builder.d.ts +1 -1
  3. package/dist/output/geojson-builder.js +1 -1
  4. package/dist/settlemaker.browser.js +1 -1
  5. package/docs/README.md +54 -0
  6. package/docs/api.md +175 -0
  7. package/docs/artwork-integration.md +104 -0
  8. package/docs/current-symbol-library.md +62 -42
  9. package/docs/development.md +102 -0
  10. package/docs/examples/gallery/coastal-city.png +0 -0
  11. package/docs/examples/gallery/coastal-city.svg +4253 -0
  12. package/docs/examples/gallery/coastal-village.png +0 -0
  13. package/docs/examples/gallery/coastal-village.svg +1211 -0
  14. package/docs/examples/gallery/copperline-city.png +0 -0
  15. package/docs/examples/gallery/copperline-city.svg +1139 -0
  16. package/docs/examples/gallery/copperline-village.png +0 -0
  17. package/docs/examples/gallery/copperline-village.svg +2382 -0
  18. package/docs/examples/gallery/desert-city.png +0 -0
  19. package/docs/examples/gallery/desert-city.svg +3509 -0
  20. package/docs/examples/gallery/desert-village.png +0 -0
  21. package/docs/examples/gallery/desert-village.svg +455 -0
  22. package/docs/examples/gallery/fixtures.json +449 -0
  23. package/docs/examples/gallery/temperate-city-night.png +0 -0
  24. package/docs/examples/gallery/temperate-city-night.svg +3511 -0
  25. package/docs/examples/gallery/temperate-city.png +0 -0
  26. package/docs/examples/gallery/temperate-city.svg +3511 -0
  27. package/docs/examples/gallery/temperate-village.png +0 -0
  28. package/docs/examples/gallery/temperate-village.svg +3227 -0
  29. package/docs/examples/gallery/tropical-city.png +0 -0
  30. package/docs/examples/gallery/tropical-city.svg +3508 -0
  31. package/docs/examples/gallery/tropical-village.png +0 -0
  32. package/docs/examples/gallery/tropical-village.svg +3761 -0
  33. package/docs/examples/gallery/tundra-city.png +0 -0
  34. package/docs/examples/gallery/tundra-city.svg +3509 -0
  35. package/docs/examples/gallery/tundra-village.png +0 -0
  36. package/docs/examples/gallery/tundra-village.svg +1549 -0
  37. package/docs/fmg-embed-zoom.md +54 -0
  38. package/docs/gallery.md +139 -0
  39. package/docs/geojson.md +188 -0
  40. package/docs/getting-started.md +157 -0
  41. package/docs/landscape-character-review.md +55 -0
  42. package/docs/releases/3.0.1.md +18 -0
  43. package/docs/scene-schema.md +160 -0
  44. package/docs/schema-v3.md +38 -0
  45. package/docs/skins.md +52 -0
  46. package/docs/test-urls.md +39 -0
  47. package/docs/url-api.md +252 -0
  48. package/docs/water-context-v1.md +384 -0
  49. package/package.json +15 -8
  50. package/scripts/check-docs.mjs +106 -0
  51. package/scripts/generate-copperline.mjs +255 -0
  52. package/scripts/generate-examples.mjs +54 -0
  53. package/scripts/render-copperline.mjs +36 -0
  54. package/src/output/geojson-builder.ts +1 -1
  55. package/symbols/copperline/README.md +10 -3
@@ -0,0 +1,449 @@
1
+ {
2
+ "generatorVersion": "3.0.1",
3
+ "fixtures": [
4
+ {
5
+ "id": "temperate-village",
6
+ "title": "Ashford — temperate village",
7
+ "description": "Roads, individual homes, a green and cultivated fields.",
8
+ "burg": {
9
+ "port": false,
10
+ "citadel": false,
11
+ "walls": false,
12
+ "plaza": true,
13
+ "temple": true,
14
+ "shanty": false,
15
+ "capital": false,
16
+ "roadBearings": [
17
+ {
18
+ "bearing_deg": 18,
19
+ "kind": "main",
20
+ "route_id": "north-road"
21
+ },
22
+ {
23
+ "bearing_deg": 142,
24
+ "kind": "town",
25
+ "route_id": "south-road"
26
+ },
27
+ {
28
+ "bearing_deg": 267,
29
+ "kind": "local",
30
+ "route_id": "west-road"
31
+ }
32
+ ],
33
+ "name": "Ashford",
34
+ "population": 300,
35
+ "biome": "temperate"
36
+ },
37
+ "seed": 2,
38
+ "engine": "village",
39
+ "previewUrl": "https://settlemaker.com/fmg?i=dZDLasMwEEX_5a5VSNzSBO3a3yghTKJJLCpLQhrXtCb_3nEeDg10pyvuORrNiC_YpcGuL0fYETkVgT1QqGyw90KOw5wHCqHOKQf6IVgpvQbhLge-pdpSlO-7h7Ka7p6SyL0zFR-PqvsYsbuErWMdYrk2-PTRwaIjHzH1e-Gtn26iztc-TQKczCP40sykpOGBrHr8j2xeVzMZ0l5H_YMOXOVKbgwidfpRvNX2kIrTZk65DyQ-RdjnxUKX6dO5Mi2FCwnri6jM6mpOvw"
40
+ },
41
+ {
42
+ "id": "temperate-city",
43
+ "title": "Thornwall — walled city",
44
+ "description": "Native city buildings, denser central wards, greener outskirts and defensive walls.",
45
+ "burg": {
46
+ "port": false,
47
+ "citadel": true,
48
+ "walls": true,
49
+ "plaza": true,
50
+ "temple": true,
51
+ "shanty": false,
52
+ "capital": true,
53
+ "roadBearings": [
54
+ {
55
+ "bearing_deg": 18,
56
+ "kind": "main",
57
+ "route_id": "north-road"
58
+ },
59
+ {
60
+ "bearing_deg": 142,
61
+ "kind": "town",
62
+ "route_id": "south-road"
63
+ },
64
+ {
65
+ "bearing_deg": 267,
66
+ "kind": "local",
67
+ "route_id": "west-road"
68
+ }
69
+ ],
70
+ "name": "Thornwall",
71
+ "population": 10000,
72
+ "biome": "temperate"
73
+ },
74
+ "seed": 2,
75
+ "engine": "settlement",
76
+ "previewUrl": "https://settlemaker.com/fmg?i=dZDBasMwEET_Zc4qNKakRcd-Q24hmE28jUVkSUjrmNbk37tqa5cGqpNGzJsd7Ywr7MbgOOYz7IwUs8C-kS9scHJCHXtYyaPKibwvi0iePmgRwkPyvKjSU5D33xRKmrOm5EjdK1N24axh-xnHb9F2rA02LwYXFzpYDOQCqn8Ubl19CVquf6gBuJl78KlZSYnTHVn0-h_ZbJ9X0seTNv2DTlzkhzwYBBr0n9j1MYe6D_WmmEZP4mLQFo96dJsuftnqXjiTsE5FYda85vYJ"
77
+ },
78
+ {
79
+ "id": "desert-village",
80
+ "title": "Qasra — desert village",
81
+ "description": "Desert buildings, sparse vegetation and irrigated field textures.",
82
+ "burg": {
83
+ "port": false,
84
+ "citadel": false,
85
+ "walls": false,
86
+ "plaza": true,
87
+ "temple": true,
88
+ "shanty": false,
89
+ "capital": false,
90
+ "roadBearings": [
91
+ {
92
+ "bearing_deg": 18,
93
+ "kind": "main",
94
+ "route_id": "north-road"
95
+ },
96
+ {
97
+ "bearing_deg": 142,
98
+ "kind": "town",
99
+ "route_id": "south-road"
100
+ },
101
+ {
102
+ "bearing_deg": 267,
103
+ "kind": "local",
104
+ "route_id": "west-road"
105
+ }
106
+ ],
107
+ "name": "Qasra",
108
+ "population": 300,
109
+ "biome": "desert"
110
+ },
111
+ "seed": 2,
112
+ "engine": "village",
113
+ "previewUrl": "https://settlemaker.com/fmg?i=dZDBasMwEET_Zc4KJE5oi479g55LMJtom4jKkpDWNa3xv3fdJg4N9KYR84bZGfEBuzE49OUEOyKnIrBvFCobHL2Q47DogUKoi8qBvghWSq9CuMuBr6qeKcrnLYeyJt1ySiL3zFR8PGnc64jDr2gda4nNk8G7jw4WHfmI2d8Lt37-idrvvJoDMJl7cNcspKThjqz6_I9sHh4XMqSjVv2DDlzlQu4NInV6KF6oFlJfTrkPJD5F2O16rVP69GNwXFnHnHQOZo1ppm8"
114
+ },
115
+ {
116
+ "id": "desert-city",
117
+ "title": "Qasr — desert city",
118
+ "description": "Urban desert architecture, religious buildings and courtyards.",
119
+ "burg": {
120
+ "port": false,
121
+ "citadel": true,
122
+ "walls": true,
123
+ "plaza": true,
124
+ "temple": true,
125
+ "shanty": false,
126
+ "capital": false,
127
+ "roadBearings": [
128
+ {
129
+ "bearing_deg": 18,
130
+ "kind": "main",
131
+ "route_id": "north-road"
132
+ },
133
+ {
134
+ "bearing_deg": 142,
135
+ "kind": "town",
136
+ "route_id": "south-road"
137
+ },
138
+ {
139
+ "bearing_deg": 267,
140
+ "kind": "local",
141
+ "route_id": "west-road"
142
+ }
143
+ ],
144
+ "name": "Qasr",
145
+ "population": 10000,
146
+ "biome": "desert"
147
+ },
148
+ "seed": 2,
149
+ "engine": "settlement",
150
+ "previewUrl": "https://settlemaker.com/fmg?i=dZBRi8IwEIT_yz5HOIt4kkf_gc8iZTV7GtwmIdlatPS_u7279jjBPGXCfMNkeriBXRo4tvkMtocUs4D9Qi5k4OQFHTFYya3KDpnLJBLjAych1CSmSZULBrn_pWDSHJ51jui2hNmHs6btezj-iNqRVlhuDFx9cGChQR9g9LdCtR9fgra7LMYAGMwruKpmUmL3Qha9viOr9edMcjxp1X9oR0V-yYOBgI1-FHZYstpSTC2j-Bi0wIceXdLHb4ejQrrloHsQaU41PAE"
151
+ },
152
+ {
153
+ "id": "tundra-village",
154
+ "title": "Snowmere — tundra village",
155
+ "description": "Snowy dwellings and low tundra vegetation with natural ground instead of arable fields.",
156
+ "burg": {
157
+ "port": false,
158
+ "citadel": false,
159
+ "walls": false,
160
+ "plaza": true,
161
+ "temple": true,
162
+ "shanty": false,
163
+ "capital": false,
164
+ "roadBearings": [
165
+ {
166
+ "bearing_deg": 18,
167
+ "kind": "main",
168
+ "route_id": "north-road"
169
+ },
170
+ {
171
+ "bearing_deg": 142,
172
+ "kind": "town",
173
+ "route_id": "south-road"
174
+ },
175
+ {
176
+ "bearing_deg": 267,
177
+ "kind": "local",
178
+ "route_id": "west-road"
179
+ }
180
+ ],
181
+ "name": "Snowmere",
182
+ "population": 300,
183
+ "biome": "tundra"
184
+ },
185
+ "seed": 2,
186
+ "engine": "village",
187
+ "previewUrl": "https://settlemaker.com/fmg?i=dZDRTgIxEEX_5T7XBFaDpo_8go_GkIGO0NBtm3bqRjb8u7OgSyTxrbe553SmIz5hlwbbVvawI3IqAvtBobLBzgs5DnMeKIQ6pxzoRLBSmgbhPgf-TfVAUb5uHspqunlKIrdmKj7uVfc2YnsNG8c6xPLF4Oijg0VPPmLqN-GNn26iznd4mAQ4m3vwqZtJScMdWfX4H9mtnmcypJ2O-gcduMoP-W4QqddF8RrT0HNhreaUWyDxKcI-Lhb6mz5dOtKiK6TvoTKrqTt_Aw"
188
+ },
189
+ {
190
+ "id": "tundra-city",
191
+ "title": "Frosthold — tundra city",
192
+ "description": "Northern roofs, fortifications and biome-specific ground.",
193
+ "burg": {
194
+ "port": false,
195
+ "citadel": true,
196
+ "walls": true,
197
+ "plaza": true,
198
+ "temple": true,
199
+ "shanty": false,
200
+ "capital": false,
201
+ "roadBearings": [
202
+ {
203
+ "bearing_deg": 18,
204
+ "kind": "main",
205
+ "route_id": "north-road"
206
+ },
207
+ {
208
+ "bearing_deg": 142,
209
+ "kind": "town",
210
+ "route_id": "south-road"
211
+ },
212
+ {
213
+ "bearing_deg": 267,
214
+ "kind": "local",
215
+ "route_id": "west-road"
216
+ }
217
+ ],
218
+ "name": "Frosthold",
219
+ "population": 10000,
220
+ "biome": "tundra"
221
+ },
222
+ "seed": 2,
223
+ "engine": "settlement",
224
+ "previewUrl": "https://settlemaker.com/fmg?i=dZDRTsMwDEX_xc9BYhUClEce-AmEJm_x1gg3jhKHCqr9O-6gnTaJPOVEPjc3meAT_MbBrpUj-AmyFAV_QK7kYB8VAzF4Lc1wROa6QGb8xgWUhsy0UO0x6dclBbPl8MpFMLwQlpiOlvY2we4XtoGswubZwUdMATwMGBPM801pG-eTZO36uzkATu5WfOhWU2W8Matt_zO7x6fVZNlb1St1pKp_5ruDhIM9FF6LVO2Fg81myY1RoyRrcW_LvjPKeUxbCgXtSqhEFtadfgA"
225
+ },
226
+ {
227
+ "id": "tropical-village",
228
+ "title": "Reedbank — tropical river village",
229
+ "description": "A supplied river enables tropical paddy selection; fields follow real parcels.",
230
+ "burg": {
231
+ "port": false,
232
+ "citadel": false,
233
+ "walls": false,
234
+ "plaza": true,
235
+ "temple": true,
236
+ "shanty": false,
237
+ "capital": false,
238
+ "roadBearings": [
239
+ {
240
+ "bearing_deg": 18,
241
+ "kind": "main",
242
+ "route_id": "north-road"
243
+ },
244
+ {
245
+ "bearing_deg": 142,
246
+ "kind": "town",
247
+ "route_id": "south-road"
248
+ },
249
+ {
250
+ "bearing_deg": 267,
251
+ "kind": "local",
252
+ "route_id": "west-road"
253
+ }
254
+ ],
255
+ "name": "Reedbank",
256
+ "population": 300,
257
+ "biome": "tropical",
258
+ "rivers": [
259
+ {
260
+ "centreline": [
261
+ {
262
+ "x": -500,
263
+ "y": 90
264
+ },
265
+ {
266
+ "x": 500,
267
+ "y": 90
268
+ }
269
+ ],
270
+ "widthM": 6
271
+ }
272
+ ]
273
+ },
274
+ "seed": 2,
275
+ "engine": "village",
276
+ "previewUrl": "https://settlemaker.com/fmg?i=dZBBT8MwDIX_i8-d1A0YkCP3XbiiaXIbs1pLkyhxV6Dqf8fdRgeTuPlZ_p6fPcARzLKAqkt7MAPEkATMO7pMBdQsaMnNukfn8qyiwy8EI6lTIdRGRz8qN-jl8-qDUZ2uPimgfSFM7Pdq9zZAdRY7Sxpi-VTAgb0FAy2yh2m-E9rx1PGar1lMBjAWt-D9aiYl9Ddk1vI_crV-nEkXao36B-0py4XcFuCx1UPhlchW6A86GkPsHAoHD-auLPWbHE4zkkLkix0fKZ2vrclLIseeTvIDzOJhovRhz-WUTTu_GrqyZyvNBsx63I76Xd2smcdv"
277
+ },
278
+ {
279
+ "id": "tropical-city",
280
+ "title": "Palmreach — tropical city",
281
+ "description": "Tropical architecture and vegetation in the city engine.",
282
+ "burg": {
283
+ "port": false,
284
+ "citadel": true,
285
+ "walls": true,
286
+ "plaza": true,
287
+ "temple": true,
288
+ "shanty": false,
289
+ "capital": false,
290
+ "roadBearings": [
291
+ {
292
+ "bearing_deg": 18,
293
+ "kind": "main",
294
+ "route_id": "north-road"
295
+ },
296
+ {
297
+ "bearing_deg": 142,
298
+ "kind": "town",
299
+ "route_id": "south-road"
300
+ },
301
+ {
302
+ "bearing_deg": 267,
303
+ "kind": "local",
304
+ "route_id": "west-road"
305
+ }
306
+ ],
307
+ "name": "Palmreach",
308
+ "population": 10000,
309
+ "biome": "tropical"
310
+ },
311
+ "seed": 2,
312
+ "engine": "settlement",
313
+ "previewUrl": "https://settlemaker.com/fmg?i=dZDRisIwEEX_ZZ4jaBGVPPoFvouUsZ21wWkSkqllt_Tfne5uu6xgnnLDnMPNDPAAuzFw7dIN7AAxJAH7gZzJQOUEa2KwkjqNPTLnOUTGL5yDUBuZ5pQb9PL5Z8GoHl5yClgfCZPzN7WdB7j-hLImrbA5GLg7X4OFFp2Hab4TKt304rVds5oEMJpXcFsspIT-hcx6fUcWu_1Ccqi06j-0pyy_5MWAx1Y_CifkNhFWjc7GEDtGccFri7UeXacL32OSQnSTcdS1EKmuGJ8"
314
+ },
315
+ {
316
+ "id": "coastal-village",
317
+ "title": "Dunewick — coastal village",
318
+ "description": "A generated coast from oceanBearing, with coastal buildings and vegetation.",
319
+ "burg": {
320
+ "port": false,
321
+ "citadel": false,
322
+ "walls": false,
323
+ "plaza": true,
324
+ "temple": true,
325
+ "shanty": false,
326
+ "capital": false,
327
+ "roadBearings": [
328
+ {
329
+ "bearing_deg": 210,
330
+ "kind": "town",
331
+ "route_id": "coast-road"
332
+ },
333
+ {
334
+ "bearing_deg": 315,
335
+ "kind": "local",
336
+ "route_id": "dune-path"
337
+ }
338
+ ],
339
+ "name": "Dunewick",
340
+ "population": 300,
341
+ "biome": "coastal",
342
+ "oceanBearing": 90
343
+ },
344
+ "seed": 2,
345
+ "engine": "village",
346
+ "previewUrl": "https://settlemaker.com/fmg?i=XY_RbsIwDEX_xc9Bapn2sDyi_cU0ITfxICLEUepQbVX_fW6BIng8lu_x9QgXsK2BrpYD2BEyFwH7g7EnAy4IeoorDxhjv1KO-IdgpVQFoXOOdKf-iEl-Hx7Manp4CqPfEZaQDqr7GqG7wt6Tlti2jYFTSB4sCA8J5kAV2od54hh72cwGmMxL8q19X5ORnV58ivqaaJNRjjB9G0h41r7wqcMhuJOuZs41ogROqmq0RBd42VluLjZ2hOlWHexHM-mvRCrfTv8"
347
+ },
348
+ {
349
+ "id": "coastal-city",
350
+ "title": "Saltmouth — port city",
351
+ "description": "Port infrastructure beside a generated coastline. This is a bearing-based coast, not a measured survey.",
352
+ "burg": {
353
+ "port": true,
354
+ "citadel": false,
355
+ "walls": true,
356
+ "plaza": true,
357
+ "temple": true,
358
+ "shanty": false,
359
+ "capital": false,
360
+ "roadBearings": [
361
+ 200,
362
+ 300
363
+ ],
364
+ "name": "Saltmouth",
365
+ "population": 12000,
366
+ "biome": "coastal",
367
+ "harbourSize": "large",
368
+ "oceanBearing": 90
369
+ },
370
+ "seed": 2,
371
+ "engine": "settlement",
372
+ "previewUrl": "https://settlemaker.com/fmg?i=RY69DsIwDITfxXOGUCYy8godEYNpTRvJjaP8gGjVd8dFFMY7n7-7BR7gDgZuNQ3gFoiSCriSKhnofMGeGNwdOat-InPej5Fxxl0UmiLTrvKIobx-bx1GBf0xSbA_EyYfBqVdGmvN0dqrgYCTMqBFLpPUMoK2SKyMxUvQlZq0utTLJ9YJ5g1rYMR0k5paP28-YxpIXekIw7cH3MmuOoyoB9esbw"
373
+ },
374
+ {
375
+ "id": "copperline-village",
376
+ "title": "Copperline — industrial village",
377
+ "description": "The same village planner with a complete replacement skin and industrial artwork.",
378
+ "skin": "copperline",
379
+ "burg": {
380
+ "port": false,
381
+ "citadel": false,
382
+ "walls": false,
383
+ "plaza": true,
384
+ "temple": true,
385
+ "shanty": false,
386
+ "capital": false,
387
+ "roadBearings": [
388
+ {
389
+ "bearing_deg": 18,
390
+ "kind": "main",
391
+ "route_id": "north-road"
392
+ },
393
+ {
394
+ "bearing_deg": 142,
395
+ "kind": "town",
396
+ "route_id": "south-road"
397
+ },
398
+ {
399
+ "bearing_deg": 267,
400
+ "kind": "local",
401
+ "route_id": "west-road"
402
+ }
403
+ ],
404
+ "name": "Copperline",
405
+ "population": 250,
406
+ "biome": "industrial"
407
+ },
408
+ "seed": 2,
409
+ "engine": "village"
410
+ },
411
+ {
412
+ "id": "copperline-city",
413
+ "title": "Brassworks — steampunk city",
414
+ "description": "Copperline machinery and brass materials on the existing city layout and semantic feature types.",
415
+ "skin": "copperline",
416
+ "burg": {
417
+ "port": false,
418
+ "citadel": false,
419
+ "walls": false,
420
+ "plaza": true,
421
+ "temple": true,
422
+ "shanty": false,
423
+ "capital": false,
424
+ "roadBearings": [
425
+ {
426
+ "bearing_deg": 18,
427
+ "kind": "main",
428
+ "route_id": "north-road"
429
+ },
430
+ {
431
+ "bearing_deg": 142,
432
+ "kind": "town",
433
+ "route_id": "south-road"
434
+ },
435
+ {
436
+ "bearing_deg": 267,
437
+ "kind": "local",
438
+ "route_id": "west-road"
439
+ }
440
+ ],
441
+ "name": "Brassworks",
442
+ "population": 2000,
443
+ "biome": "steampunk"
444
+ },
445
+ "seed": 2,
446
+ "engine": "settlement"
447
+ }
448
+ ]
449
+ }