Ticket #565 (accepted planned)
struct asset naming scheme
| Reported by: | ichthyo | Owned by: | ichthyo |
|---|---|---|---|
| Priority: | lesser | Milestone: | 1alpha |
| Component: | lumieraProc | Keywords: | asset design |
| Cc: | Blocked By: | #706, #708 | |
| Blocking: | #504, #739, #865 |
Description
It is clear by now that the distinguishing point for struct assets (as opposed to assets in general) is their automatic creation and the special naming scheme reflecting their role in building the model backbone. The properties of this naming scheme need to be defined.
Change History
comment:2 Changed 2 years ago by ichthyo
The preliminary impl. in place looks rather nonsensical. We could keep the basic approach, but save the capabilities in a dedicated field, and make the ID just an ID, as with all other assets. Otherwise we'll end up with two ID fields (as is already the case for Pipes). And that would be just plain idiotic. TODO
comment:3 Changed 22 months ago by ichthyo
the explicit specialisations of StructTraits, which define the actual naming scheme, need to reside in a *.cpp file, not a header. Moved them (temporarily) into asset/struct.cpp -- but all of this needs a better organisation
comment:4 Changed 22 months ago by ichthyo
now changed the definitions into static functions -- but still a mess
comment:5 Changed 16 months ago by ichthyo
meanwhile I'm rather geared towards dropping this special struct-asset naming scheme. Just for the uniqueness, the (planned) per-type registry would be sufficient, and if the capabilities are needed, it would be better just to store the real query code for later re-evaluation.
As a first step in that direction, I've now removed the encoding of capabilities into the name

While I haven't considered this topic in any detail, it turns out that struct-factory-impl.hpp already contains some code (currently fabricating fake IDs), which could be the foundation for the real thing