Generate a mantis's head (symmetrical triangle) Given guaranteed strictly positive integers \$w\$ and \$n\$, output

An equilateral triangle array with side length \$w\$, filled with two distinct, consistent values. I'll call these 0 and 1 but they do not have to be equal to 0 and 1.
The number of 1s inside this array must be equal to \$n\$.
The output triangle must be symmetrical, meaning that it is the same when flipped horizontally or diagonally (your choice).
An equilateral triangle array can be an array with \$w\$ elements where for \$1\$ to \$w\$ (inclusive), there is a sub-array with that number of elements inside of \$w\$ (for example, but it may be outputted via ascii-art, see below).

(\$n\$ values are guaranteed to fit in the triangle)
Examples
w=3, n=1
  1
 0 0
0 0 0

w=3, n=2
  0
 1 1
0 0 0

w=3, n=3
  1
 1 1
0 0 0

w=3, n=4
  0
 1 1
1 0 1

w=3, n=5
  0
 1 1
1 1 1

w=3, n=6
  1
 1 1
1 1 1

Valid Output Format List
In this case the distinct values are 1 and 0.
Possible output triangles (all considered equivalent) with 1s at their corners and center and a width of 4 are:
   1
  0 0
 0 1 0
1 0 0 1

1
00
010
1001

[[1],[0,0],[0,1,0],[1,0,0,1]]

1 0 0 1
 0 1 0
  0 0
   1

[[1],[0,0],[0,1,0],[1,0,0,1]]

1
0
00
11
00
0
1

1
 0
0 0
 1 1
0 0
 0
1


here is a test case validator in Jq, takes {&quot;w&quot;: w, &quot;n&quot;: n, &quot;a&quot;: result you wish to check} (in the JSON array format like [[1],[0,0],[0,1,0],[1,0,0,1]])
Jelly, 15 bytes
RØ.ṗŒpFS=ɗƇUƑƇḢ

Try it online!
-1 byte thanks to caird coinheringaahing
RØ.ṗŒpFS=ɗƇUƑƇḢ  Main Link; accepts w as the left argument and n as the right argument
R                Range; [1, 2, ..., w]
 Ø.ṗ             [0, 1] ~ cartesian power ~ ^
    Œp           Cartesian Product of ^'s items - this gets all valid triangles of the right size
      ---ɗƇ      Keep elements where
       S         the sum of
      F          the triangle flattened
        =        equals (right argument)
             Ƈ   Keep elements where
            Ƒ    the element is the same when
           U     each sub-list is reversed
              Ḣ  Get the first such triangle