diff --git a/CLAUDE.md b/CLAUDE.md index a201e301..19a12cb1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -132,7 +132,7 @@ This is the **ktsu ImGui Suite**, a collection of .NET libraries for building De - **ktsu.Semantics.Strings** (1.0.28) - Type-safe string wrappers - **ktsu.Semantics.Quantities** (1.0.29) - Typed quantity calculations - **Hexa.NET.ImGui.Widgets** (1.2.18) - Upstream widget collection backing the Hexa-delegated widgets in `ImGui.Widgets` -- **Hexa.NET.ImGui.Widgets.Extras** (1.0.9) - Curve editor, bezier and text editor extras; referenced for a future tier but not yet used by any Tier 1 widget. Pulls `Microsoft.CodeAnalysis.CSharp.Scripting` and `Hexa.NET.Math` into the dependency graph. +- **Hexa.NET.ImGui.Widgets.Extras** (1.0.9) - Curve editor, bezier and text editor extras. Used by exactly two call sites, both under `ImGui.Widgets/Editors`: `CurveField.cs` (`ImGuiCurveEditor.Curve`) and `BezierEditor.cs` (`ImGuiBezierWidget.Bezier`). Pulls `Hexa.NET.Math` and `Microsoft.CodeAnalysis.CSharp.Scripting` into the dependency graph, and the latter brings the Roslyn compiler and scripting host with it — 5 packages, ~107 MB unpacked, which every consumer of `ktsu.ImGui.Widgets` restores and publishes whether or not it draws a curve. Roslyn is reachable only from Extras' `CSharpSyntaxHighlight`, a TextEditor type nothing here touches, so this is a restore and publish cost rather than a runtime one. Do not expect `ExcludeAssets`/`PrivateAssets` to remove it: the Roslyn dependency is declared in Extras' own nuspec, and a package cannot prune its dependency's dependencies for its consumers. Dropping the weight means splitting the two editors into an opt-in package or reimplementing them — tracked in #384. - **ktsu.Invoker** (1.1.2) - Delegate invocation utilities - **ktsu.ScopedAction** (1.1.6) - RAII-pattern scoped actions - **Polyfill** (9.7.7) - Backport newer .NET APIs