Fix Gemini 3.5 Flash atlas flip and GPT-5.5 xhigh movement mirror

- gemini-3-5-flash: ATLAS_COORDS and the canvas tiles share a top-origin
  row convention, but default flipY=true mirrored sampling (row r read
  row 3-r): grass tops became purple crystal, sides hit the alpha-holed
  portal/leaves tiles (the "transparent blocks"). flipY=false, 1 line.
- gpt-5-5-xhigh: movement Z component sign-flipped against the -Z
  camera convention, mirroring all motion across the X axis (A/D
  swapped facing +-X). Negated Z, 1 line.

Run notes now carry full provenance: GPT-5.5 Pro Extended Pro, Codex
CLI (no skills) for xhigh, AntiGravity high for both Geminis, and the
local Grok Build TUI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jesse ZhangandClaude Fable 5 committed 2026-06-10 00:20:53 +01:00
1 parent 54896103d8
commit 37f4c8ae86
3 files changed
+3 -1

No files matched your search

@@ -1023,6 +1023,7 @@
// Return texture
const texture = new THREE.CanvasTexture(canvas);
texture.flipY = false; // fix: tiles are drawn with top-origin rows matching ATLAS_COORDS, but default flipY=true mirrored the rows (grass sampled the purple crystal/portal tiles, alpha holes made solid blocks see-through)
texture.magFilter = THREE.NearestFilter;
texture.minFilter = THREE.NearestFilter;
return texture;
+2 -1
View File
@@ -4,6 +4,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Mythic Blocks</title>
<link rel="icon" href="data:," />
<style>
:root {
color-scheme: dark;
@@ -975,7 +976,7 @@
const sin = Math.sin(player.yaw);
const cos = Math.cos(player.yaw);
direction.x = strafe * cos - forward * sin;
direction.z = strafe * sin + forward * cos;
direction.z = -strafe * sin - forward * cos; // fix: z sign was flipped — the camera faces -Z at yaw 0, so the old `strafe*sin + forward*cos` mirrored all movement across the X axis (A/D swapped when facing +-X)
if (direction.lengthSq() > 0) direction.normalize().multiplyScalar(speed * dt);
player.onGround = false;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 KiB