Felix Queißner
Felix Queißner
Think about this: ```js function SumOf(a: number, b: number): number { return a + b; } ``` This depends on #22, as otherwise the type annotation would not make sense.
Allow the compiler to precalculate constant expressions to reduce runtime overhead. Example: ```js var foo = 10 * 3 + 2; ``` can be optimized to ```js var foo =...
Use something like [SSA](https://en.wikipedia.org/wiki/Static_single_assignment_form) to detect that local variable slots can be reused, so the virtual machine can do smaller allocations for local variables.
[Common subexpression elimination](https://en.wikipedia.org/wiki/Common_subexpression_elimination) would be a nice optimization that can even be implemented on AST level.
Currently the virtual machine will deep-copy arrays every time the virtual machine copies an array value. This can be improved by implementing a copy-on-write semantics for the arrays.
Create color structs for: - [CIEL\*a\*b\*](https://en.wikipedia.org/wiki/CIELAB_color_space) - [CMYK](https://en.wikipedia.org/wiki/CMYK_color_model) - [sRGB](https://en.wikipedia.org/wiki/SRGB) - [XYZ](https://en.wikipedia.org/wiki/CIE_1931_color_space) Add functions to convert inbetween those formats
See: https://en.wikipedia.org/wiki/ICC_profile Related: #34
Right now, VersaTile modifies the source texture on import. This may be unwanted behaviour if the user wants to rely on the original texture' setup. Change it so the user...
When placing tiles in grid-aligned mode, add an option to do the following: 1. Position a tile with the cursor 2. Press left mouse button 3. Drag to another position...