CLose story 1.2

This commit is contained in:
2026-05-21 23:08:34 +02:00
commit 110b295a7b
75 changed files with 16065 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
// @ts-nocheck — Module entry point with FoundryVTT globals, no exports needed
/**
* module.js — Entry point and wiring diagram for Video View Manager (Scrying Pool).
*
* This file is the wiring diagram ONLY. It imports all modules, constructs them
* with injected dependencies, and holds NO business logic.
*
* Initialisation order:
* Hooks.once('init') → register world settings → construct FoundryAdapter
* → StateStore → SocketHandler (queue+drain)
* Hooks.once('ready') → VisibilityManager → SocketHandler.setReady()
* → NotificationBus → RoleRenderer → RosterStrip
* → DirectorsBoard (lazy, GM only)
*/
Hooks.once("init", () => {
console.log("[ScryingPool] init — module loading");
// OQ-1 resolved (Story 1.2 spike): probe result is 'css-fallback' — see FoundryAdapter.js
game.settings.register("scrying-pool", "webrtcMode", {
scope: "world",
config: false,
type: String,
default: "css-fallback",
choices: {
"track-disable": "Track Disable (bandwidth-saving)",
"css-fallback": "CSS Fallback (cosmetic hiding)",
"unsupported": "Unsupported (AV not available)",
},
});
// Story 1.3+: register remaining world settings, construct FoundryAdapter, StateStore, SocketHandler
});
Hooks.once("ready", () => {
console.log("[ScryingPool] ready — module active");
// Story 1.3+: construct VisibilityManager, NotificationBus, RoleRenderer, RosterStrip
// Story 1.5+: register DirectorsBoard (lazy, GM only)
});