Grouping of geometries
Grouping functionality for geometries like found in very many rastergraphic, vectorgraphic and 3D-modelling programs that have a graphical user interface and mouse interaction is (beside holding things together against accidental breakup) supposed to make the grouped things reusable.
While this works for the very simplest cases the approach fails for anything beyond that.
The problems are that:
- Groupings are crippled functions.
- When duplicated groupings are often irreversibly detached from the original.
- Groupings have usually no or broken inheritance.
Groupings have a fixed set of parameters that all are implicitly hidden in most cases. Linear transformations: translation (insertion point), scaling, rotation, sometimes shearing. Other transformations (programmatic in general not only continuous nonlinear like swirls and such) are usually not possible. Even less if one wants nontrivial changes where the same object may even have completely different looks (good abstractions ~~ high levels of data compression).
- Desired: semi manual backward update distribution ...
In physical systems microcomponents could be seen as such groupings with all its detriments.
But microcomponents are low level instances of a high level abstract software representation.
Systems of microcomponents are compiled (decompressed) results of a high level highly compressed abstract software representation
that does not suffer from the "grouping"-problem.
(TODO: More investigation is needed in the microcomponent-as-group-problem direction.)