Solution for fitting multiple objects of same size into a non-rectangular area, to fill max area?

Problem: need to populate multiple copies of objects (gemstones) into oddly-shaped areas.

Partial solution: SD Mitch’s “Comps To Grid Array” - places gems on a rectangular or trilateral grid. (Rectangular grid result shown).

Remaining problems:

1.) CTGA asks for a grid size & resizes the objects to that size - which is useless for trying to insert gems of specific size/carat. I.e. a gem that’s actually 3mm will end up 2.7mm or 3.5mm or whatever, depending on the grid.

2.) CTGA doesn’t have the option to change the grid rows to better accommodate the space.

This is a manual attempt to fix the situation, by adjusting each row & spacing the gems equally (Curic Space).

Is there a better way to do this, that:

a.) Keeps true to the size of the original component (or lets me resize it during the dialog, i.e. “take this 3mm source gem and make it 2.5mm”).
b.) Fills the available space using more complex patterns.
c.) Ideally, shows a preview (even a box-model ghost), prior to committing the new geometry.

If this doesn’t exist, any Ruby programmers want to tell me how much it would cost to develop?

I would simply use my experience designing jewelry, and arrange the stones that way manually. With the native move/copy/array tools you can have a densely packed arrangement in very little time without futzing around with scripts or plugins.

Using components, natively, would make swapping gemstone sizes incredibly simple too. Same goes for editing each one.

Having the circular stones staggered vs a total square grid would close many gaps and be far more dense. It brings the rows together closer.