| Bytes | Lang | Time | Link |
|---|---|---|---|
| 165 | Charcoal | 250610T225042Z | Neil |
| 338 | Python | 250609T112502Z | ovs |
Charcoal, 193 165 bytes
⊞υ⟦E³ι⟧F⊖N«≔υθ≔⟦⟧υ≔⟦⟧ηFθFκF⁻E⁶Eλ⁺ξ∧⁼π﹪μ³∨÷μ³±¹κ¿﹪↨²&¹μ⁷«≔⁺κ⟦μ⟧μ≔⟦⟧ζF⭆…0220¹²⁺ν1«≔⟦⟧εW⁻με⊞ε⌊ξUMεEξ⁻ρ⌊Eε§σς⊞ζεUMμ⎇⊖ν⟦×⊖ν§ξ²±§ξ¹×⊖ν§ξ⁰⟧⟦±§ξ⁰§ξ²§ξ¹⟧»¿¬№η⌊ζ«⊞η⌊ζ⊞υμ»»»ILυ
Try it online! Link is to verbose version of code. Explanation: Inspired by @ovs's explanation, but with a slightly different optimisation.
⊞υ⟦E³ι⟧
Start with a single square for the n=1 shape. (This square is located at (0, 1, 2), and is perpendicular to the y axis.)
F⊖N«≔υθ≔⟦⟧υ≔⟦⟧η
Try to add squares to all of the existing shapes until there are n squares.
FθFκ
Check each existing shape and each square in that shape.
F⁻E⁶Eλ⁺ξ∧⁼π﹪μ³∨÷μ³±¹κ¿﹪↨²&¹μ⁷«
For each direction, calculate the position of a new square that can be attached and check that this is not an existing square in the shape and that it is in a legal position (starting from the given position it's impossible to place squares whose coordinates have equal parity).
≔⁺κ⟦μ⟧μ≔⟦⟧ζF⭆…0220¹²⁺ν1«
Add this square to the shape and start collecting the normalised rotations of this shape. I'm using a Hamiltonian path that traces out all 24 of the rotations from three "basic" edge flips.
≔⟦⟧εW⁻με⊞ε⌊ξUMεEξ⁻ρ⌊Eε§σς⊞ζε
Normalise the current rotation.
UMμ⎇⊖ν⟦×⊖ν§ξ²±§ξ¹×⊖ν§ξ⁰⟧⟦±§ξ⁰§ξ²§ξ¹⟧
Perform the next edge flip.
»¿¬№η⌊ζ«⊞η⌊ζ⊞υμ
If the canonical rotation is new then add this shape to the list and add its canonical rotation to the deduplication list.
»»»ILυ
Output the total number of shapes found.
Python, 461 403 356 338 bytes
Q=0,1,2
S=[{Q}]
while 1:print(len(S));S={min((t:=[(*((h>>i&1or-1)*x[i]for i in(Q*2)[h//8:][:3][::1|h%2+h%8%-3]),)for x in{n}|s])and(*sorted((*(x-min(m)for x,m in zip(u,zip(*t))),)for u in t),)for h in range(24)):s|{n}for s in S for x,y,z in s for a in{*Q}-{x%2*3^y%2*2+z%2}for l in(1,-1)if{(n:=(x+l*0**a,y+l*(a==1),z+a//2*l))}-s}.values()
Try it online! Prints the sequence indefinitely, you might need to stop execution to get output.
Tiles are represented as (x, y, z) tuples. Shapes are sets of these tiles. In one iteration the solution grows each shape by one tile, then deduplicates the resulting shapes by their minimum rotation.
Ungolfed (and faster) code, computed 10 terms in 17 seconds locally:
1
1
2
5
16
59
250
1136
5409
26391