feat(battle-engine): full View/VFX/UI/Touch/Story type closure (4254->3916, unmasked)

Generate no-op shells for the entire stop-listed View/Vfx/UI/Touch/Story missing-
type closure (~180 types) + 5 copyable engine files. Net-new shells emitted base-less,
so override members are stripped via the new --no-override generator flag. SDK/BCL
over-reach (Adjust/GZipStream/Socket*) and non-battle Story-world clusters reduced to
minimal/empty stubs instead of full-surface. Nested-type closure (BuildInfo/BattleDialog/
ROOM_URI/FuncGetCantAttackText) placed top-level in their decomp namespaces.

Clearing the last View CS0115 unmasked the true member-level frontier: 3916 errors,
0 generated/structural errors, now dominated by Unity-type + god-object members.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-05 22:01:37 -04:00
parent a28e3ba334
commit 4b9a603cd4
176 changed files with 4809 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
// AUTHORED SHIM (not copied). Closure stubs for NESTED types whose unqualified
// references survive in net-new generated no-op shells. The generator emits each
// shell as a base-less `partial class` (it never re-emits the decomp base clause),
// so a derived view that referenced an inherited nested type (e.g. UnitBattleCardView
// using BattleCardView.BuildInfo) loses the inheritance path and the name resolves
// only at NAMESPACE scope. Declaring these top-level in the decomp namespace lets the
// shell's signatures resolve. Safe because nothing crosses the engine boundary with
// these types (zero CS0029 mismatches) — they exist purely so the no-op shells compile.
namespace Wizard.Battle.View
{
// nested in BattlePlayerViewBase (decomp); referenced unqualified by BattlePlayerView shell.
public class BattleDialog { }
public enum BattleDialogItem { Menu, Retire }
// nested in BattleCardView/BattleCardBase (decomp); referenced unqualified by *BattleCardView shells.
public class BuildInfo { }
}
namespace Wizard.Battle.UI
{
// private delegate nested in BattleLogUtility (decomp); referenced by its generated partial.
public delegate string FuncGetCantAttackText();
}
namespace Wizard.RoomMatch
{
// nested enum in PlayerController (decomp); referenced by PlayerControllerForOwn shell.
public enum ROOM_URI { }
}
namespace Wizard.Battle.View.Vfx
{
// VfxBase subclass declared in StartPickCardVfx.cs (decomp); referenced as a type by StartSummonCardVfx shell.
public class WaitUntilCardIsQueuedToBePlayedVfx { }
}

View File

@@ -0,0 +1,31 @@
// AUTHORED SHIM (not copied). Non-battle Story / StorySelectionWorld / Profile UI
// types that the copied engine references only as field/parameter TYPES (never drives
// headless). Generating them full-surface pulled a large non-battle closure
// (BackgroundData/StoryWorldData/IResourceHandle/animation managers, etc.); empty
// no-op stubs in their decomp namespaces resolve the references without the closure.
namespace Wizard.Story.ChapterSelection.FlowChart { public class BackgroundView { } }
namespace Wizary.StorySelectionWorld
{
public class WorldPanel { }
public class WorldPanelView { }
public class SectionButton { }
public class SectionButtonView { }
public class StorySelectionWorldScene { }
}
namespace Wizard.Scenario2.Resource { public class ResourceManager { } }
namespace Wizard.UI.Profile
{
public class ProfileUI { }
public class ClassPageItem { }
}
namespace Wizard.Story.ChapterSelection
{
public class SectionInfoPanel { }
public class CharaInfoPanel { }
public class StoryChapterSelectionUtility { }
}