import os, sys, struct sys.path.insert(0, r'C:\VWE\TeslaRel410\dpl3-revive\patha') os.environ.setdefault('SDL_VIDEODRIVER', 'dummy') import numpy as np from vrboard import VirtualBoard, Msg, A from vrview import Renderer data = open(sys.argv[1], 'rb').read() board = VirtualBoard() off = 0 while off + 8 <= len(data): if data[off:off + 4] != b'VPXM': off += 1; continue ln = struct.unpack_from('= 4: a = struct.unpack_from(' 3 else 1.0 # +1 or -1 for up axis dist = float(sys.argv[4]) if len(sys.argv) > 4 else 900.0 # camera high above the mech, looking straight down; 'north' = +z as screen up eye = mech + np.array([0.0, updir * dist, 0.0]) back = np.array([0.0, updir, 0.0]) # look -back = down worldref = np.array([0.0, 0.0, 1.0]) right = np.cross(worldref, back); right /= max(np.linalg.norm(right), 1e-6) up = np.cross(back, right) M = np.eye(4); M[0, :3], M[1, :3], M[2, :3], M[3, :3] = right, up, back, eye r.cam_matrix = lambda _b, _M=M: _M # widen far clip so the whole area shows if c.view and c.view in board.nodes: vb = bytearray(board.nodes[c.view].get('body') or b'') if len(vb) >= 56: struct.pack_into('