Files
Pandipipas 02a108f983 refactor: architecture base
- Moved NodeCG context management to a dedicated context module.
- Introduced message handling utilities for better message listening and sending.
- Updated startgg integration to use new message handling methods.
- Removed deprecated replicant utilities and replaced them with a new structure.
- Refactored replicant imports in graphics components to align with new structure.
- Added new pack-related types and schemas for better type safety.
- Cleaned up unused files and consolidated pack configuration into a single module.
- Updated TypeScript configurations to reflect new directory structure.
2026-05-23 21:52:07 +02:00

2.3 KiB

Phase 1 Summary

Scope

Executed the base architecture phase only. This phase focused on structure, boundaries, shared contracts and compatibility without changing UX, overlay visuals or large feature logic.

Completed

  • Added the src/nodecg boundary:
    • src/nodecg/browser
    • src/nodecg/extension
    • centralized replicantNames
    • centralized messageNames
  • Moved browser replicant access out of src/browser_shared.
  • Moved dashboard stores to src/dashboard/stores.
  • Moved pure country helpers to src/shared/domain/players.
  • Moved pack config and pack types to src/shared/domain/packs.
  • Added pack replicant schemas:
    • installedPacks
    • packRegistry
    • downloadStates
    • availableUpdates
  • Added generated TypeScript declarations for the new pack schemas.
  • Removed dead example code:
    • exampleReplicant schema/type
    • ExampleType
    • src/extension/example.ts
  • Removed redundant stale JS files from src/shared.
  • Updated extension bootstrap to use an explicit NodeCG context boundary.
  • Routed browser messages through src/nodecg/browser/messages.ts.
  • Routed extension message registration through src/nodecg/extension/messages.ts.
  • Routed pack replicant creation through NodeCG pack boundary services.
  • Updated build config so generated NodeCG/shared extension outputs are ignored and cleaned.

Preserved

  • No overlay UX, CSS, SVG, layout or animation logic was intentionally changed.
  • No large dashboard view was split or rewritten.
  • pack-manager.ts behavior was preserved; only imports, types, replicant/message names and boundaries were normalized.
  • Public NodeCG message names were kept unchanged for compatibility.
  • Public replicant names and defaults were kept unchanged.

Verification

  • pnpm.cmd exec vue-tsc -p tsconfig.browser.json --noEmit: passed.
  • pnpm.cmd exec tsc -b tsconfig.extension.json --pretty false: passed.
  • pnpm.cmd exec eslint: passed with 0 errors and existing Vue formatting warnings.
  • pnpm.cmd run build: passed.

Remaining For Later Phases

  • Controlled rewrite of pack-manager.ts.
  • Controlled rewrite of usePackRegistry and fighting-characters.ts.
  • Formal provider module split for Start.gg and Challonge.
  • Splitting Players.vue and Settings.vue.
  • Overlay view models and visual baseline work.