Graceful realization failure #123
Labels
No labels
bug
design
duplicate
engine
enhancement
maintenance
prospective
question
regression
stub
todo
ui
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: StudioInfinity/dyna3#123
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
To date, there is no guideline for behavior when the engine is unable to realize an Assembly, either because it is mathematically unrealizable or because the engine was insufficiently powerful to find a realization that in fact exists. Since dyna3 may well be used to explore assemblies whose realizability is in doubt, we should choose the sort of behavior that will be attempted in such a case.
First, there must be clear indication of the overall status that the assembly is in an unrealized state (currently there is a text message, but we may want something more salient, like an overall shading of the workspace in which the views appear (since in general we can't know what views the user may have open).
Second, there should be guidance as to what sort of configuration the geometric entities will be in after the failed attempt at realization. A likely candidate for this is some sort of "closest miss" to realizing the Assembly that the engine was able to find. Of course there are many possible versions of closeness:
L^2
,L^1
,L^\infty
norms come to mind)I feel strongly that in the first two bullets in the opening post, absent any explicit designation by the user, there should not be any status difference between different constraints in their participation in the optimization. This desideratum is in contrast to the current optimization behavior, in which (for example) a constrained curvature will be respected exactly, even in case of failure, whereas a constrained inversive distance is allowed to be off in the "nearest miss" configuration generated.