* chore: add npm + vite for progressive enhancement
* fix: update Dockerfile to copy only the dist folder contents
* fix: update Dockerfile to use multi-stage build for optimized production image
* fix: correct nginx config file copy command in Dockerfile
* chore: add netlify configuration for build and redirects
* fix: add NODE_VERSION to environment in Netlify configuration
* remove wrong dist folder
* Update package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* chore: split public and src
* migrating all util files from js to ts
* feat: Implement HeightmapGenerator and Voronoi module
- Added HeightmapGenerator class for generating heightmaps with various tools (Hill, Pit, Range, Trough, Strait, etc.).
- Introduced Voronoi class for creating Voronoi diagrams using Delaunator.
- Updated index.html to include new modules.
- Created index.ts to manage module imports.
- Enhanced arrayUtils and graphUtils with type definitions and improved functionality.
- Added utility functions for generating grids and calculating Voronoi cells.
* chore: add GitHub Actions workflow for deploying to GitHub Pages
* fix: update branch name in GitHub Actions workflow from 'main' to 'master'
* chore: update package.json to specify Node.js engine version and remove unused launch.json
* Initial plan
* Update copilot guidelines to reflect NPM/Vite/TypeScript migration
Co-authored-by: Azgaar <26469650+Azgaar@users.noreply.github.com>
* Update src/modules/heightmap-generator.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/utils/graphUtils.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/modules/heightmap-generator.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: Add TIME and ERROR variables to global scope in HeightmapGenerator
* fix: Update base path in vite.config.ts for Netlify deployment
* fix: Update Node.js version in Dockerfile to 24-alpine
---------
Co-authored-by: Marc Emmanuel <marc.emmanuel@tado.com>
Co-authored-by: Marc Emmanuel <marcwissler@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Azgaar <26469650+Azgaar@users.noreply.github.com>
* Add the ability to lock states, provinces, cultures, and religions (#902)
* Add the basis for locking everything, code and test the culture locking
* Got the religion generator working, but not the tree. There are cycles being generated
* Religions work now, including the tree view
* Got the states and provinces working as well, all good and ready
* Refresh the province editor when regenerating
* Implement the versioning steps
* Fix the state naming and color changing even when locked
* The fix did not work with loaded maps, fix that too
* Fix a few more bugs and address the PR feedback
* Fix the state expanding event when they're locked bug
* Implement some logic to ignore state being locked when regenerating provinces directly.
* refactor(#902): start with states regenertion
* refactor(#902): locked states cells to be assigned on start
* refactor(#902): lock state - keep label
* refactor(#902): lock provinces
* refactor(#902): regenerate states - update provinces
* refactor(#902): regenerate cultures
* refactor(#902): regenerate religions
Co-authored-by: Guillaume St-Pierre <gstpierre01@gmail.com>
Co-authored-by: Azgaar <maxganiev@yandex.com>
Grammar policing. Also slight modifications to sofronaspe's sacred tree places (idk what they are called collectively lol) to be slightly more grammatically correct, extending it to sacred peaks, Hot Spring variants, and maybe some other stuff I've forgotten. I have some more ideas for markers as I personally find them super interesting and great for adding depth to a world, just need to gather my thoughts and maybe actully learn how to code.
* A bit variety of points of interest added
* live-server now running, can actually bash things out
* some typos and mirage
* suggestions
* Rarity changes and capitalisation
* Jousts only ever spawn one per map
Co-authored-by: Andrew Rose <andrew.rosed@gmail.com>
Co-authored-by: Azgaar <maxganiev@yandex.ru>
Markers added by procedural generation have custom notes depending on
the type of marker (e.g. dungeons have a procedurally generated map);
however, the notes for markers manually added by the user are empty.
This patch separates the cell selection logic from the legend and name
generation logic in markers-generator.js, so that the latter can be
shared with manually added markers. There is some additional
simplifications such as storing the dx/dy/px/min/each values directly in
the markers table to simplify the writing of the generic "list and add"
loop in `generateTypes()`.
Currently, the legend is only generated when adding a marker of the same
type as an existing marker, and only when a legend generation function
is available for that type. To generate a marker of a type that is not
currently present on the map, one must first change the type field of an
existing marker (which will not get a procedural note), then use "Add
additional marker of that type". The UI for this can be improved later.
Co-authored-by: Basile Clement <basile-github@clement.pm>