box3.intersectsBox returning false when it should return true

i have two boxes, we will call them largerBox and smallerBox, serialized they look like this:

largerBox={"min":{"x":-17.625,"y":18.499999999999993,"z":-22.000000000000004},"max":{"x":18.375,"y":15.250000000000007,"z":22.000000000000004}}
smallerBox={"min":{"x":-7.437500000000003,"y":17.0625,"z":-12.1875},"max":{"x":-7.062499999999997,"y":17.4375,"z":12.1875}}

it’s pretty clear that smaller box is entirely contained within larger box, and you can see in this picture that it is the case:

smaller box being the blue box and larger box being the big red one.

but, largerBox.intersectsBox(smallerBox) returns false.

i also tried containsBox to no avail.

Hi!
Are you sure that it’s correct that for the largerBox, y-value for min vector is greater than y-value for max vector?

Yeah, I’m with @prisoner849 on this one.
largerBox.min.y = 18.49
largerBox.max.y = 15.25

How are you getting these values, and why is min larger than max?

because that’s the direction it’s going. the box is made from this code:

new THREE.Box3().setFromObject(this.#obj)

where this.#obj is the three js mesh (extrudegeometry, the part you see at the top) as for why it’s much larger than that part, it’s because i expand it to a ridiculous amount (with expandByVector, basically it expands it by 10 in 2 directions and 2 in another)

it looks like i did an expandByVector({0,-2,0}) on it, and this…made it flip…somehow. i’m guessing it adds to max but subtracts from min, so in this latest test i had one where the y was 17.25 and 16.5 before the expansion and 15.25 and 18.5 after, so i’m guessing that’s 17.25+(-2) and 16.5-(-2)