assemble_meta_info#

AdvancedFeatureSystem.assemble_meta_info(feat_id: int, known_meta_info: dict[int, tuple] = None)#

If the user has entered custom meta info for a feature, then that is prioritised before everything else. Otherwise, we check for the possibility of this feature merely being a corner of other features, in that case the info_object becomes a four-tuple (specification1, info_object_1, specification2, info_object2), the implication being that our separation is the corner of those two features (represented by their info object). If everything else fails, we simply return the first meta_info saved for the feature.

Parameters#

feat_idint

The id of the feature whose meta_info we are interested in.

known_meta_infodict

Already computed meta info. Providing this avoids computing the same stuff twice.

Returns#

tuple (int, any)

Contains the specification in its first entry and the info object of the metadata in its second entry.