Page 1 of 1

Allow independent parameterization of constants/values via variables

Posted: Sun Nov 03, 2024 5:15 pm
by Theikkru
Currently, the parameterization menu for blueprints force-merges all constants of the same values, regardless of whether they're parameterized or not. See:
viewtopic.php?f=47&t=119579
viewtopic.php?f=58&t=117000
This is dumb. It's also very problematic for common values like 0 and 1, which tend to be used in multiple places in blueprints for very different purposes.
Please allow us to parameterize numerical values, like we can for signal channels, if the "Show parameters in selection lists" interface setting is checked, like so:
var.png
var.png (94.15 KiB) Viewed 299 times

Re: Allow independent parameterization of constants/values via variables

Posted: Sun Nov 03, 2024 9:58 pm
by Theikkru
I thought some more about implementation, and realized that by shuffling the UI around a bit, this idea could be extended elegantly to include run-time modification of variable values via self-referential formulas, which would coincidentally add support for another idea/suggestion I saw:
self-ref.png
self-ref.png (28.08 KiB) Viewed 271 times
The order of operations would work like this:
1. Variables (F) are initialized to defaults (1).
2. User is prompted for input (let's assume input of 4 for F).
3. Formulas are evaluated in listed order (so F=[4]^2=16).
4. final values of variables are posted to combinators, etc.

This would enable 3 additional behaviors:
1. Raw user input can be captured in a variable without having to immediately post it to a machine.
2. Self-referential formulas can be used to modify variable values after capture, but before posting.
3. All variables are initialized before any formulas are evaluated, so any formula can refer to any variable (though the order of the formulas will affect the math)

Re: Allow independent parameterization of constants/values via variables

Posted: Fri Nov 08, 2024 11:04 pm
by Syriusz
First time, I lost my progress because I clicked right mouse button.
Second time, I wanted to save my progress to avoid the scenario from first. And then it merged two parameters together that I wanted to keep distinct... It happened because I changed one value without thinking.
Devs made a great tool, but it is so frustrating to work with. Every change requires modification outside blue print, making new blueprint and setting everything from scratch. It's so sad that you cannot interact with blueprint directly. We can remove entities from blueprint with right mouse button, why not click left to edit everything? Set recipes to parameters, edit signals etc. The list should be mostly to set names and formulas or to see everything in one place. It would be even greater if we could add connections and maybe entities but just editing signals and recipes would make huge difference.

Re: Allow independent parameterization of constants/values via variables

Posted: Sat Nov 09, 2024 11:12 pm
by nova4x
Theikkru wrote: Sun Nov 03, 2024 9:58 pm I thought some more about implementation, and realized that by shuffling the UI around a bit, this idea could be extended elegantly to include run-time modification of variable values via self-referential formulas, which would coincidentally add support for another idea/suggestion I saw:
self-ref.png
The order of operations would work like this:
1. Variables (F) are initialized to defaults (1).
2. User is prompted for input (let's assume input of 4 for F).
3. Formulas are evaluated in listed order (so F=[4]^2=16).
4. final values of variables are posted to combinators, etc.

This would enable 3 additional behaviors:
1. Raw user input can be captured in a variable without having to immediately post it to a machine.
2. Self-referential formulas can be used to modify variable values after capture, but before posting.
3. All variables are initialized before any formulas are evaluated, so any formula can refer to any variable (though the order of the formulas will affect the math)
I'm from that thread you mentioned, I agree 100%. I tried doing this self referential thing myself because I just figured it should work like that. Seems silly that variables are only able to reference other things in the blueprint and you can't create a variable to work with.