Skip to content

Commit 6b5c88e

Browse files
authored
Merge pull request #659 from orionarcher/tiling_fixes
Tiling fixes
2 parents a5c000b + 19b2e84 commit 6b5c88e

File tree

1 file changed

+9
-3
lines changed
  • src/components/crystal-toolkit/scene

1 file changed

+9
-3
lines changed

src/components/crystal-toolkit/scene/Scene.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,8 +400,8 @@ export default class Scene {
400400
private debugDOMElement?,
401401
cameraState?: CameraState
402402
) {
403-
this.tiling = tiling;
404-
this.maxTiling = maxTiling;
403+
this.tiling = tiling || 0;
404+
this.maxTiling = maxTiling || [0, 0, 0];
405405
this.arrayOfTileRoots = Scene.getEmptyTilesArray([
406406
this.maxTiling,
407407
this.maxTiling,
@@ -522,6 +522,10 @@ export default class Scene {
522522
return tiles;
523523
};
524524

525+
const _alternateTiles = (x: number) => {
526+
return (-1) ** (x + 1) * Math.trunc((x + 1) / 2);
527+
};
528+
525529
const emptyLattice = [
526530
[0, 0, 0],
527531
[0, 0, 0],
@@ -547,7 +551,9 @@ export default class Scene {
547551
this.arrayOfTileRoots[x][y][z].push(tileRootObject);
548552

549553
let tileOffsets: number[][] = lattice.map((vector: number[], index: number) => {
550-
return vector.map((x: number) => x * tile[index]);
554+
return vector.map((x: number) => {
555+
return x * _alternateTiles(tile[index]);
556+
});
551557
});
552558
traverseScene(sceneJson, tileRootObject, tileOffsets, '');
553559
}

0 commit comments

Comments
 (0)