Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/francescozoccheddu/voodo
C#-based scripting language for procedural animation, data binding and prototyping on WinUI and XAML
https://github.com/francescozoccheddu/voodo
property-binding scripting-language source-generation ui-animation ui-prototyping winui xaml
Last synced: about 2 months ago
JSON representation
C#-based scripting language for procedural animation, data binding and prototyping on WinUI and XAML
- Host: GitHub
- URL: https://github.com/francescozoccheddu/voodo
- Owner: francescozoccheddu
- Created: 2020-11-19T21:27:46.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-10T20:05:02.000Z (11 months ago)
- Last Synced: 2024-04-17T02:26:45.199Z (9 months ago)
- Topics: property-binding, scripting-language, source-generation, ui-animation, ui-prototyping, winui, xaml
- Language: C#
- Homepage:
- Size: 17.9 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VooDo
Created by [Francesco Zoccheddu](https://github.com/francescozoccheddu)
## Requirements
Work in progress… 🤥
## Installation
Work in progress… 🤥
## Usage
Work in progress… 🤥
## Limitations & future work
- `ImplicitGlobalTypeRewriter` fails if the type depends on another unresolved type.
- `EventHookRewriter` fails if the event's expression depends on another event access.
- `PropertyScriptGenerator` crashes when counting lines of code to report diagnostics.
- `PropertyScriptGenerator` does not support aliased or generic types yet.
- `PropertyBinding` lifecycle for `FrameworkElement` properties cannot be entirely controlled.
- `PropertyBinding`'s `Setter` should use `Reflection.Emit` or `DependencyObject.SetValue`.
- Conditional access syntax is not supported yet.
- Partial tuple deconstruction is not supported yet.
- String interpolation is not supported yet.
- Switch statement is not supported yet.
- Switch expression is not supported yet.
- C#9 patterns are not supported yet.
- Generators should allow custom `IHookInitializer`.
- Should use `Problem` instead of standard exceptions.
- Syntax tagging should be improved.
- `EventHookRewriter` does not support arguments yet.
- `_existingCompilation` argument is not validated.
- Rewriters do not always use `Session`'s `CancelationToken`.
- Roslyn should not be directly exposed in `HookInitializer` and `ReferenceFinder`.
- Ensure that converting the syntax tree to a string does not change the semantics.
- Enable multithreading support by using thread local `AnimatorFactory`, `BindingManager` and caches.
- Code quality sucks.