1.3.5894

New C# scripting engine is now available in Triggers/Actions — alpha

Over the next few days I’ll publish more details, but in short: the C# engine that was already used in WebUI to take advantage of Blazor has now been ported and is also available in C# actions and triggers.

This means that everything you could previously use in WebUI is now also available in triggers/actions, including:

  • access to new and improved APIs such as Interface IAuraTreeScriptingApi | EyeAuras Docs, Interface IVariablesScriptingApi | EyeAuras Docs, Interface IAuraAccessor | EyeAuras Docs, and more
    • These APIs are intended to remain compatible in future versions, and I’ll make every effort to keep them that way. If I ever need to introduce breaking changes, a dedicated compatibility layer will be added on top of the old APIs to avoid breaking existing code.
    • The plan is to let scripts inject a set of APIs, such as SendInputScriptingApi, to provide easy access to image analysis, input sending, and all other functionality currently available in EyeAuras.
    • The trigger/action/overlay APIs may still change for now, since I don’t yet have a good compatibility-layer solution for them.
  • using multiple files to organize your source code more cleanly
  • referencing other C#-based auras to access classes and methods implemented there — for example, you can create one aura with all your helper functions and reuse it across projects
  • exporting a csproj and editing the code in Visual Studio / JetBrains Rider
  • live project editing through Monitor, although this is less useful than it is for WebUI

Autocomplete is currently disabled. I haven’t decided yet whether to switch directly to the Monaco editor or improve the existing text editor first. I’ll share an update as soon as possible.

One of the biggest advantages of this change is that now, with a unified scripting system, any improvement will instantly apply everywhere — WebUI / C# actions / triggers and Behavior Trees.

P.S. Behavior Trees will most likely be released in December, and they’ll be based on the same engine. Stay tuned — it’s going to be very, very cool, I promise :)

New API documentation website

The new website hosting the EyeAuras API documentation is now available at https://docs.eyeauras.net.

This will be especially useful for users who use EyeAuras as a scripting platform. However, the Wiki remains the main resource for non-developers.

At the moment, the documentation is still missing a demos and examples section, which is an essential part of any documentation site. In December, linqse and I will be focusing on improving that area. In addition, most public interfaces and classes now include XML comments.

If any important information is missing, please let us know.

Improved error reporting

Understanding exactly what went wrong is critical when problems occur. Our new error reporting system collects all errors within an Action/Trigger or across the entire Aura.

These errors are hierarchical, meaning Aura-level errors include all errors from their actions/triggers, similar to folders. Users can also mark errors as read whenever they want.

Image

Performance improvement — property caching (alpha)

A new feature has been introduced to significantly reduce disk reads/writes and slightly lower CPU usage. This feature is still being tested and can be enabled in settings via the Property Caching option.

Bug fixes / improvements

  • [Volume Trigger]: Temporarily disabled due to conflicts with a subsystem.
  • Safe Mode: Improved the mechanism that detects incorrect application exits.
  • [Image Trigger]: Added the ability to copy the image sample to the clipboard and paste from it.
  • [C# Code Editor]: Performance improvements make the editor more responsive. We still plan to eventually migrate to the Monaco editor.