[kovarex] [2.0.11] Removing a parametrized entity from a blueprint causes information loss
Posted: Sun Oct 27, 2024 5:22 am
Removing a parametrized entity from a blueprint makes its "parametrization" configuration invalid (ie. parameters for values that were present only in that entity will be discarded on saving the blueprint, even if other parameters use them as "formula" inputs), yet you can still edit these parameters between right-clicking (marking for removal) the entity and saving the blueprint (when your changes will be lost).
Expected behavior (worst "fixed" case): After "marking for removal" an entity in the blueprint editor, either the "parametrize blueprint" dialog should show a warning when either editing parameters that are no longer associated with any entity in the blueprint, or having formulas for "existing" parameters that refer to variables set by "nonexisting" ones.
Expected behavior (best case): When saving a blueprint, no configuration is silently dropped. Instead, you are asked if you want to keep "virtual" parameters in the blueprint, you want to discard them, or return to the editor without saving (you might have "marked for removal" some entity by mistake).
This would also indirectly add the feature of having input fields that aren't *directly* applied to any entity (eg. you enter a value for "X", and the blueprint can then use "X*5" and "X*16" for different entities/signals, without the need for an unconnected combinator containing "X").
This seems somewhat related to the "collapsing parameters with same value" issue (viewtopic.php?p=624961#p624961), in that "values in entities" seem to be used as "variable names" for the parameters; instead abstracting parameters into variables explicitly stored within the blueprint with "links" to certain "entity fields" (ie. the blueprint stores "parameter 'test' with default value '1' linked to entity#12::iron-plate and entity#15::virtual-signal-A", instead of "replace all instances of '1' with <parameter 3>") should solve both these issues...
Expected behavior (worst "fixed" case): After "marking for removal" an entity in the blueprint editor, either the "parametrize blueprint" dialog should show a warning when either editing parameters that are no longer associated with any entity in the blueprint, or having formulas for "existing" parameters that refer to variables set by "nonexisting" ones.
Expected behavior (best case): When saving a blueprint, no configuration is silently dropped. Instead, you are asked if you want to keep "virtual" parameters in the blueprint, you want to discard them, or return to the editor without saving (you might have "marked for removal" some entity by mistake).
This would also indirectly add the feature of having input fields that aren't *directly* applied to any entity (eg. you enter a value for "X", and the blueprint can then use "X*5" and "X*16" for different entities/signals, without the need for an unconnected combinator containing "X").
This seems somewhat related to the "collapsing parameters with same value" issue (viewtopic.php?p=624961#p624961), in that "values in entities" seem to be used as "variable names" for the parameters; instead abstracting parameters into variables explicitly stored within the blueprint with "links" to certain "entity fields" (ie. the blueprint stores "parameter 'test' with default value '1' linked to entity#12::iron-plate and entity#15::virtual-signal-A", instead of "replace all instances of '1' with <parameter 3>") should solve both these issues...