Azgaar / Fantasy-Map-Generator

Web application generating interactive and highly customizable maps

Home Page:https://azgaar.github.io/Fantasy-Map-Generator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prevent duplicate names from being generated across map?

buttonpushertv opened this issue · comments

Problem
Not a "problem," persay, but when making use of the various locations generated by FMG, having the ability to remove, modify, or purge duplicated names could make processing the data into other platforms a little less painful.

I know this is a little less realistic, but in my specific use case, I am trying to import the state, province, and burg data from a FMG map into Markdown notes for use in Obisdian. Using the JSON/CSV Importer plugin, I have a working proof of concept setup that allows me to import those locations into individual documents. Linking and references to human-readable values from that data work well and can be extracted. The issue comes with locations that have duplicate names to other locations. These duplicates can create link confusion within Obsidian.

The link confusion can be remedied by manually editing individual notes, but that is a tedious and arduous task for a FMG map with hundreds of elements.

Solution
Would it be possible to have a setting within FMG that could be checked on or off that could prohibit duplicate names from being generated? Or could there be a tool added within FMG that could "scrub" through the names of all elements and either automatically rename those that are duplicated OR prompt you with a dialog of those that are duplicated and allow you to edit the specific items you wish to change?

Alternatives
The dev of the JSON/CSV Importer plugin has implemented some handling for duplicate names, but I thought I'd inquire if it would be possible to handle the issue on the FMG side at generation or within the FMG data for a given map.

Since the name generation is procedural, there's the risk that running a "remove duplicates" will return new duplicates. The cases to avoid repeating an existing name would probably be too heavy on the existing code, and a process that checks for duplicates and reruns the generation would probably slow down the tool by having to loop multiple times.
A recommendation for the time being would be to have the identifiers being a concatenation of the ID column and the Name column, that way will completely ensure no duplicates on the output. By this, meaning to adjust the process of the importer itself to simply create an index column that consists of "Name of feature + ID"

Well, I can definitely remove the duplicated, but not sure that it's a common request and a lot of people need it. Generally you can just change your approach and add an index to the names to make them unique, so it should not be a problem. Also you can just ask AI to remove the duplicated for you or create a script to remove them.

Having duplicates is not any sort of show stopping issue. Creating notes in Obsidian with the index as part of the name or using a tool that is now part of the JSON import plugin (processing of pseudo helpers on the import stage of filenaming) seems like good approaches to work within the existing system of having a map that may have duplicates.

Thanks for your thoughts. I think I'll close this issue and make use of the options I do have on the import side. No need to make any plans on FMG's end for now.

Please let me know if you have issues with that, I can probably help