feat(0035e): Group hereda iconografia de hijos homogeneos
apply_group_inherited_visuals(GraphData*, db_path) recorre los nodos Group del grafo y, para cada uno, consulta los type_ref distintos de sus hijos (entities con group_id apuntando al Group). Si todos comparten un solo tipo, reasigna el type_id del Group al type_id de ese tipo y fija shape_override = SHAPE_SQUARE para preservar el cuadrado distintivo. Heterogeneo o sin hijos: el Group conserva su visual generico (slate + ti-stack-2). Se invoca desde main.cpp y reload_graph antes de apply_group_filter para que la reasignacion sobreviva al compactado del array.
This commit is contained in:
@@ -48,4 +48,11 @@ bool reload_graph(const InputArgs& args, GraphData* out, graph::GraphLoadStats*
|
||||
bool apply_group_filter(GraphData* g, const char* db_path,
|
||||
const std::unordered_map<std::string, bool>& group_expanded);
|
||||
|
||||
// Issue 0035e: para cada nodo Group, si todos sus hijos comparten un
|
||||
// unico `type_ref`, reasigna el `type_id` del Group al type_id de ese
|
||||
// tipo y fija `shape_override = SHAPE_SQUARE` para preservar la forma
|
||||
// cuadrada. Si la familia es heterogenea, el nodo conserva su visual
|
||||
// generico de Group. No-op si la BD no tiene group_id o no hay Groups.
|
||||
bool apply_group_inherited_visuals(GraphData* g, const char* db_path);
|
||||
|
||||
} // namespace ge
|
||||
|
||||
Reference in New Issue
Block a user