Hey, first of all, awesome library!
This particular combination of operations seems to result in faces going missing in preview mode:
difference() {
linear_extrude(35)
shell2d(2) polygon([
[15, 15],
[28, 15],
[28, 28],
[15, 28],
[15, 15]
]);
cube([20,20,20]);
}

I've highlighted the cube for clarity. The render turns out fine.