feat: add TunableConstants, LogEntry types and socket events

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
root
2026-03-10 02:16:27 +00:00
parent 186536d95c
commit 778eeb3832
+54
View File
@@ -267,6 +267,51 @@ export interface Desire {
cooldownTicks?: number;
}
// Admin panel types
export interface TunableConstants {
TICK_RATE: number;
BROADCAST_EVERY_N_TICKS: number;
HUNGER_DECAY_PER_TICK: number;
ENERGY_DECAY_PER_TICK: number;
HUNGER_THRESHOLD: number;
ENERGY_THRESHOLD: number;
NEED_RECOVERY_RATE: number;
SLEEP_ENERGY_RECOVERY_PER_TICK: number;
SLEEP_HUNGER_DECAY_MULTIPLIER: number;
SLEEP_WAKE_THRESHOLD: number;
SLEEP_VOLUNTARY_ENERGY_THRESHOLD: number;
PRODUCTIVITY_DECAY_PER_TICK: number;
PRODUCTIVITY_THRESHOLD: number;
PRODUCTIVITY_RECOVERY_RATE: number;
DAY_NIGHT_RATIO: number;
DAY_HOURS: number;
SUNSET_DURATION_HOURS: number;
SUNRISE_DURATION_HOURS: number;
NIGHT_DARKNESS: number;
AWARENESS_RADIUS: number;
FACING_DURATION: number;
PAUSING_DURATION: number;
EMOTING_DURATION: number;
SOCIAL_GLOBAL_COOLDOWN: number;
SOCIAL_PAIR_COOLDOWN: number;
PROPOSAL_EMOTING_DURATION: number;
MAX_NPC_COUNT: number;
MOVE_SPEED: number;
}
export type TunableKey = keyof TunableConstants;
// Log panel types
export type LogSeverity = 'error' | 'warning' | 'info';
export type LogCategory = 'LLM' | 'Save' | 'Network' | 'Performance' | 'Game';
export interface LogEntry {
timestamp: number;
severity: LogSeverity;
category: LogCategory;
message: string;
}
// Server -> Client events
export interface ServerEvents {
'world-state': (data: WorldState) => void;
@@ -286,6 +331,10 @@ export interface ServerEvents {
'stockpile-event': (data: StockpileLogEntry) => void;
'stockpile-history': (data: StockpileLogEntry[]) => void;
'stockpile-summary': (data: Record<string, number>) => void;
'admin-auth-result': (data: { success: boolean; constants?: TunableConstants }) => void;
'admin-constants-updated': (data: TunableConstants) => void;
'log-history': (data: LogEntry[]) => void;
'log-entry': (data: LogEntry) => void;
}
// Client -> Server events
@@ -295,4 +344,9 @@ export interface ClientEvents {
'superlatives-subscribe': () => void;
'superlatives-unsubscribe': () => void;
'follow-npc': (data: { entityId: EntityId | null }) => void;
'admin-auth': (data: { password: string }) => void;
'admin-update-constant': (data: { key: TunableKey; value: number }) => void;
'admin-reset-defaults': () => void;
'log-subscribe': () => void;
'log-unsubscribe': () => void;
}