Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create an editor for scalable parametric images and component themes #10

Open
Dawoodoz opened this issue Jul 21, 2020 · 3 comments
Open
Labels
Big task This can take months to complete and may generate sub tasks. Tool A separate script or application that makes a task easier
Milestone

Comments

@Dawoodoz
Copy link
Owner

Dawoodoz commented Jul 21, 2020

The media machine is a virtual machine with fixed-point precision for full determinism. Registers hold scalars and whole images. Most of the instructions are planar image operations. A user-defined function in the virtual machine can process or generate images. It's currently used to generate scalable graphics for visual components, but could also be used for scripting vector animations using a time variable.

Currently, there's only a default theme coded by hand in the virtual media machine's assembly language and a method for changing theme (window_applyTheme in guiAPI.h), but no theme API nor tool for creating new themes.

There should be ways to compile parametric scalable images into virtual assembly code and link them together to create different themes. A graph based programming tool might be the most powerful, so that normalizing multiplications can take additional parameters. Infix syntax would not be capable of utilizing cache-efficient compound-operations and automatic optimization doesn't work on saturated intermediate images because removing a saturation step would not be equivalent.

@Dawoodoz Dawoodoz added enhancement New feature or request Big task This can take months to complete and may generate sub tasks. labels Jul 21, 2020
@Dawoodoz Dawoodoz added this to the Custom themes milestone Jul 21, 2020
@Dawoodoz Dawoodoz added Tool A separate script or application that makes a task easier and removed enhancement New feature or request labels Jul 30, 2020
@Dawoodoz Dawoodoz self-assigned this Aug 15, 2022
@Dawoodoz
Copy link
Owner Author

Can probably start by creating a compiler for the media machine, so that one does not have to write in virtual machine assembler to edit the files manually.

@Dawoodoz
Copy link
Owner Author

The written language did not add enough clarity to justify the additional step, so I'm scrapping the first prototype compiler.

Maybe just focus on loading input images, selecting regions and previewing each scalable image using pre-defined or handwritten media functions. Then tools for graphical programming and animation could be used to extend it for other usecases.

@Dawoodoz Dawoodoz removed their assignment Apr 23, 2023
@Dawoodoz
Copy link
Owner Author

A setting for rescaling absoute pixel offsets would allow easily adapting interfaces for higher pixel density, and then rounded corners, edges and text must also be rescaled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Big task This can take months to complete and may generate sub tasks. Tool A separate script or application that makes a task easier
Projects
None yet
Development

No branches or pull requests

1 participant