- Capture full call stack + throw-site in the Squirrel runtime error hook
(new common/ScriptError.{h,cpp}) and surface it through ScriptException
(line/column/function/stackTrace/reported accessors).
- Runtime installs its own error hook and drives execute() with a raw
sq_call, fixing a null-deref when DevTool's hook replaces ssq's default
runtime error handler.
- Compile errors now carry source line/column plus a snippet with caret.
- REPL/MCP/Debugger eval paths return the real error text instead of
generic 'compile failed' / 'runtime failed'.
- Run() skips a second DevTool report for hook-reported script errors.
- ECS bootstrap compile/run failures are printed instead of swallowed.
- Introduced a new mechanism for registering C++ entity view functions, allowing Squirrel scripts to access and manipulate C++ entities directly.
- Implemented a `cppCollect` function to traverse class hierarchies and collect C++ entities based on registered views, enhancing script interaction with C++ components.
- Updated the ECS API to expose new functions for registering C++ entity views and collecting entities in scripts.
- Enhanced existing tests to validate the new functionality and ensure proper integration between C++ and Squirrel scripts.
Wire exposeECS into ModuleManager so Squirrel can define Component and
Entity classes (EntityContainer alias), iterate with eve.view, and drive
logic via eve.System. Reserve eve.Component for ECS (UI keeps UIComponent).
Co-authored-by: 西风逍遥游 <sunxfancy@gmail.com>