-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DNA retries per DNA #34
base: main
Are you sure you want to change the base?
Conversation
uniqueDnaTorrance is currently used as global maximum fail count for generating all DNAs. This makes this number dependent on the edition size. It is much more usable if this number is used as maximum try count for a single DNA. Reset failedCount when creating DNA after each successful DNA creation. Also added try count to log when DNA was created to get a better sense how hard it is to find a valid configuration with more complex filter rules.
In usage terms, how would this differ new functionality differ when attempting to generate a 10k collection between the previous version and the new version? How will users be able to benefit from this change? If I am not mistaken, this was used to stop DNA / edition creations after X number of failures, telling the user to add more elements to create their specific collection size. Will the new code still stop them, if the counter is then constantly being reset? Have you tried to generate a 10k collection while using this versus the previous code, especially testing with enough elements to create 10k and not enough elements for 10k, to see how long they run, and what difference it makes? |
I would ask the other way. Why should this be a global setting? If I hava a value for this that works for my 100 editions test, it will then also work for 10k. This is not true for the global setting. |
Understood, but can you maybe answer the question of "In usage terms, how would this differ new functionality differ when attempting to generate a 10k collection between the previous version and the new version? How will users be able to benefit from this change?" Can you put it into an example of layers being generated and how it would have been blocked previously and how it would be working now or that type of thing? This would be moving away from the core Art-Engine code base, which I am not against at all, but just want to make sure it makes sense and what the benefits will be. |
Also, the reason I ask if you tested this with 5k or 10k generations is because that is what most users use the code base for, not just 100. So my question then goes further as to how will this new code base version work differently compared to the previous version with this big number generation? What are users gaining with this. I hope these questions makes sense. |
I agree that this change does not solve any bigger problem. Its just making the usage a bit cleaner. What is helpful is the number of tries per created DNA. This shows how unlikely it gets to find one. In our case it can take up to 10k tries. So I set the upper try count to 100k. This will make sure that any number of created editions will work. If it is a global number I would have to change it depending on how many I want to create. But also I could just set it to 1M and be fine. Just an endless loop would be a bit more endless :) Normally everybody will start with generating only a few editions to test that everything is working. Only after everything looks fine you would create the 10k final editions. |
As this won't be fixing anything for now or adding new functionality, can we close the PR and revisit this at another stage if we do find a need for it? |
@thepeanutgalleryandco One more question, I want to make the nfts the same as many times as it takes to reach the size of my desired collection, I don't care if the DNA already exists, how can I make it so that the warning that I need more layers does not appear and the layers are endlessly repeated? |
Ah, I mean dependent traits. |
uniqueDnaTorrance
is currently used as global maximum fail count for generating all DNAs. This makes this number dependent on the edition size. It is much more usable if this number is used as maximum try count for a single DNA.This change resets
failedCount
when creating DNA after each successful DNA creation. It also adds a try count to the log message when a DNA was created to get a better sense on how hard it was to find a valid configuration with more complex filter rules.