feat: add TunableConstants, LogEntry types and socket events
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user