<commit_before># jsfx

An image effects library, heavily inspired by https://github.com/evanw/glfx.js. I needed something that could fallback to a canvas, and additionally, I needed the same effects to render server side.

Demo: https://jsfx.inssein.com

# todo

* Need to move jsfx.Filter and jsfx.FilterInterface into the jsfx.filter namespace, but the compilation doesn't work as the single output file is not ordered (BrightnessContrast gets defined before the interface or base class)
* Get feedback on usage of Typescript (the way files are separated, lack of Uint8TypedArray in UnsharpMask, etc).
* Figure out how to have certain static variables per WebGL Rendering context. I am currently casting to any, and assigning a variable. (vertexBuffer and texCoordBuffer in Shader, and frameBuffer in Texture)
* Add more filters
* Think of a way to apply all the canvas filters in one loop of ImageData, instead of looping n times (n = number of filters). If this works, we should break up the BrightnessContrast and HueSaturation filters into separate filters.
* A lot of the filter files have the comments and the webgl shaders copied from glfx.js. I should probably attribute the single files as well as mentioning it in the credits.
* Add tests
* Test server side rendering with node-canvas, and add documentation
* Add minified build


# credits
* https://github.com/evanw/glfx.js

# license

MIT<commit_msg>update readme with shader cache todo<commit_after># jsfx

An image effects library, heavily inspired by https://github.com/evanw/glfx.js. I needed something that could fallback to a canvas, and additionally, I needed the same effects to render server side.

Demo: https://jsfx.inssein.com

# todo

* Need to move jsfx.Filter and jsfx.FilterInterface into the jsfx.filter namespace, but the compilation doesn't work as the single output file is not ordered (BrightnessContrast gets defined before the interface or base class)
* Get feedback on usage of Typescript (the way files are separated, lack of Uint8TypedArray in UnsharpMask, etc).
* Figure out how to have certain static variables per WebGL Rendering context. I am currently casting to any, and assigning a variable. (vertexBuffer and texCoordBuffer in Shader, frameBuffer in Texture, and shaderCache in Renderer)
* Add more filters
* Think of a way to apply all the canvas filters in one loop of ImageData, instead of looping n times (n = number of filters). If this works, we should break up the BrightnessContrast and HueSaturation filters into separate filters.
* A lot of the filter files have the comments and the webgl shaders copied from glfx.js. I should probably attribute the single files as well as mentioning it in the credits.
* Add tests
* Test server side rendering with node-canvas, and add documentation
* Add minified build


# credits
* https://github.com/evanw/glfx.js

# license

MIT
{'fraction_non_alphanumeric': 0.050382209867963865, 'fraction_numerical': 0.0006949270326615705, 'mean_word_length': 4.547206165703275, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5762912', 'n_tokens_mistral': 761, 'n_tokens_neox': 738, 'n_words': 415}