Commit Graph
56 Commits
Author SHA1 Message Date
RobertBeekman 63186ee06d Core - Fix color gradient and utility bugs found by the tests (#914)
* Profile adaption - Fix arrow keys section including Page Down

- The arrow keys keyboard section now starts at Arrow Up instead of the key before it (Page Down)
- Updated the keyboard section test to expect only the four arrow keys

* Color quantizer - Let fully saturated colors be vibrant and grays be muted

- The saturation limits of the color types are now inclusive, so 100% saturated colors count as vibrant and 0% saturated colors count as muted
- The lightness limits stay exclusive so pure black and white are still left out
- Updated the quantizer tests to match

* Color gradients - Fix stop placement, seamless toggling and list events

- Stops on an occupied position now move down 0.001 instead of 0.002 (rounding error in the distance check)
- Flip, rotate, spread and interpolate move all stops together, so a stop can take a position another stop is leaving
- Spreading or randomizing a single stop puts it at 0 instead of NaN
- ToggleSeamless does nothing on an empty gradient and caps stretched stops at 1 instead of 100
- RemoveAt reports the removed stop and its index
- Insert links the stop like Add does and raises the add before the move
- Remove, RemoveAt, Clear and replacing a stop through the indexer unlink and stop listening to the actual removed stop
- Copying from a list of stops sorts them by position
- Obsolete GetPositionsArray no longer skips the seamless positions, obsolete GetColor picks the right colors after a repeat
- Updated the gradient tests to match

* Core - Fix small color, enum, string and type utility bugs

- Darken keeps the alpha of the color
- GetAllValuesAndDescriptions(Type) uses the [Description] attribute like the generic version
- UrlFriendly cuts titles at 80 characters instead of 81
- RemapInternationalCharToAscii knows both cases of r, l, d, thorn, sharp s, h and j with accents
- IsGenericType returns false instead of throwing when the base type is not generic
- IsCastableFrom also finds conversion operators declared on the target type
- GetDisplayName keeps the brackets of array types when humanizing
- Updated the utility tests to match
2026-10-24 15:53:52 +02:00
rjc862003 2b29c15cf1 Close process query handles 2026-10-01 23:49:22 -04:00
Robert 86f2426f37 Core - Remove API versioning, we have MinimumVersion to achieve the same thing 2025-12-19 23:11:27 +01:00
RobertBeekman 28edabae89 Workshop - Implemented workshop installation, layout selection and removal 2024-01-14 12:46:51 +01:00
Robert 38f18613c1 Core - Ensure devices owned by ArtemisDevice always have valid dimensions 2023-10-14 19:36:46 +02:00
Robert f6f6f0fe6a Core - Made SKPaintExtensions public 2023-08-22 16:01:32 +02:00
Robert 4518691907 Fixed lots of runtime errors 2023-03-31 21:17:14 +02:00
Robert f6090dc296 Code style - Use file scoped namespaces
Code style - Ran code cleanup
2022-08-21 11:36:15 +02:00
Robert 35f83e58e5 Merge branch 'development' into feature/avalonia
Code cleanup
2022-05-14 00:14:03 +02:00
Robert 2bf36fbf20 Core - Refactored effects
Profile editor - Added effect creation
2022-04-23 17:07:04 +02:00
Robert 2ae1f5f56c Node editor - Added node creation by dropping cables in empty space
Node editor - Added undo/redo to static value nodes
UI - Throw exception when binding a non-reactive view to an activatable view model
2022-03-26 19:13:51 +01:00
Robert 022beb6a48 Profile editor - Added most properties 2022-01-12 22:11:40 +01:00
Robert d5d3530ca5 Meta - Upgrade to .NET 6 2022-01-08 17:27:50 +01:00
Robert c21acf87a7 Nodes - Added XML docs for remaining types
Nodes - Fully implemented nullable reference types
2021-09-25 21:35:54 +02:00
Robert 8413b8d6db Nodes - Added event value cycle node 2021-09-20 22:55:10 +02:00
Robert b8077ca589 Nodes - Added type color registration system
Nodes - Generate (stable) type colors for undefined types
2021-08-19 11:40:50 +02:00
Robert afc4bee7ac Nodes - Implemented saving/loading
Nodes - Added data model node
2021-08-10 16:52:24 +02:00
Robert 79894150d9 Prerequisites - Fixed install dialog not updating to next action
Prerequisites - Finished download file action
Prerequisites - Added extract ZIP action
2021-05-03 17:24:41 +02:00
Robert 19679c0ba6 Plugins - Added prerequisites system 2021-04-25 23:18:00 +02:00
Robert eb7c89d4ad Rendering - Sovled inconsistencies between software and Vulkan rendering
LED sampling - Improved LED sampling on <100% scale
2021-03-25 19:59:28 +01:00
Robert fa49424cf6 Rendering - Made the way layering is rendered 99.5% less stupid 2021-03-23 00:08:00 +01:00
Robert 606c1b80f2 RGB.NET - Updated for latest development branch 2021-02-07 22:29:30 +01:00
SpoinkyNL 10e6cdc54b Code style - Omit the type in a new expressions 2020-12-18 17:54:01 +01:00
SpoinkyNL 186d012087 Core - Simplified and improved render scaling 2020-12-08 22:54:54 +01:00
SpoinkyNL fb3466e102 Core - Nullable refactoring
Core - Nullable refactoring


Core - Nullable refactoring (finish)
2020-11-17 22:50:38 +01:00
Robert a3cd32f6c4 Core - Added XML comments to all remaining public members/methods
Core - Refactored a lot of code for nullable reference types
2020-11-16 20:16:06 +01:00
Robert 4e69395ce8 Condition operators - Redesigned API to leverage generics
Condition operators - Updated default operators to use new API
2020-10-19 19:47:16 +02:00
SpoinkyNL 7b7b75be78 Core - Added GetDisplayName Type extension
Data models - Improved nullable value type handling
2020-10-16 00:01:08 +02:00
Robert ef62e30c6f Data model - Fixed IEnumerable detection for strings and... IEnumerables 2020-10-13 19:54:31 +02:00
Robert 3b6753a0ff Data model - Support all lists implementing IEnumerable<> 2020-10-12 19:31:02 +02:00
SpoinkyNL ae64db8a13 Darthified code 2020-10-05 22:50:29 +02:00
SpoinkyNL d788183f25 Data bindings - Highlight current property
Data bindings - Disable data-bound property inputs
Data bindings - Use toggle to indicate data bindings being enabled
2020-09-15 23:18:21 +02:00
SpoinkyNL 1dc58fd09a Data bindings - WIP commit 2020-09-06 21:24:35 +02:00
SpoinkyNL 8718d01eae Core - Flattened namespaces
Shared UI - Flattened namespaces
Shared UI - General housekeeping
Project - Code cleanup
2020-09-01 00:14:08 +02:00
SpoinkyNL 6a32ecc3a4 Modules - Added activation mechanism and conditions 2020-08-16 23:44:59 +02:00
Robert 3639185171 Display conditions - Loosened up type rules for dynamic comparisons
Display conditions - Improved static value input and added support for int and double
2020-07-07 19:53:24 +02:00
SpoinkyNL 796c0dc671 Data model - Added data model visualization view model
Debugger - Split debugger into different tabs
Debugger - Added data model debugger
2020-06-29 00:22:16 +02:00
SpoinkyNL 24afb6b0f5 UI - Large amount of memory improvements in the VMs
Core - Minor memory improvements
2020-06-19 21:48:26 +02:00
SpoinkyNL 75b0ee8151 Profiles - Abstracted property elements and effect elements
Folders - Added properties to folders
Layer effects - Expanded to folders
Layer effects - Added shape clipping
2020-06-17 19:21:23 +02:00
Robert c62997ca41 Plugins - Added descriptions
Settings - Plugin settings tab
UI - Catch exceptions during exception dialog display
Plugins - Implemented enable/disable of plugins (WIP)
Novation - Added Launchpad Mini layout and image
2020-03-03 23:18:00 +01:00
SpoinkyNL a79c56eaa1 Core port - Targeting .NET Core 3.1!
Core port - Updated projects to new project layout
Core port - Changed the way devices are identified to be consistent across different frameworks
Core port - Updated plugin system to no longer use AppDomain but AssemblyLoadContext (through McMaster.NETCore.Plugins)
Core port - Renamed a few events to keep Fody from getting confused
2020-02-22 18:38:32 +01:00
Robert ae330c3769 Code cleanup 2020-01-14 19:18:24 +01:00
SpoinkyNL b1870e9e64 Added configurable LED sample size 2019-12-19 23:18:09 +01:00
SpoinkyNL a2871541b9 WIP - Added a BitmapBrush to replace the GraphicsDecorator 2019-12-11 00:04:23 +01:00
SpoinkyNL c99e549101 Optimized noise layer 2019-12-07 16:03:14 +01:00
SpoinkyNL 96a057df23 Implemented most of the rendering pipeline in SkiaSharp 2019-12-03 00:09:32 +01:00
Robert b8a678c97f Skia WIP 2019-12-02 20:14:28 +01:00
SpoinkyNL 086f2fc1f9 Updated for RGB.NET's changes regarding rotation 2019-11-21 08:45:38 +01:00
Robert 5340e6c6d4 Code cleanup 2019-11-13 19:57:23 +01:00
SpoinkyNL 8777e8975f Added a layer of abstraction between RGB.NET and Artemis
This means Artemis can add extra functionality
It also avoid having to reference RGB.NET for basic rendering
Implemented rendering scaling
2019-10-30 23:20:06 +01:00