import { readFileSync } from "node:fs"; import { describe, expect, it } from "vitest"; import { WORLD_NPC_PROMPT_MAX_DISTANCE, worldNpcPromptIsInRange, } from "./WorldNpcPrompt"; describe("world NPC prompts", () => { it("limits prompts to nearby players", () => { expect(worldNpcPromptIsInRange([0, 0, 0], [0, 0, WORLD_NPC_PROMPT_MAX_DISTANCE])).toBe(true); expect(worldNpcPromptIsInRange([0, 0, 0], [0, 0, WORLD_NPC_PROMPT_MAX_DISTANCE + 0.01])).toBe(false); }); it("uses geometry occlusion and is the Naralex prompt path", () => { const promptSource = readFileSync(new URL("./WorldNpcPrompt.tsx", import.meta.url), "utf8"); const naralexSource = readFileSync(new URL("./WailingNaralexEvent.tsx", import.meta.url), "utf8"); expect(promptSource).toContain("