diff --git a/.github/img/all-menu.png b/.github/img/all-menu.png new file mode 100644 index 0000000..ca22a6d Binary files /dev/null and b/.github/img/all-menu.png differ diff --git a/.github/img/to_cave.png b/.github/img/to_cave.png index 9496b8e..89dfd5b 100644 Binary files a/.github/img/to_cave.png and b/.github/img/to_cave.png differ diff --git a/.github/img/to_dwellings.png b/.github/img/to_dwellings.png index 451a214..4e26e2f 100644 Binary files a/.github/img/to_dwellings.png and b/.github/img/to_dwellings.png differ diff --git a/.github/img/to_mfcg.png b/.github/img/to_mfcg.png index c887532..001ffb9 100644 Binary files a/.github/img/to_mfcg.png and b/.github/img/to_mfcg.png differ diff --git a/.github/img/to_viewer.png b/.github/img/to_viewer.png index 974eae1..8bbbfe2 100644 Binary files a/.github/img/to_viewer.png and b/.github/img/to_viewer.png differ diff --git a/.github/img/to_village.png b/.github/img/to_village.png index 1678d9b..0da3ca3 100644 Binary files a/.github/img/to_village.png and b/.github/img/to_village.png differ diff --git a/README.RU.md b/README.RU.md index 8beaed0..4ed49a3 100644 --- a/README.RU.md +++ b/README.RU.md @@ -24,6 +24,8 @@ Работа с данными построена на принципе proto-first, но с сохранением поддержки старых json-форматов экспорта. Если Вы планируете создавать свое решение с использованием данного генератора, рекомендую рассчитывать только на бинарные proto-файлы так как импорт/экспорт в json сфокусирован в первую очередь на поддержке старых вариантов и первоначальных watabou-генераторов. proto-файлы в свою очередь гарантируют долгосрочную поддержку даже в случае добавления нового функционала - старые сохраненные файлы будут поддерживаться и в новых версиях, без потери обратной совместимости. +Импорт работает только с расширенной версией экспорта - старые экспортированные файлы (watabou-экспорт) не откроется на редактирование в MFCG так как в файлах нет нужных полей для восстановления на редактирование. + ### Формирование бинарных файлов Все бинарные файлы формируются на основании proto-файлов которые лежат в папке: [protobuf](./protobuf) @@ -53,32 +55,38 @@ Работа ещё не завершена; Окончательная цель - получить полностью самодостаточный генератор и редактор который не требует никаких внешних ресурсов и способен в удобном формате описывать целый мир, начиная от высокого уровня (планета) и заканчивая низким (дома, поляны и пещеры) -### Что было изменено в целом: +### Что было сделано в целом: - Эти генераторы теперь полностью локальные. То есть они могут работать без интернета: все подключения внутренние, а загружаемые файлы включены в проект. - Реализована максимальная автоматизация. Вы можете удобно собрать всё под свой кейс, взаимодействуя только с конструкторами и JSON-параметрами. -- Я написал `openapi.json` для генераторов и сделал его доступным напрямую через RapiDoc. -- Я изменил подход к маршалингу, сделав его proto-first. -- Я добавил импорт/экспорт в бинарный файл: чистый protobuf. Обратная совместимость сохранена. -- Я попытался стандартизировать контекстное меню так, чтобы пункты в разных генераторах находились в одних и тех же местах и имели одинаковые названия. Я также добавил функциональность для тех генераторов, у которых её не было (`Permalink...`, `Fullscreen`). -- Я добавил возможность открывать города и деревни прямо в 3D-просмотрщике (`View in 3D`). -- Я сделал диалоги более дружелюбными (например, теперь явно сообщается, в чём проблема при импорте). -- Я добавил префиксы для экспортируемых файлов (`*.palette.mf.json`, `*.mf.json`), чтобы было понятно, что к чему относится, не заглядывая внутрь. -- Я опубликовал это как отдельный [веб-ресурс](https://maphub.webtools.download), включая [PWA](https://en.wikipedia.org/wiki/Progressive_web_app), что позволяет установить его как приложение, которому не нужен интернет. +- Создан `openapi.json` для генераторов, оно доступно напрямую через RapiDoc. +- Изменен подход к маршалингу, сделав его proto-first. +- Добавлено импорт/экспорт в бинарный файл: чистый protobuf (импорт для MFCG и Village работает только с расширенными файлами экспорта, так как стандартных недостаточно для того что бы восстановить карту на редактирование). Обратная совместимость сохранена. +- Стандартизация контекстных меню, чтобы пункты в разных генераторах находились в одних и тех же местах и имели одинаковые названия. Были переформированы группы ради максимального улучшения UI. Также добавлена функциональность для тех генераторов, у которых её не было (`Permalink...`, `Fullscreen`). +- Добавлена возможность открывать города и деревни прямо в 3D-просмотрщике (`View in 3D`). +- Диалоги сделаны более дружелюбными (например, теперь явно сообщается, в чём проблема при импорте). Так же добавлены прелоадеры для тяжелых операций по типу экспорта PNG. +- Появились префиксы для экспортируемых файлов (`*.palette.mf.json`, `*.mf.json`), чтобы было понятно, что к чему относится, не заглядывая внутрь. +- Исправлено множество мелких багов для краевых условий. +- Добавлен новый функционал (обработка колесика мышки в MFCG и Dwellings, а так же сложная линейка для MFCG) +- Опубликовано это как отдельный [веб-ресурс](https://maphub.webtools.download), включая [PWA](https://en.wikipedia.org/wiki/Progressive_web_app), что позволяет установить его как приложение, которому не нужен интернет. ### Планы на будущее: - ~~Перенести импорт/экспорт палитр в proto.~~ - Добавить экспорт для Cave/Glade Generator. -- Добавить возможность импортировать схемы из файла для всех генераторов, кроме City Viewer (поскольку у City Viewer уже есть импорт). +- ~~Добавить возможность импортировать схемы из файла для всех генераторов, кроме City Viewer (поскольку у City Viewer уже есть импорт).~~ - Добавить 3D-визуализатор для зданий (отдельный или просто расширить функциональность City Viewer). -- Добавить расширенный режим экспорта, который переносит имена, подписи и другие поля. +- ~~Добавить расширенный режим экспорта, который переносит имена, подписи и другие поля.~~ - Добавить генерацию указателей Cave/Glade в Medieval-Fantasy-City/Village Generator. - После расширенного экспорта станет возможно связать Cave/Glade/Dwellings Generator и Medieval-Fantasy-City/Village Generator. - Сделать отдельно собираемым или расширить текущую сборку списком сохранённых карт и палитр прямо в приложении. ## Галерея +### Все контекстные меню одной картинкой + + + ### Как изменилось контекстное меню #### Cave/Glade Generator diff --git a/README.md b/README.md index 278c1f0..b48ce14 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,19 @@ [Перейти к Русской версии](./README.RU.md) -## Technical part +## Technical details -### Build and publishing +### Build and deployment -To build, it’s enough to run `npm run build` so that the project is fully built into the `dist` folder. +To build, run `npm run build` — the project will be built into the `dist` folder. -To make it available locally in the browser, run `npm run preview`. +To make it available locally in your browser, run `npm run preview`. -When deploying to a server, it’s enough to move the contents of the `dist` folder to the root. +For deployment on a server, copy the contents of the `dist` folder to the web root. -### Other features +### Other notes -This project is built based on predefined values and page templates; to make changes, it’s enough to interact with these files: +This project is built from predefined values and page templates; to make changes, it’s enough to work with these files: - [package.json](./package.json) - [static.config.mjs](./static.config.mjs) @@ -22,11 +22,13 @@ This project is built based on predefined values and page templates; to make cha If needed, you can “cut out” only one specific generator — at the code level they are self-contained and independent of their neighbors. -Work with data is built on the proto-first principle, while keeping support for older JSON export formats. If you plan to create your own solution using this generator, I recommend relying only on binary proto files, because JSON import/export is primarily focused on supporting older variants and the original watabou generators. Proto files, in turn, guarantee long-term support even if new functionality is added — old saved files will be supported in new versions without losing backward compatibility. +Data handling follows a proto-first approach, while keeping support for older JSON export formats. If you plan to create your own solution using this generator, I recommend relying only on binary proto files, because JSON import/export is primarily focused on supporting older variants and the original watabou generators. Proto files, in turn, guarantee long-term support even if new functionality is added — old saved files will be supported in new versions without losing backward compatibility. -### Binary file structure +Import only works with the extended export format — older exported files (watabou export) won’t open for editing in MFCG, because those files don’t contain the fields required to restore a map for editing. -All binary files are generated from proto definitions located in the [protobuf](./protobuf) directory. +### Generating binary files + +All binary files are generated from proto files located in the [protobuf](./protobuf) directory. Import accepts both raw binary proto objects from root structures and objects wrapped in a typed envelope with CRC32. @@ -47,7 +49,7 @@ Root structures: ## About the project -This project is a consolidation into one project of map generators by [watabou](https://github.com/watabou/) that he published at [watabou.github.io](https://watabou.github.io). Not all of them are publicly available, and even what is available is written in a not-so-popular language. +This project brings together the map generators by [watabou](https://github.com/watabou/) that he published at [watabou.github.io](https://watabou.github.io). Not all of them are publicly available, and even what is available is written in a not-so-popular language. I took the web version implemented in JS and made many changes to it. @@ -57,28 +59,34 @@ The work is not finished yet; the final goal is to get a fully self-contained ge - These generators are now fully local. That is, they can work without the internet: all connections are internal, and the downloaded files are included in the project. - Maximum automation has been implemented. You can conveniently assemble everything for your use case by interacting only with constructors and JSON parameters. -- I wrote `openapi.json` for the generators and made it available directly via RapiDoc. -- I changed the marshalling approach, making it proto-first. -- I added import/export to a binary file: pure protobuf. Backward compatibility is preserved. -- I tried to standardize the context menu so that items in different generators are in the same places and have the same names. I also added functionality for those generators that didn’t have it (`Permalink...`, `Fullscreen`). +- `openapi.json` has been created for the generators; it’s available directly via RapiDoc. +- I changed the serialisation approach, making it proto-first. +- I added import/export to a binary file: pure protobuf (import for MFCG and Village only works with extended export files, because the standard ones aren’t enough to restore a map for editing). Backward compatibility is preserved. +- Context menus have been standardised so that items across generators are in the same places and have the same names. Groups were reorganised to improve the UI as much as possible. Functionality was also added for generators that didn’t have it (`Permalink...`, `Fullscreen`). - I added the ability to open cities and villages directly in the 3D viewer (`View in 3D`). -- I made dialogs more user-friendly (for example, it now clearly reports what the problem is during import). +- Dialogs have been made more user-friendly (for example, it now clearly reports what the issue is during import). Loading indicators were also added for heavy operations such as PNG export. - I added prefixes for exported files (`*.palette.mf.json`, `*.mf.json`) so it’s clear what relates to what without looking inside. +- Many small edge-case bugs were fixed. +- New functionality was added (mouse-wheel handling in MFCG and Dwellings, and an advanced ruler for MFCG). - I published it as a separate [web resource](https://maphub.webtools.download), including a [PWA](https://en.wikipedia.org/wiki/Progressive_web_app), which makes it possible to install it as an app that doesn’t need the internet. ### Plans for the future: - ~~Move palette import/export to proto.~~ - Add export for Cave/Glade Generator. -- Add the ability to import schemes from a file for all generators except City Viewer (since City Viewer already has import). +- ~~Add the ability to import schemes from a file for all generators except City Viewer (since City Viewer already has import).~~ - Add a 3D visualizer for buildings (separate or just extend City Viewer functionality). -- Add an advanced export mode that transfers names, labels, and other fields. +- ~~Add an advanced export mode that transfers names, labels, and other fields.~~ - Add generation of Cave/Glade pointers in Medieval-Fantasy-City/Village Generator. - After advanced export, it will be possible to link Cave/Glade/Dwellings Generator and Medieval-Fantasy-City/Village Generator. - Make it separately buildable or extend the current build with a list of saved maps and palettes directly in the app. ## Gallery +### All context menus in one image + + + ### How the context menu changed #### Cave/Glade Generator diff --git a/languages/en.json b/languages/en.json index a74229f..076fc34 100644 --- a/languages/en.json +++ b/languages/en.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "
This page is a compact hub for several procedural generators of maps and floor plans. The idea is simple: open a tool, quickly get a result, tweak parameters if needed, and export it for any purpose.
\nWhy a separate hub? When you work with multiple generators, it\u2019s easier to have a single entry point with clear descriptions, a unified style, and fast access to exports\u2014in one place, in one style, and fully compatible with each other.
Key info:
This page started as a weekend hobby; all generators are written by watabou, and the improvements and consolidation into a single page were done by sunsung
" + "introHtml": "This page is a compact hub for several procedural generators of maps and floor plans. The idea is simple: open a tool, quickly get a result, tweak parameters if needed, and export it for any purpose.
How does this hub differ from watabou generators?
This page started as a weekend hobby; all generators are written by watabou, and the improvements and consolidation into a single page were done by sunsung
" } diff --git a/languages/fr.json b/languages/fr.json index 9e72078..b43957d 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "Cette page est un hub compact pour plusieurs générateurs procéduraux de cartes et de plans. L’idée est simple : ouvrir un outil, obtenir rapidement un résultat, ajuster les paramètres si besoin et exporter pour tout usage.
\nPourquoi un hub séparé ? Lorsque vous utilisez plusieurs générateurs, il est plus pratique d’avoir un point d’entrée unique avec des descriptions claires, un style cohérent et un accès rapide aux exports — au même endroit, dans le même style et entièrement compatibles entre eux.
Informations principales :
Cette page est née comme un hobby de week‑end ; tous les générateurs sont écrits par watabou, et les améliorations ainsi que la mise en page unique ont été réalisées par sunsung
" -} \ No newline at end of file + "introHtml": "Cette page est un hub compact pour plusieurs générateurs procéduraux de cartes et de plans. L’idée est simple : ouvrir un outil, obtenir rapidement un résultat, ajuster les paramètres si besoin et exporter pour tout usage.
Qu’est-ce qui distingue ce hub des générateurs watabou ?
Cette page est née comme un hobby de week‑end ; tous les générateurs sont écrits par watabou, et les améliorations ainsi que la mise en page unique ont été réalisées par sunsung
" +} diff --git a/languages/it.json b/languages/it.json index 568e424..5e62071 100644 --- a/languages/it.json +++ b/languages/it.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "Questa pagina è un hub compatto per diversi generatori procedurali di mappe e planimetrie. L’idea è semplice: aprire uno strumento, ottenere rapidamente un risultato, ritoccare i parametri se serve ed esportare per qualsiasi scopo.
\nPerché un hub separato? Quando lavori con più generatori, è più comodo avere un unico punto di accesso con descrizioni chiare, uno stile coerente e accesso rapido alle esportazioni — tutto in un solo posto, con lo stesso aspetto e pienamente compatibile tra loro.
Informazioni principali:
Questa pagina è nata come hobby del fine settimana; tutti i generatori sono stati scritti da watabou, le modifiche e l’unificazione in un’unica pagina sono state fatte da sunsung
" -} \ No newline at end of file + "introHtml": "Questa pagina è un hub compatto per diversi generatori procedurali di mappe e planimetrie. L’idea è semplice: aprire uno strumento, ottenere rapidamente un risultato, ritoccare i parametri se serve ed esportare per qualsiasi scopo.
In che cosa questo hub è diverso dai generatori watabou?
Questa pagina è nata come hobby del fine settimana; tutti i generatori sono stati scritti da watabou, le modifiche e l’unificazione in un’unica pagina sono state fatte da sunsung
" +} diff --git a/languages/pl.json b/languages/pl.json index 6b09fa6..1f8cb8e 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "Ta strona to kompaktowy hub dla kilku proceduralnych generatorów map i planów. Pomysł jest prosty: otworzyć narzędzie, szybko uzyskać rezultat, w razie potrzeby dopracować parametry i wyeksportować w dowolnym celu.
\nDlaczego osobny hub? Gdy pracujesz z kilkoma generatorami, wygodniej mieć jedno wejście z czytelnymi opisami, spójnym stylem i szybkim dostępem do eksportów — w jednym miejscu, w jednym stylu i w pełni kompatybilne między sobą.
Podstawowe informacje:
Ta strona powstała jako weekendowe hobby; wszystkie generatory napisał watabou, a dopracowanie i scalenie w jedną stronę zrobił sunsung
" -} \ No newline at end of file + "introHtml": "Ta strona to kompaktowy hub dla kilku proceduralnych generatorów map i planów. Pomysł jest prosty: otworzyć narzędzie, szybko uzyskać rezultat, w razie potrzeby dopracować parametry i wyeksportować w dowolnym celu.
Czym ten hub różni się od generatorów watabou?
Ta strona powstała jako weekendowe hobby; wszystkie generatory napisał watabou, a dopracowanie i scalenie w jedną stronę zrobił sunsung
" +} diff --git a/languages/pt.json b/languages/pt.json index dafbb33..8701519 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "Esta página é um hub compacto para vários geradores procedurais de mapas e plantas. A ideia é simples: abrir uma ferramenta, obter rapidamente um resultado, ajustar os parâmetros se necessário e exportar para qualquer finalidade.
\nPorquê um hub separado? Quando trabalhas com vários geradores, é mais cómodo ter um ponto de entrada único com descrições claras, um estilo consistente e acesso rápido às exportações — tudo num só lugar, num só estilo e totalmente compatível entre si.
Informação principal:
Esta página nasceu como um hobby de fim de semana; todos os geradores foram feitos por watabou, e a integração e unificação numa única página foi feita por sunsung
" -} \ No newline at end of file + "introHtml": "Esta página é um hub compacto para vários geradores procedurais de mapas e plantas. A ideia é simples: abrir uma ferramenta, obter rapidamente um resultado, ajustar os parâmetros se necessário e exportar para qualquer finalidade.
Em que é que este hub difere dos geradores watabou?
Esta página nasceu como um hobby de fim de semana; todos os geradores foram feitos por watabou, e a integração e unificação numa única página foi feita por sunsung
" +} diff --git a/languages/ru.json b/languages/ru.json index b7b5857..d0b18de 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -496,5 +496,5 @@ ] } }, - "introHtml": "Эта страница — компактный хаб для нескольких процедурных генераторов карт и планов. Идея проста: открыть инструмент, быстро получить результат, при необходимости подправить параметры и экспортировать для каких либо целей.
\nЗачем отдельный хаб? Когда вы работаете с несколькими генераторами, удобнее иметь единый вход с понятными описаниями, единым стилем и быстрым доступом к экспортам — в одном месте, в одном стиле и полностью совместимо между собой.
Основная информация:
Эта страница родилась как хобби выходного дня, все генераторы написаны watabou, доработки сведение в единую страницу сделал sunsung
" + "introHtml": "Эта страница — компактный хаб для нескольких процедурных генераторов карт и планов. Идея проста: открыть инструмент, быстро получить результат, при необходимости подправить параметры и экспортировать для каких либо целей.
Чем этот хаб отличается от watabou-генераторов?
Эта страница родилась как хобби выходного дня, все генераторы написаны watabou, доработки и сведение в единую страницу сделал sunsung
" } \ No newline at end of file diff --git a/languages/uk.json b/languages/uk.json index 76e9c6b..330a475 100644 --- a/languages/uk.json +++ b/languages/uk.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "Ця сторінка — компактний хаб для кількох процедурних генераторів карт і планів. Ідея проста: відкрити інструмент, швидко отримати результат, за потреби підкоригувати параметри та експортувати для будь-яких цілей.
\nНавіщо окремий хаб? Коли ви працюєте з кількома генераторами, зручніше мати єдиний вхід із зрозумілими описами, єдиним стилем і швидким доступом до експорту — в одному місці, в одному стилі й повністю сумісно між собою.
Основна інформація:
Ця сторінка народилася як хобі вихідного дня, усі генератори написані watabou, доопрацювання та зведення в єдину сторінку зробив sunsung
" -} \ No newline at end of file + "introHtml": "Ця сторінка — компактний хаб для кількох процедурних генераторів карт і планів. Ідея проста: відкрити інструмент, швидко отримати результат, за потреби підкоригувати параметри та експортувати для будь-яких цілей.
Чим цей хаб відрізняється від watabou‑генераторів?
Ця сторінка народилася як хобі вихідного дня, усі генератори написані watabou, доопрацювання та зведення в єдину сторінку зробив sunsung
" +} diff --git a/languages/zh.json b/languages/zh.json index 3ae5144..f55d379 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -494,5 +494,5 @@ ] } }, - "introHtml": "本页是一个紧凑的枢纽,用于多个程序化的地图与平面生成器。想法很简单:打开工具,快速得到结果,需要时调整参数,并导出以用于任何用途。
\n为什么需要单独的枢纽? 当你同时使用多个生成器时,把它们放在一个入口会更方便:清晰的说明、统一的风格、以及对导出功能的快速访问——同一处,同一风格,并且彼此完全兼容。
基本信息:
这个页面起初只是周末的小爱好;所有生成器均由 watabou 编写;将它们整合成统一页面的改动由 sunsung 完成
" -} \ No newline at end of file + "introHtml": "本页是一个紧凑的枢纽,用于多个程序化的地图与平面生成器。想法很简单:打开工具,快速得到结果,需要时调整参数,并导出以用于任何用途。
这个枢纽与 watabou 生成器相比有什么不同?
这个页面起初只是周末的小爱好;所有生成器均由 watabou 编写;将它们整合成统一页面的改动由 sunsung 完成
" +} diff --git a/package.json b/package.json index 80c825f..051554f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "fantasy-maphub", "name_full": "Fantasy MapHub Generators", - "version": "1.2.5", - "description": "An offline-first hub that bundles several Watabou map generators into one consistent web app: same UI patterns, local assets, and modern import/export. It adds OpenAPI docs, proto-first serialization (including pure protobuf files), and a PWA build so everything works without an internet connection.", + "version": "1.2.6-edit-ui-texts.0", + "description": "Offline windowed map editor for detailed city layouts. Based on the original Watabou editor and expanded into a full-featured app with fast generation, rich editing tools, an advanced ruler, standardized context menus, progress feedback for heavy exports, extended import/export for round-trip editing with backward compatibility, and one-click handoff to the 3D viewer.", "license": "MPL-2.0", "author": "mail@sunsung.fun", "homepage": "maphub.webtools.download", diff --git a/pages.config.mjs b/pages.config.mjs index 9758722..c70f857 100644 --- a/pages.config.mjs +++ b/pages.config.mjs @@ -110,7 +110,7 @@ export const PAGES = { frame_rate: 60, }, about:{ - text: "A “one-page dungeon” style tool for natural locations—caves, burrows, or linked forest clearings—with quick styling, water level control, optional connecting roads, and PNG/SVG export.", + text: "Create natural locations in a “one-page dungeon” style: caves, burrows, or linked forest clearings. Generate a layout fast, then tweak the style, adjust the water level, and add optional connecting roads for larger regions. Export clean PNG/SVG for play or reference, and save editable projects with JSON/PROTO import/export. Works offline as an installable app. \n\nBased on generator by watabou.", }, }), }, @@ -134,7 +134,7 @@ export const PAGES = { frame_rate: 60, }, about:{ - text: "A dedicated 3D viewer: import compatible JSON/PROTO, switch view modes and lighting/styles, jump to random scenes, and export the result as an OBJ model.", + text: "Explore generated towns and cities in 3D. \nImport compatible JSON/PROTO, fly around with simple camera controls, switch rendering modes, lighting, and style presets, and jump to random scenes for quick inspiration. \nExport the result as an OBJ model for further work in external tools. Works offline as an installable app. \n\nBased on generator by watabou.", }, }), }, @@ -159,7 +159,7 @@ export const PAGES = { frame_rate: 60, }, about:{ - text: "A highly configurable medieval city map maker with lots of controls (walls/river, outline shaping, procedural district names), standardized context menus, integrations with Dwellings and City Viewer, and PNG/SVG + JSON/PROTO export.", + text: "Create detailed medieval-fantasy city maps in seconds. \nTweak the layout, districts, streets, walls, and waterways, then annotate the result and measure distances with line/curve tools. \nImport and continue editing saved projects (JSON/PROTO), export as PNG/SVG or editable JSON/PROTO, and open the same city in the built-in 3D viewer. Works offline as an installable app. \n\nBased on generator by watabou.", }, }), }, @@ -183,7 +183,7 @@ export const PAGES = { frame_rate: 60, }, about:{ - text: "Generates believable floorplans from cottages to mansions and small castles, with room purposes, multi-floor layouts (plus optional basement), an editable footprint blueprint, elevation view, and PNG/SVG + JSON/PROTO export.", + text: "Design believable building floorplans—from cottages to mansions and small castles—with smart room placement and multi-floor layouts (optional basement). Edit the footprint blueprint and labels, preview an elevation view, and export clean PNG/SVG for handouts. Save and continue later with editable JSON/PROTO import/export. Works offline as an installable app. \n\nBased on generator by watabou", }, }), }, @@ -207,7 +207,7 @@ export const PAGES = { frame_rate: 30, }, about:{ - text: "Builds rural settlements around winding roads: fewer houses than a city, more fields and trees. Includes terrain presets (bridges/piers when needed), relief shading, orchards/squares, integration with Dwellings and the 3D viewer, and PNG/SVG + JSON/PROTO export.", + text: "Generate a believable rural settlement built around winding roads: fewer houses than a city, more farms, orchards, trees, and open space. \nQuickly try terrain presets (with bridges/piers when needed), adjust the look with relief shading, and refine the layout before exporting. Import saved projects (JSON/PROTO), export as PNG/SVG or JSON/PROTO, and jump to the 3D viewer or Dwellings when you want more detail. Works offline as an installable app.\n\nBased on generator by watabou.", }, }), }, diff --git a/public/404.html b/public/404.html index edee1bd..0ce1987 100644 --- a/public/404.html +++ b/public/404.html @@ -110,6 +110,13 @@