просто конвертируй группы объектов в "примитивы"(как изображение либо svg контуры объекта) и храни/отображай их из кеша, тогда деталей будет не так много. проблема не в том сколько у тебя продуктов, а сколько из них можно отобразить одновременно. по поводу стыковки - задаешь у svg объектов поля вроде type="10" compatible-typеs="1,2;4" совместимые типы через запятую и разделенные точкой с запятой по узлам/сочленениям. в моем примере у детали 2 узла/сочленения к первому подходят детали типа 1,2, ко второму - 4ого типа