feat(npcs): inspect cards, Show overlay, and optional external link

Clicking an NPC tile opens description cards (multi-select accordion); Show puts avatars on screen. Optional URL opens a webview tab. Avatar pan in the editor commits on pointer up.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-08-19 10:42:57 +08:00
parent 1a9f0f2557
commit 0f4bb76b41
35 changed files with 1189 additions and 259 deletions
@@ -11,9 +11,12 @@ void test('PxiEffectsOverlay: canvas не перехватывает указа
assert.ok(src.includes("app.canvas.style.pointerEvents = interactive ? 'auto' : 'none'"));
});
void test('PxiEffectsOverlay: ограничение FPS тикера для нагрузки', () => {
void test('PxiEffectsOverlay: lazy WebGL until effects need it', () => {
const src = fs.readFileSync(path.join(here, 'PxiEffectsOverlay.tsx'), 'utf8');
assert.ok(src.includes('app.ticker.maxFPS'));
assert.ok(src.includes('effectsNeedWebGl'));
assert.ok(src.includes('gpuBoot'));
assert.match(src, /canvas\.style\.display = 'none'/);
assert.match(src, /const dpr = useMemo\(\(\) => 1/);
});
void test('PxiEffectsOverlay: imperative setDraft для кисти без React state', () => {