gum-runtime-topology

Maps Gum's render backends and shared-source compilation surfaces for safe runtime refactoring.

614|78|Updated Mar 11, 2015
One-click install
npx skills add https://github.com/vchelaru/Gum --skill gum-runtime-topology
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gum-runtime-topology
Source: https://github.com/vchelaru/Gum/tree/main/.claude/skills/gum-runtime-topology
Command: npx skills add https://github.com/vchelaru/Gum --skill gum-runtime-topology

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Gum has no single runtime assembly: the same RenderingLibrary and GumCommon source is compiled into many assemblies via three different source-sharing mechanisms, plus the separate FlatRedBall repo. A refactor that builds clean in AllLibraries.sln can silently break the WPF runtime or FRB, and this Skill tells you exactly what to check before moving, renaming, or deleting shared files.

Core Features & Use Cases

  • Compilation surface checklist: Enumerates every solution and project that must be rebuilt for a runtime-level refactor, including SkiaGum.Wpf (excluded from AllLibraries.sln) and the FRB shared projects.
  • Source-sharing landmine detection: Documents the three sharing mechanisms (GumCommon project reference, cross-project file links, FRB shared projects) and known same-FQN forks like the two LoaderManager.cs files.
  • Use Case: Before renaming a file under MonoGameGum/Forms, consult this Skill to learn it must also be registered in FlatRedBall.Forms.Shared.shproj and gated for the net6.0 target floor.

Quick Start

Ask which projects must be rebuilt and which shared-project files must be updated before moving a RenderingLibrary source file in the Gum repository.

Frequently Asked Questions about gum-runtime-topology

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I safely move or rename a shared Gum runtime file?

Check the file against every compilation surface: AllLibraries.sln, SkiaGum.Wpf.csproj, GumCoreShared.projitems, and the two FlatRedBall shared projects. Moving between a globbed folder and a linked location also requires editing the csproj Compile items.

What must I rebuild after a Gum runtime refactor?

Rebuild AllLibraries.sln as the broad verification step, then separately build SkiaGum.Wpf on Windows since it is excluded from AllLibraries for Mac compatibility. Also verify the FRB-side GumCoreShared.FlatRedBall and FlatRedBall.Forms shared projects.

Why do I get duplicate same-FQN type errors in Gum builds?

RenderingLibrary is a source directory distributed by links, so the same type can exist in multiple assemblies. Known forks like GumCommon/Content/LoaderManager.cs and RenderingLibrary/Content/LoaderManager.cs cause duplicate-type errors if compiled together.

Does SkiaGum.Wpf build with AllLibraries.sln?

No. SkiaGum.Wpf is excluded from AllLibraries.sln because WPF cannot build on Mac, and AllLibraries must compile cross-platform. Build SkiaGum.Wpf.csproj separately on Windows after any runtime refactor.

Can I use net7+ APIs in Gum shared runtime code?

Not in code consumed by FlatRedBall. The FRB GumPlugin shared project multi-targets down to net6.0, so any net7+ BCL APIs in shared source must be gated or avoided for those files.