refactor(0.1.14-P1): 内核归位——game/ 按引擎架构重排(零行为漂移)

结构(旧 game/core+engine → 新 engine/ 域):
- engine/kernel/  时钟/随机/插件协议/fxqueue/timesense/format/urgency/guide/names(原 core)
- engine/narrative/  legacy/报告/列传/谱系/年轴(原 core 叙事族)
- engine/runtime/   World/creation/pcgen/ApiFacade/capabilities/pluginManager/boot/clocks + Systems/*(12 系统)
- engine/sim/     Market(未来 WorldSim 同行)
- 旧 game/core、engine/systems、engine/world.ts 等路径全部废弃(无 re-export 兼容层)

验证:35 套件/967 测试全绿(金钟罩三档零漂移=纯搬迁无行为变化)
typecheck 0 error
This commit is contained in:
2026-08-23 13:23:25 +08:00
parent 2528226a9f
commit ff6df8054c
89 changed files with 281 additions and 281 deletions
+2 -2
View File
@@ -1,10 +1,10 @@
import { useState } from 'react'
import { useGameStore } from '../store'
import { applyEventChoice, rankPower } from '../../game/engine/systems/events'
import { applyEventChoice, rankPower } from '../../game/engine/runtime/Systems/events'
import { eventCategoryName } from '../../game/data/events'
import { describeRealm } from '../../game/data/realms'
import { Character } from '../../game/types/domain'
import { combatPowerOf } from '../../game/engine/systems/combat'
import { combatPowerOf } from '../../game/engine/runtime/Systems/combat'
import { FORMATIONS, FormationId } from '../../game/data/formations'
import { ModalShell } from './ModalShell'
+1 -1
View File
@@ -1,5 +1,5 @@
import { useGameStore } from '../store'
import { GUIDE_STEPS, computeGuide, guideAdvance } from '../../game/core/guide'
import { GUIDE_STEPS, computeGuide, guideAdvance } from '../../game/engine/kernel/guide'
export function GuideStrip() {
const world = useGameStore((s) => s.world)
+4 -4
View File
@@ -5,12 +5,12 @@ import { describeRoots, ROOT_GRADE_NAMES } from '../../game/data/elements'
import { TRAITS } from '../../game/data/traits'
import { TECHNIQUES } from '../../game/data/techniques'
import { ITEMS, ARTIFACT_POWER } from '../../game/data/items'
import { combatPowerOf } from '../../game/engine/systems/combat'
import { lifespanOf } from '../../game/engine/systems/lifecycle'
import { perAttemptChance } from '../../game/engine/systems/cultivation'
import { combatPowerOf } from '../../game/engine/runtime/Systems/combat'
import { lifespanOf } from '../../game/engine/runtime/Systems/lifecycle'
import { perAttemptChance } from '../../game/engine/runtime/Systems/cultivation'
import { POSTS, POST_ORDER } from '../../game/data/posts'
import { ModalShell } from './ModalShell'
import { buildBiography } from '../../game/core/biography'
import { buildBiography } from '../../game/engine/narrative/biography'
function aspName(c: Character): string {
const map: Record<string, string> = {
+1 -1
View File
@@ -1,5 +1,5 @@
import { useGameStore } from '../store'
import { LegacyArch } from '../../game/core/legacy'
import { LegacyArch } from '../../game/engine/narrative/legacy'
import { sBell } from '../sound'
import { ModalShell } from './ModalShell'
+1 -1
View File
@@ -1,5 +1,5 @@
import { useGameStore } from '../store'
import { computeUrgency } from '../../game/core/urgency'
import { computeUrgency } from '../../game/engine/kernel/urgency'
export function UrgentBadges() {
const world = useGameStore((s) => s.world)