변경 내역
패키지의 주요 변경 사항입니다. 이 프로젝트는 Semantic Versioning을 따릅니다.
Unreleased
1.1.0 - 2026-06-27
Changed (breaking)
- Removed reflection-based
[Terminal]method discovery and invocation. Commands are now registered explicitly withRegisterCommand(...). - Removed the reflection-based Object Inspector module from the default runtime.
- EventSystem fallback no longer probes optional Input System types via reflection. Projects
using Input System-only input should provide an EventSystem with
InputSystemUIInputModule.
Fixed
- Terminal input now executes only on an explicit submit, not on focus loss.
- Terminal output escapes rich text-sensitive characters before wrapping lines in color tags.
- Unity component commands now use invariant-culture numeric parsing, strict bool parsing, and inactive-inclusive GameObject lookup where appropriate.
- Runtime helper GameObjects created by Logs and Performance modules are disposed with the terminal bootstrap.
Added
- Cached completion items for command names, usage keywords and command-specific providers.
- Context-aware completions for built-in commands, including scenes, logs, GameObjects, component targets and boolean values.
data [table] [id|text]command plusRegisterDataTable(...)for reflection-free data lookup.- Terminal UI tabs for Console, registered Commands and registered Data tables.
1.0.0 - 2026-05-29
Changed (breaking)
- Removed the internal collaborator interfaces (
ICommandRegistry,ICommandParser,ICommandHistory,IAutoCompleteProvider,IAliasResolver,IArgumentConverter,ITerminalTrigger,ITerminal) andTerminalBuilder. The coreTerminalis now a concrete class that owns concrete collaborators. OnlyICommand,ICommandOutput,ITerminalViewandITerminalModuleremain as real extension points. - No marker interface for commands - the
[Terminal]attribute is the only marker. Terminal.ScanStaticCommands()sweeps user assemblies and auto-registers all static[Terminal]methods; the bootstrap runs it on startup (TerminalBehaviour.AutoScanStaticCommandsto toggle). Instance commands still useRegister(this).
Added
- Runtime Logs module: captures
Debug.Logoutput into a ring buffer withlogs [n | error | warning | info | <text> | find <text> | clear | export]. Export writes toApplication.persistentDataPathso logs are retrievable on device. - Up/Down arrow recalls previous/next command history in the input field
(via uGUI
IMoveHandler, so it works under both the legacy Input Manager and the Input System package). help <category>lists the commands in a category with descriptions;helpnow hints athelp <command>/help <category>.
Fixed
- EventSystem now creates
InputSystemUIInputModulewhen the Input System package is active (resolved via reflection), avoiding the per-frameInvalidOperationException. - Top-right corner trigger is now a visible
>_handle and opens on a single tap.
0.1.0 - 2026-05-29
Added
- Core command system:
ICommandRegistry,ICommandParser(quote-aware),ICommandHistory,IAutoCompleteProvider,IAliasResolver,IArgumentConverter,ICommandOutputwith default implementations. [Terminal("name {0}")]attribute and reflection-basedAttributeCommandbinding, including positional binding, optional parameters andCommandContextinjection.- Interface-driven
Terminalcore assembled viaTerminalBuilder. - uGUI overlay view (
UGuiTerminalView) deactivated while closed for zero idle cost. - Top-right corner open gesture (
TerminalCornerTrigger, double-tap by default). TerminalBehaviourbootstrap with a static convenience API; auto-bootstraps in the editor and development builds.- Built-in commands:
help,clear,history,echo,alias. - Module system (
ITerminalModule) withInstallModule/GetModule<T>on the bootstrap. - Scene Tools module:
scene list | load <name> [additive] | unload <name>. - Object Inspector module:
find,inspect,set <name>.<member> <value>,call, with explicit object registration (ObjectInspectorModule.RegisterObject). - Performance Monitor module:
perf(FPS, frame ms, memory, GC, render stats viaProfilerRecorder). - Basic Usage sample.