Skip Navigation

Search

Helping perchance as an experienced dev

I've received a few messages from experienced developers asking how they might be able to help improve Perchance. I typed out a decently long (but somewhat rambling and incomplete) response to a message just now and figured I might as well post it publicly for the benefit of others who are interested.

The TL;DR is probably: The most impactful thing that devs can do for the perchance community is to just have fun building things (generators/plugins/etc) that are interesting/useful to you, and then share your creations with friends or communities that might enjoy them. This is very helpful!

Message response below:

---

The Perchance site itself is really just a code editor with a sandboxed iframe (that the code is thrown into), and a mongodb server for accounts/generators, so not a lot of my dev time goes into that level of the platform. And the DSL/engine doesn't change much at this point (though an overhaul will likely come at some point), so most of my time is spent on creating plugins, examples/applications, and stuff like that.

I could add a bunch more features to the site, but I prefer to keep the foundation very simple, which is why I create plugins like perchance.org/upload-plugin and perchance.org/comments-plugin and so on. I.e. instead of adding comments as a "native" feature, I just add it as a plugin, which allows me to be more nimble and experimental.

There are limits to this, of course. One native feature that is sorely needed imo is collaborative editing - akin to Google Docs, so you can just share a link to start working on stuff with others. Another is optional AI-assisted code auto-completion. For both of those I need to upgrade to CodeMirror 6, but the Lezer stuff is kinda gnarly. If someone managed to get the Perchance DSL highlighted with CodeMirror 6 that would be very handy, but this is definitely not a "good first issue". I did spend one day on it, thinking that's all it'd take, but I now realize that it's something which I'll need to set aside several days for, and I've been putting it off.

Here's the basic setup for CodeMirror 6: https://perchance.org/codemirror6-basic-html#edit

And I originally thought I'd use the same mixed parsing approach that @codemirror/lang-html uses, except instead of the HTML script tags triggering the transition from non-JS text to JS-highlighted text, it'd be square brackets (and function headers), but I think the problem with that is that the HTML parser has the advantage that the closing script tag in HTML code always means "end of JS" (even if it's e.g. in the middle of a JS string! this can be somewhat surprising to many web devs), whereas closing square brackets can 'validly' occur in JS code without necessarily indicating the end of a square block. Someone here seems to have come to the conclusion that Lezer might not be a good fit for this sort of thing, and so a stream parser might be the way to go, but I'm not so sure, because IIUC, @codemirror/lang-javascript manages to do it with template strings. I.e. ${ to indicate start of JS, and } to indicate end. That's almost identical to what is needed for the Perchance DSL, so it seems like Lezer can do this. But maybe @codemirror/lang-javascript is doing some non-Lezer stuff, since IIRC there are some proprocessing/tokenization things you can do before it gets passed to Lezer. Either way, using the official JavaScript (or html/markdown/etc - which includes it as a sub-module) parser, with some minimal modifications, is probably the way to go, since I don't want to have to maintain a from-scratch lib of that level of complexity.

So that's one thing that comes to mind right now, but that said, probably the most helpful thing that community members can to do to help Perchance is to create generators/plugins/games/etc. An interesting one that I noticed a few days ago, as an example: https://perchance.org/ai-roguelike and another: https://perchance.org/infinitecraft-but-its-a-trading-card-game

The advantage of helping in this way is: 1) it's fun and you can just build stuff that's interesting to you, and 2) it doesn't require any coordination with me or anyone else. The latter point is pretty important because I'm a pretty solitary/hermit type of person, so it may be hard to get in contact with me for several weeks at a time.

I've spent quite a bit of time recently building generators to try and provide examples of games/experiences/tools that can be created with the AI plugins. The more people there are doing this, the more I can move down to the lower levels of Perchance. My bottleneck is currently at the higher "application" level, rather than the platform level, if that makes sense.

0

Welcome to 'Perchance.org' Community! (Posting Rules/How to Post from Mastodon/Other Community Links)

Welcome to the Perchance Community!

Perchance.org is a platform for sharing and creating random text generators.

This Lemmy community is for:

  • Asking for help with problems, issues, or requests about generators in Perchance
  • Sharing and showcasing your created generators, templates, plugins, or pages in Perchance
  • Starting friendly discussions about topics related to Perchance
If it is your first time in using Lemmy, please check out this message from Lemmy.World and the Support Page from Lemmy.World to get started on using Lemmy.

Posting from Mastodon

Feel free to checkout this post to know how to post in this Lemmy Community through Mastodon.

Other Community Links

Rules

Here are some rules in this community:

  • Please follow the lemmy.world instance rules.
    • The full rules are posted here: (https://legal.lemmy.world/)
    • User Rules: (https://legal.lemmy.world/fair-use/)
  • Be kind and friendly.
    • Please be kind to others on this community (and also in general), and remember that for many people Perchance is their first experience with coding. We have members for whom English is not their first language, so please be take that into account too :)
  • Be thankful to those who try to help you.
    • If you ask a question and someone has made an effort to help you out, please remember to be thankful! Even if they don't manage to help you solve your problem - remember that they're spending time out of their day to try to help a stranger :)
  • Only post about stuff related to perchance.
    • Please only post about perchance related stuff like generators on it, bugs, and the site.
  • Search through the Community Before Posting
    • Please Search through the Community Posts here (and on Reddit) before posting to see if what you will post has similar post/already been posted.

Posting

Here are some optional tags to add in your title to categorize the posts. These are merely tags, you still need to title your post effectively.

  • [Bug] - if you think you find any bug in Perchance, use this tag.
  • [Question] or [Help] - this is to denote that your post is a question or requesting for help
  • [Suggestion] - for any suggestions in Perchance
  • [Feedback] or [Appreciation] - for any feedback or appreciation to any generator or to Perchance in general.
  • [{Generator Category}] - Used to share any generator with the specified category
    • Text, Image, Template, Hub, Plugin, Preprocessor, Community/RP, Game, Experiment, Useful Generator
  • [Fluff] or [Non-Generator] - Non-generator posts but about Perchance
  • [Tutorial] or [Guide] - for any Perchance related tutorials or guides to help others

AI Plugins Posts

Here is a FAQ for the AI tools in Perchance.

We would like to ask to refrain from posting here needing help specifically with prompting/achieving certain results with the AI plugins (text-to-image-plugin and ai-text-plugin) e.g. "What is the good prompt for X?", "How to achieve X with Y generator?"

There are guides, tutorials, and resources on the internet that can be applied when prompting in the AI tools in Perchance.

We will still be helping/answering questions about the plugins as long as it is related to building generators with them.

If you need help in prompting, please post on the 'sister' forum at Casual Perchance

---

Getting Started with Perchance

To get started with Perchance, check out the Perchance Tutorial or the Beginner Tutorial at the Perchance Hub Learn Tab to get to know the website.

Asking for help

Feel free to ask for help but please check out these tips on searching for an answer:

  • Check the following pages, to see if your question has already been answered or talked about or a plugin has been made for it. We recommend using the browser's search function (ctrl+f) and searching for similar keywords to your question/problem.
  • If you didn't find anything about your problem there, feel free to search through the posts/articles here:
  • If you can't still find anything related to your problem, feel free to post a thread here.
    • Please title your post effectively.
    • Please provide a link to your generator with your attempts of solving the problem.
    • Try to explain what you want it to do and what example output it should be doing.
18

A minor UI bug with the testing panel in the editor (Fixed)

Quick bug report, when I was playing with the testing panel, I tried to get to the very bottom of the long word list output by pressing Shift+Down on the output container, which pushes the entire container down that causes the input section to be cropped and really hard to get back in. The only ways to temporarily fix this issue is to press Shift+Tab while selecting the green output text thing, or just select the input box manually and type something on it.

Here's a short video demonstration on how I was able to catch the bug:

!

Link to video above

2

What's the biggest file size you've ever uploaded to the Perchance Upload page?

Haven't posted anything on the community for a while. Just popped this question on mind several days ago whilst considering to upload wallpapers from my generator hub page into the upload page to avoid something like this.

I've been wondering what's the biggest file size you've ever uploaded to the Perchance Upload page in your experience (and is the maximum file size/daily allowance really depends on how long the user has standing on the site)?

0

Default List & Undefined, User Input List & Unchanged Output

Hello,

I am struggling with the output on this prompt generator, and I've tried to look up a solution and been unsuccessful so far. I honestly know nothing about coding other than what I've been learning in order to build perchance generators - so I know it may be something super simple I'm missing. Or I may have made it more complicated than it needs to be - or maybe what I want is something really complicated. I honestly don't know. And I apologize if my lingo is awful!

The URL I've shared is an ultra-simplified version of the generator I am struggling with, and most of the list items have been eliminated so that what is left is guaranteed to duplicate the problem I'm having.

What I'm trying to accomplish with the current coding:

  1. That the generator defaults to 2 specific character names - Ed and Stede.
  2. That if a user inputs characters in the input box to customize their output that these two default characters do not show up. So not the user's list + this default list being drawn from. Only the user's list is drawn from if they input characters.
  3. That for certain output possibilities (line 1 for this simplified generator), whichever list is used is consumable so that a character's name is not duplicated. For example, I would want "Ed can't stop thinking about Stede," not "Ed can't stop thinking about Ed." (I've attempted using [one] and [two] here.)

What is happening:

  1. The first time the page is loaded, or if it is refreshed, in the 1st line, where I've tried to use [one] and [two], it shows up as "undefined." Once the generate button is clicked (and all subsequent clicks as long as the page is not refreshed), the output generates correctly.
  2. If I add custom characters in the user input box (let's say "Jim" & "Olu"), on the first click of the generator button, only the 3rd line updates with these characters' names. On the second click (and all subsequent clicks if the characters are left the same), all three lines show up with the correct characters.

So I would like it if I could figure out how to make it so that: a) the output loads correctly when the generator is first opened or immediately after the page is refreshed (no "undefined") b) for the user input to show on all three lines once they've inputted their characters and clicked the generate button

Any help would be so greatly appreciated! Thank you for your time <3

6

add favourites to account menu so you can favourite generators you like for quick acess.

Not sure if this is already a feature but i dont see it. Add favourites to perchances account menu so you can acess generators you use faster. By the edit and save button add favourite this generator.

5

What version of Llama does Perchance use?

Guys! Do any of you know what version of the Llama model Perchance AI Chat plugin uses specifically?

0

Implement "Private" messaging for comments plugin

Hey again,

I just had an idea - given that you've recently implemented creation of rooms for comments plugin (which is quite cool), I think now it would be more or less trivial for you to implement "private" messaging (I say that in quotation marks, because channels are still technically public). You can hardcode the slash command with the syntax /invite <user id> <room name>, which would then trigger the API call as if both the inviter and invitee had created the same room. Alternatively, a smoother approach for this could be not triggering any API calls, but just display a system message of a sort to the invitee that they were invited to a room, and they would have a choice if they want to join the room or not.

1

More improvements for Comments/Gallery

Hello @[email protected],

Thanks for implementing posting to multiple galleries, this has been very useful! Looking forward for model updates. I came up with short list of further improvements for the UI.

Gallery:

  • Add a button to 'share' already existing generated image to another gallery in the same generator (reupload it to another gallery on the same gen).
  • Add the ability for the image owner to 'delete' the image from the gallery (maybe implement it as giving the image lowest score possible). It's quite absurd that the image authors can not delete their own creations, or at least hide them from everyone.

Comments:

  • The way how custom room creation is implemented is IMO currently quite silly. Anyone can post arbitrary amount of rooms anywhere, and all hundreds will be added as tabs automatically (even if temporary). Also the attention of the user is not drawn enough to the newly created room. IMO, it makes sense to instead underline the room as if it is a link, inviting a user to click. On click, the room would open, even if it was previously open - then just switch focus to that room.
  • Make it possible to share galleries within comments in form of a link, clicking on a link should add a tab on the gallery quick access you've recently implemented and open the gallery.

P.S. t2i by default uses a gigantic emoji pack, which is really great and has wide variety of emojis that are really fun. I assume these were downloaded from one of these sites that offer free emojis/stickers? Any plans to update them? I know that gen owners can add their own, but all popular gens are owned by the staff (or so the story goes). Would you add a small emoji pack I've made into the default list that t2i uses? weasel_eww = 78b0b8619a440661dc7eae5b6b0b8174.png weasel_angery1 = 09c65257bce2dbcbff3d4199da1924f3.png weasel_what1 = 08585158becf45446541832f7830aa04.png weasel_surprised = 841e86f81d6aede99e25402bfbb3c935.png weasel_tired = f90a0fdc2831bfeea2b00e13b4c1794f.png weasel_angery2 = 80a58b1eee31b4b9d9ec5b9e55f92d6a.png weasel_sleeping = 62da5d73e80cdb67ab2919753eb96926.png weasel_what2 = 2b08484dc2339ec37a71627c026f6222.png weasel_happy1 = 60c16d39b27ea3689175eb57108b1c76.png weasel_curious2 = a784e1ddf86ad3cc715b68c0b8c2e18f.png weasel_curious1= 41f00b405892f5888b21baa991297b7c.png

1

Generating images error

Unsure what the cause is, and it doesn't happen every time.

! ! !

3

Be able to use LoRAs, LyCORIS, Embeddings, VAEs, and other types of models, and select a checkpoint (for Text to Image Plugin)

Hello, Perchance Dev,

I have 2 suggestions for Text to Image Plugin (like in Civitai):

  • LoRA, LyCORIS, Embeddings, VAEs, and other types of models.
  • Be able to choose a checkpoint you want to use (of any base model).

I want to be able to use LoRAs, LyCORIS, Embeddings, VAEs, and other types of models besides Checkpoints. For example, if you're disappointed that AI didn't generate a character you wanted it to generate, you could use a LoRA or LyCORIS, and if AI generates images with boring dull colors, you could use a certain VAE to make colors look more vibrant.

I also want to be able to choose a checkpoint I want to use. For example, if I want to generate a cartoon anime image with vibrant colors, I might want to use Mistoon_Anime.

The way to use models/certain source of models you can use in Perchance is up to the developer's choice. Ability to import models from other sources (like in Tensor.Art) is also optional to the developer.

3

Post image in multiple galleries at once

Hi @[email protected],

What's your opinion about making it possible to post at multiple galleries at once? Currently, we have to use seeds, which works but can be cumbersome, especially on mobile. It would be nice to have the ability to put multiple gallery names separated by commas when saving without having to think about seeds.

3

AI thinks I'm her daughter...

I created a character named Keisha Porter and she has 1 daughter named Lea. I never specified in her description she only has one daughter. My user profile is 11 years old and Keisha is 23. The two major things that showed me this are "Now, would you like to hold your little sister for a bit while I grab something to eat?" and "kisses [user, censored because it's my IRL name] on the forehead" I have since edited out the latter, and for the former, I said "She's not my sister, but it feels like she is!" That didn't rule out the "USER IS NOT AI'S DAUGHTER" thing.

Link to Keisha: https://perchance.org/ai-character-chat?data=Keisha~2c54f8e954d0fe5424e068cdf48a83a9.gz

1

RegEx Matches cannot be Replaced

On the editors, you can search/highlight with RegEx (Regular Expressions) however, the matches cannot be iterated, and you cannot replace them. The old editor allowed this (as far as I remember), as well as using the captured groups as replacement ( /(\d+)\.(.+)?/gm can be replaced with $1 - $2 to change the matches 1.Test to 1 - Test).

!

2

Saving Edited Generators even when not Logged In/Signed Up

There is a feature that was recently added which is the 'Edit Password' upon saving a generator that isn't yours (you are remixing another person's generator). It is for recovering/saving an edited generator without logging in (or those users that are having trouble with saving generators since the email verification is having problems).

Steps:

  1. Click edit in the generator you want to edit.
  2. Upon saving, and opt to create a generator (since you can't save a generator to an account since you are not logged in), it would then give out a 'edit password'. Remember/Save this generated string as well as the newly created URL (not the original one).
  3. Later on (as long as the local storage is not cleared) you can navigate again to that newly created page (while still not logged in into an account) then enter the edit password after clicking save to return back/apply your changes to the generator.
A video demo of how it works.
9

I just improved something about mine which yours could benefit from too

After trillIons of years of it working errorlessly, edits to a custom T2I tonight caused me to get this error even tho my audio plugin was written with an eventlistener for click identically to how the Perchance Audio Plugin suggested script does. !

I'm not sure why the error and I think it doesn't matter. What matters is I solved it with this: ! so my code now is window.addEventListener("click", function(){if(navigator.userActivation.isActive && etc etc and it no longer bugs because it checks whether the user counts as active.

Whatever fringe scenario was causing mine to bug (a programmatic click perhaps?) would I'm sure also have happened with https://perchance.org/background-audio-plugin, and since I just solved mine with this nice little line, I am suggesting navigator.userActivation.isActive for https://perchance.org/background-audio-plugin too (to preemptively not have anyone encounter this bug).

2

My Comments Disappear

It isnt an admin deleting them since it is happening on starlitsky too and I haven't set admins. Anything I type disappears.

Also here is me responding to glass, screenshotting, refreshing, screenshotting and you can see the comment is gone.

nothing i have typed today nor yesterday is there

! !

3

AI chat still going insane in various ways

I'm not an AI-chatter myself, but I am still seeing many reports of weirdness.

3

Is it possible to partially evaluate expressions?

Hi~!

I'm getting familiar with Perchance and the text to image plugin, so I modified a script from the guides to test tags blending a bit more. I'm trying to visualize task blending, but when the prompt is not fixed (contains other lists that are being evaluated than the blended tags). In that case, I would like in each row to only change the blended tags, and to keep the same seed and evaluations of the other lists the same (e.g., here I want the same animal). But I didn't manage to do that yet, as the animals are changing within the same row. I wonder if there is a way to partially evaluate the prompt a first time for each row and a second time for the blended tag.

Another way would be to do string formatting to handle the tag blending instead of using perchance lists (with a trick like this: blending_value = [blending_values.selectAll[counter]]), but I didn't see a part about that in the guides, and I'm not familiar with JavaScript at all.

Do you have some solutions for this?

Here's the generator I started: https://perchance.org/7zk7cvxzzl

I coded it to blend 2 dimensions of tags within a matrix, I use only 1 dimension here, so it should not be relevant.

Notes: The idea behind this is to visualize the tag blending on a sample of the possible prompts rather than a fixed one. Here, there are 6 animals, so we could try them all on a bunch of seed, but in practice, it's not doable, that's why I'm doing the sampling in the first place.

4

Sign-up emails are still not working

I guess the fix didn't work, mate ;/

3
logged on tonight and this error
  • That error description on the second screenshot is something that I haven't caught before, I've just got one already, but a bit different. I initially thought it was a custom error from the generator, but turned out it was a new type of error from the Perchance engine.

  • logged on tonight and this error
  • o that's cool. checked the error message today and there was more info which pinpointed the offending code. Was my fault and had to do with getting an element by id when the element had been created with a plugin (requires waiting like a second so the plugin can be loaded, which i hadn't done). One thing if this is an upgrade of errordescriptions is black text on black background is hard to see :)

    ty!

  • Beginner | Add Python | AI Character Chat
  • There seems to be a problem with 'installing' the required packages (something like stdlib) for it on the web, even if the script itself is loaded. @perchance pinging dev so they can take a look at it.

  • Beginner | Add Python | AI Character Chat
  • Hey! Sorry for the delay, I didn’t see I had a new message in my email. I’d like to make it known, AI Chat and AI Character Chat are (or to me it seems so) two different generators. I use the AI Character Chat. I want to add the Python ability (which Lemmy supports) into my existing AI Character. But, it keeps giving me that null error. As said, I can however make a new one if you’re down to help me figure out how it works. But, I’m massively confused why it won’t let me add it to my existing Character. Maybe I’m adding it within the wrong Code Chunk somehow?

    See this link here: https://rentry.org/hptnx

    Thanks for your reply!

  • Perchance wont load in
  • Hello! I have also been experiencing the same problem for the past 2 to 3 days, not sure about the time. The attached images show the three links you posted were "unreachable." I have also tested on multiple devices using two mobile phones, also connected to my home wifi, and the problem persists, continuously loading and having the same result. I have tried testing with public wifi and the problem still continues. So far I only encountered this problem with perchance as my wifi speed has been the same for the last weeks and I am able to browse through the Internet with no problems.

    Apologies for any errors since this is my first time posting here. I actually made this account just to comment here and hope the AI works again on our end.

  • [Help] Default List & Undefined, User Input List & Unchanged Output
  • I made another copy of my test generator to experiment with, so here's the one where I've figured out the fixes:

    https://perchance.org/kzttwn1wna#edit

    1. I used your code to make the user input box in place of the other code I had originally used, and I just changed some of the names of things within it to match categories already in my generator (so I'd have to change fewer total things). Now every generated prompt shows the user inputted character names on the first click of the generate button (instead of only updating the 3rd line on the first click).

    2. I moved the line of code that defined [one] and [two] to above the line those categories are associated with in the body's "text" output -- that fixed the issue of those spots pulling up as "undefined" on the initial page load/refresh. (I felt like a dummy - but what a relief!)

    3. I changed this -- [b] & [b] -- to this -- [one] & [two] -- on the specific prompt possibilities where one or both characters are mentioned in the same line again. And I've left other prompt possibilities as [b] or [c] or [q] so that if a user inputs more than two characters, other characters can still show up on other lines of the prompt.


    I do have one last question I can't seem to find a fix for. I've been unable to duplicate one part of how your example generator works. For my current generator, when the user inputs character names, the output updates on each "return" after entering each character name. I can't figure out how to get it to remain static until the user has inputted all of the names they want and then only change when they press the generate button. I think it might be related to whatever I'm running into here:

    On my generator I left the button information as: onclick="update()" --- In your generator, it says: onclick="update(output)"

    But when I put the word output inside the parentheses, my button stops working entirely. I haven't been able to puzzle out what I'm doing or what I'm missing. Do you have any insight?

    Thank you again!

  • [Help] Default List & Undefined, User Input List & Unchanged Output
  • I figured most of this out! It’s very late here, so I’ll post tomorrow if I can with the additional fixes that let me have unreasonably high expectations of my generator’s capabilities!

    This absolutely would not have been possible without @[email protected]’s very cool example!! Thank you again, wthit56!!!

  • keeping an image
  • You could use ShareX screen record then upload to Streamable. Can you also provide the thread/chat export that is faulty so I can try to replicate the problem on my end?

  • [Help] Default List & Undefined, User Input List & Unchanged Output
  • Thank you! Yes, this is fixing the issues I've been having perfectly!

    I apologize, I am still having trouble figuring out how to make these changes/fixes work in my generator. (Again, so un-tech-savvy over here - I've just gotten hooked on making generators and so it's become a hyper-fixation!)

    I think the biggest thing I am "getting" is that you made / shown me a super cool way to have the default list built into the user input box in the HTML panel (I think that's what it's called) so I don't need a separate "default" list over in the left-hand box (List panel?) where all the lists are. One less step in my wild Frankenstein approach! Very neat! I'm tickled pink!

    So I think I have two initial big questions that I'm simply not knowledgeable enough to figure out how to adapt with your lovely solution:

    1. Location of "body" or "output" information

    I think what I'm most confused about is that in the generator you've created, the output sentences (e.g. about tiddlywinks, etc) are in the right-hand box (HTML panel?).

    In my generator, I have that information under "body" in the left-hand box (List panel?) where I reference 3 separate lists (each of which in my full generator are very long lists: 50+ items on each) - in addition to the character names - for the generator to draw information from. Do I need to move the List panel's "body"'s "text" information into the HTML box?

    2. Ability to output more than only 2 characters per prompt generated

    Additionally, while the default list of characters is 2 (Ed & Stede), folks can enter more than 2 characters, so I'd like the generator to draw from all possible characters. So, for example, if someone entered 4 characters (e.g. Jim, Olu, Archie, Zheng), the generated response could potentially include all 4 (rather than only a randomly chosen 2) except for the couple of spaces where I've gotten the [one] and/or [two] designated (because the response could be very nonsensical without those specifications - e.g. Archie & Jim have been on one date, and it's the best date that Zheng has ever been on.).

    So this is my (very potentially quite bad/amateur) logic for having the [b], [c], and [q] lists (one for each line of output) and the [one] and [two] designations (for very specific possible prompts).

    For example, a possible output with 4 characters could be something like:

    Archie & Jim have been on one date, and it's the best date that Archie has ever been on. Zheng says, "Blah blah blah." Olu & Jim are best friends.

    OR, using your generator:

    Archie & Jim are strangers when Archie beats Jim at tiddlywinks. Archie & Olu are schoolmates, Archie bullied Olu.

    I am sorry if these are super dumb questions. Again, I know my approach in the coding is likely very convoluted as I've Frankensteined different parts together from the very little I've learned/gleaned/googled so far, so the amount of complexity and redirecting I'm sure are a result of my lack of know-how to allow for any degree of finesse. If you have the time and are willing, could you explain it to me like I'm a little bit dumb? I won't be offended!

    I certainly don't expect you to explain it to me - it's truly just an ask if you are interested/willing.

    No matter what, I already so appreciate the time you've taken! So thank you! <3

  • [Suggestion] add favourites to account menu so you can favourite generators you like for quick acess.
  • An alternative option to this is to create a generator hub page consisting of the favorite generators for yourself (you can create one from this template, there's even a searchable version). You can even customize it however you want to!

    For easier access, you might also want to categorize that generator hub page to the _favorites folder (the underscore is here so that the folder always goes above the other folders) in your accounts page.

    Nevertheless though, I think this one is a pretty cool idea, pinging @[email protected]

  • Saving Edited Generators even when not Logged In/Signed Up
  • @[email protected] I have some suggestions for the feature:

    • There should be a confirmation dialog that tells the user that the generator is going to be saved even if logged out to avoid accidental saves.
    • There should also be a "delete generator" option for those saved-on-logout generators for the same reason too.
  • Hierarchical list issue
  • After the declaration of 'odds' any other text after it is invalid e.g.

    Ss^0.5 or s
    Tt^0.5 || t
    

    If you want a randomized value for that in which Tt has odds of 0.5 to being chosen you could have:

    {Ss^0.5|s}
    
    {Tt^0.5|t}
    

    If you want to add 'odds' with HTML formatting, you should place the odds after the items e.g.

    <u>Ag^0.5</u>
    
    to
    
    <u>Ag</u> ^0.5
    

    The change in odds should always be on the end of the item.

    On your [m = markings6.selectUnique(1,7).joinItems("/")] you are setting the value of m to be the joined items in a string, not the list. To fix it you just need to store it on the variable, then use the joinItems on the variable after: [m = markings6.selectUnique(1,7), m.joinItems("/")]

    Then to output the names: [m.selectAll.map(a => a.name).joinItems("/")] in which it would iterate on the markings on m and get their name, then joinItems them.