#nullable enable using System.Collections.Generic; using System.Linq; namespace T3.Core.Resource; /// /// Runtime components — often native libraries loaded by operator packages in a separate load context — /// register a short version/license line here so the editor can surface it (e.g. the About dialog, for /// license transparency). Lives in Core because Core is the assembly shared across the editor and the /// operator load contexts, so a registration from an operator package is visible to the editor. /// public static class ThirdPartyRuntimeInfo { /// Registers or replaces the line for (e.g. "FFmpeg" → "7.0 (LGPL)"). public static void Register(string name, string details) { lock (_lock) _entries[name] = details; } public static IReadOnlyList> GetAll() { lock (_lock) return _entries.ToList(); } private static readonly object _lock = new(); private static readonly Dictionary _entries = new(); }