mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2026-03-23 15:47:24 +01:00
feat: add optional AI-based name generation for map entities
This commit is contained in:
parent
3f9a7702d4
commit
5b98f55bc7
20 changed files with 1393 additions and 7 deletions
|
|
@ -49,6 +49,7 @@ function editRoute(id) {
|
|||
byId("routeGroupEdit").on("click", editRouteGroups);
|
||||
byId("routeEditStyle").on("click", editRouteGroupStyle);
|
||||
byId("routeGenerateName").on("click", generateName);
|
||||
byId("routeGenerateNameAi").on("click", generateNameAi);
|
||||
|
||||
function getRoute() {
|
||||
const routeId = +elSelected.attr("id").slice(5);
|
||||
|
|
@ -351,6 +352,25 @@ function editRoute(id) {
|
|||
route.name = routeName.value = Routes.generateName(route);
|
||||
}
|
||||
|
||||
async function generateNameAi() {
|
||||
const route = getRoute();
|
||||
const connectedBurgs = [];
|
||||
for (const [_x, _y, cellId] of route.points) {
|
||||
const burgId = pack.cells.burg[cellId];
|
||||
if (burgId && pack.burgs[burgId]) connectedBurgs.push(pack.burgs[burgId].name);
|
||||
}
|
||||
const culture = pack.cells.culture[route.points[0][2]] || 0;
|
||||
try {
|
||||
const name = await AiNames.generateName("route", culture, {
|
||||
routeGroup: route.group,
|
||||
connectedBurgs: connectedBurgs.slice(0, 3)
|
||||
});
|
||||
route.name = routeName.value = name;
|
||||
} catch (err) {
|
||||
if (err.message !== "No API key configured") tip("AI name generation failed: " + err.message, false, "error", 4000);
|
||||
}
|
||||
}
|
||||
|
||||
function showRouteElevationProfile() {
|
||||
const route = getRoute();
|
||||
const length = rn(route.length * distanceScale);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue