From f58e33c5501e12ed444582aafb688077d52ed8f8 Mon Sep 17 00:00:00 2001 From: evanpelle Date: Sat, 27 Dec 2025 12:56:22 -0800 Subject: [PATCH] vite --- package.json | 4 ++-- src/client/graphics/layers/StructureIconsLayer.ts | 14 +++++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index c39bda23c..7ca860d75 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "build-dev": "concurrently \"tsc --noEmit\" \"vite build --mode development\"", "build-prod": "concurrently --kill-others-on-fail \"tsc --noEmit\" \"vite build\"", "start:client": "vite", - "start:server": "node --loader ts-node/esm --experimental-specifier-resolution=node src/server/Server.ts", - "start:server-dev": "cross-env GAME_ENV=dev node --loader ts-node/esm --experimental-specifier-resolution=node src/server/Server.ts", + "start:server": "tsx src/server/Server.ts", + "start:server-dev": "cross-env GAME_ENV=dev tsx src/server/Server.ts", "dev": "cross-env GAME_ENV=dev concurrently \"npm run start:client\" \"npm run start:server-dev\"", "dev:staging": "cross-env GAME_ENV=dev API_DOMAIN=api.openfront.dev concurrently \"npm run start:client\" \"npm run start:server-dev\"", "dev:prod": "cross-env GAME_ENV=dev API_DOMAIN=api.openfront.io concurrently \"npm run start:client\" \"npm run start:server-dev\"", diff --git a/src/client/graphics/layers/StructureIconsLayer.ts b/src/client/graphics/layers/StructureIconsLayer.ts index 884f25ce8..98c73f719 100644 --- a/src/client/graphics/layers/StructureIconsLayer.ts +++ b/src/client/graphics/layers/StructureIconsLayer.ts @@ -2,7 +2,7 @@ import { extend } from "colord"; import a11yPlugin from "colord/plugins/a11y"; import { OutlineFilter } from "pixi-filters"; import * as PIXI from "pixi.js"; -import bitmapFont from "../../../../resources/fonts/round_6x6_modified.xml?raw"; +import bitmapFont from "../../../../resources/fonts/round_6x6_modified.xml?url"; import { Theme } from "../../../core/configuration/Config"; import { EventBus } from "../../../core/EventBus"; import { @@ -75,7 +75,8 @@ export class StructureIconsLayer implements Layer { public playerActions: PlayerActions | null = null; private dotsStage: PIXI.Container; private readonly theme: Theme; - private renderer: PIXI.Renderer; + private renderer: PIXI.Renderer | null = null; + private rendererInitialized: boolean = false; private renders: StructureRenderInfo[] = []; private readonly seenUnits: Set = new Set(); private readonly mousePos = { x: 0, y: 0 }; @@ -113,7 +114,7 @@ export class StructureIconsLayer implements Layer { } catch (error) { console.error("Failed to load bitmap font:", error); } - this.renderer = new PIXI.WebGLRenderer(); + const renderer = new PIXI.WebGLRenderer(); this.pixicanvas = document.createElement("canvas"); this.pixicanvas.width = window.innerWidth; this.pixicanvas.height = window.innerHeight; @@ -143,7 +144,7 @@ export class StructureIconsLayer implements Layer { this.rootStage.position.set(0, 0); this.rootStage.setSize(this.pixicanvas.width, this.pixicanvas.height); - await this.renderer.init({ + await renderer.init({ canvas: this.pixicanvas, resolution: 1, width: this.pixicanvas.width, @@ -153,6 +154,9 @@ export class StructureIconsLayer implements Layer { backgroundAlpha: 0, backgroundColor: 0x00000000, }); + + this.renderer = renderer; + this.rendererInitialized = true; } shouldTransform(): boolean { @@ -202,7 +206,7 @@ export class StructureIconsLayer implements Layer { } renderLayer(mainContext: CanvasRenderingContext2D) { - if (!this.renderer) { + if (!this.renderer || !this.rendererInitialized) { return; }