LEM is a tool designed to help illustrators generate ideas for whimsical fantasy scenes. It takes input lists and generates a string using random elements from each list, making it easier to come up with unique and creative concepts for illustrations.
The entire project source code was written by ChatGPT from user prompts. This approach has its challenges and unique aspects:
- Prompt Engineering: Communicating detailed requirements to ChatGPT to generate the necessary HTML, CSS, and JavaScript code.
- Iterative Refinement: Making incremental updates and improvements to the code based on ongoing feedback and new requirements.
- Handling Curveballs: Managing occasional inconsistencies, such as unexpected changes or breaking updates in the generated code.
- Collaboration: Combining human creativity and AI-generated code to build a functional and user-friendly tool.
The initial use-case of this application is to generate ideas for illustrations in a whimsical fantasy setting. The illustrations focus on animals or fantasy species (such as those from Dungeons and Dragons or the Lord of the Rings) somewhat anthropomorphized by wearing human attire and/or performing human tasks. This tool was developed to assist illustrators in brainstorming and creating these imaginative scenes.
- Multi-list Management: Create and manage multiple lists of items, including sub-lists for more granular selection.
- File Upload: Load lists from text files formatted with main items and sub-items indented with a tab character.
- Random Output Generation: Generate random combinations of items from each list.
- Presets: Save the current lists as presets and load them later, with each tab maintaining its own lists independently.
- Pre-loaded Lists: Four pre-loaded lists to help you get started, designed to inspire whimsical fantasy scenes.
- Centralized Preset Repository: All tabs can access and save presets to a central repository.
- Feature Suggestions and Issue Reporting: Link to GitHub Issues page for feature suggestions and bug reports.
To use LEM directly in your browser, visit the hosted version on GitHub Pages:
To get started with LEM locally:
-
Clone the Repository:
git clone https://github.com/zcoffin86/ListElementMixer.git cd ListElementMixer
-
Open the HTML File: Open
index.html
in your preferred web browser. -
Use the Tool:
- Click "Add List" to create a new list column.
- Use the "Pick a .txt File" button to load items into the list. The format of the .txt file should have main items on separate lines and sub-items indented with a tab character.
Example format:
Unicorn (Celestial) (Midnight) Dragon (Fire-breathing) (Ice-breathing) Phoenix (Flame) (Ashen)
-
Generate Output: Click "Generate Output" to randomly select an item from each list and combine them into a single output string.
-
Manage Presets: Use the "Save Preset" button to save your current lists configuration. Load a saved preset using the "Load Preset" button and delete presets with the "Delete Preset" button.
We welcome contributions to improve LEM. To contribute:
- Fork the Repository: Click the "Fork" button at the top right of this page.
- Create a Branch:
git checkout -b feature/YourFeatureName
- Commit Your Changes:
git commit -m 'Add some feature'
- Push to the Branch:
git push origin feature/YourFeatureName
- Open a Pull Request: Submit your pull request on GitHub.
If you have ideas for new features or encounter any issues, please visit our GitHub Issues page to submit your suggestions or report problems.
For insights into the development process and to learn how to write effective prompts for ChatGPT, you can view our chat logs:
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to my illustrator friend for inspiring the creation of this tool, and to ChatGPT for generating the initial codebase.
Happy mixing and may your illustrations be full of whimsy and fantasy!