Skip to content

Add CLAUDE.md with architecture overview#70

Open
styler wants to merge 1 commit into
masterfrom
claude/deeper-claude-md
Open

Add CLAUDE.md with architecture overview#70
styler wants to merge 1 commit into
masterfrom
claude/deeper-claude-md

Conversation

@styler
Copy link
Copy Markdown
Member

@styler styler commented May 22, 2026

Summary

  • Adds CLAUDE.md documenting how this plugin actually fits together, so future Claude Code sessions (and humans) can get oriented without re-reading 130+ files.
  • Covers: build/format/CI, the StreamElementsGlobalStateManager subsystem graph, the composition layer (lazy video encoders via SELazyOBSVideoEncoderProvider, private OBS canvases via obs_canvas_create_private/obs_canvas_scene_create), the multistreaming output engine (parallel obs_output_t instances bound to shared encoders), the JSON-over-localhost-websocket host API (204 flat handlers wired via API_HANDLER_BEGIN macros, threading via QtPostTask onto the Qt main loop), and the scene/profile/backup layer (including the Windows-only AngelScript restore-script-host).
  • Concrete identifiers (class names, OBS API symbols, port 27952, pipe \\.\pipe\StreamElementsObsLiveControllerServer, config file obs-streamelements-core.ini, handler-name shape) were grep-verified before writing.

Test plan

  • Skim CLAUDE.md and flag anything that's wrong, outdated, or misleading
  • Confirm the description of the obs-browser sibling-repo build requirement matches how engineers actually set up local builds
  • Confirm the multistreaming description matches the intended model (especially the lazy-encoder sharing claim)

Documents build/format/CI, the StreamElementsGlobalStateManager subsystem
graph, compositions (lazy video encoders, private OBS canvases), the
multistreaming output engine, the JSON-over-localhost-websocket host API
(204 handlers via API_HANDLER_BEGIN macros, threading via QtPostTask),
and the scene/profile/backup layer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant