jacobsky / egui-stylist Goto Github PK
View Code? Open in Web Editor NEWThis project attempts to allow the creation of reusable egui-themes
License: MIT License
This project attempts to allow the creation of reusable egui-themes
License: MIT License
There is currently no logging available and all errors are dropped silently. This needs to be addressed.
Currently wasm32 doesn't have support for saving due to rfd not supporting saving of files.
Instead wasm32 should allow for downloading. I need to figure out how to make this work.
So that I don't keep breaking things all the time, I need to take a close look at exactly how the API should work.
Great job !
Snap may be a good format for the Egui-Theme to allow it to be compressible.
This should be a feature flag as it may not be necessary in all applications.
In addition to the necessary feature flags, the EguiTheme
should store an extra field mentioning the version it was created with and whether or not it is compressed.
If the compression is not enabled for a compressed EguiTheme
emit an error letting the parser know that it cannot decompress it without the feature flag, otherwise if compression is enabled it can optionally decompress if it is indicated to be compressed.
See title. I don't want to do anymore crate publishing by hand. Using a CI runner will be the best way to ensure that I don't make any silly mistakes, like trying to publish the binary.
egui has changed a few things around in 0.16 and will change a few more things like font families in 0.17 . this library doesn't work with egui 0.16 or the present master (0.17 in future) branch.
any chance that this will get updated to work with those versions?
I really like the style editor btw. feels so clean when editing a style.
Currently WASM32 is not supported due to no good way to save data.
This will not be fixed before 0.1.0 as the native gui and the embeddable GUI are
This may break existing themes, but we can probably keep it optional. There should be a few optional tags that should be added to the themes. Themes should indicate which version of the theme they were created as, and it should be possible to convert older themes into newer theme formats.
I will need to do some research to determine how best to work on this.
Compiling egui-theme v0.2.0
Compiling egui-theme v0.2.0 error: failed to run custom build command for egui-theme v0.2.0 (https://github.com/jacobsky/egui-stylist/?branch=master#fd07db17)
Caused by:
process didn't exit successfully: target\debug\build\egui-theme-5d36fe45501b0c36\build-script-build
(exit code: 101)
--- stderr
thread 'main' panicked at 'cargo egui-stylist-e6bf6e53cf74bd30\fd07db1\egui-theme/../Cargo.lock should exist before the build kicks off: Io(NotFound)', C:\Users\Kyle.cargo\git\checkouts\egui-stylist-e6bf6e53cf74bd30\fd07db1\egui-theme\build.rs:12:10
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Font needs to have a way to select a font file and be passed in a file system dialog. This will need to be build independent.
While it is currently fine one thing that is bothering me is that anyone embedding egui-stylist into an application will get stuck with all the other dependences like eframe
/epi
and rfd
when building the library. Since this is essentially useless for anyone, I need to find someway to strip out those dependencies where possible.
Option 1 - Feature flags. I can create a feature called "native" or something like that which will be used to select conditionally compiled dependencies.
Option 2 - Strip the binary out of the egui-stylist crate entirely and put all that stuff into a "egui-stylist-native" crate where the dependencies are added. The dependencies would be "egui-stylist-native" depends on "egui-stylist" depends on "egui-theme" and then anyone using egui-stylist will only have egui as a dependency.
I'll give option 1 a try first since it would be the smallest code change. Option 2 will happen if I can't get it to work at all.
I need to go through and add documentation for EguiTheme
class and StylistState
EguiTheme
docs and methodsStylistState
docs and methodsThe preview is currently just using most of the widget demo.
It needs some additional widgets, windows and other demo stuff so that you can get a better handle on just how the theme configuration is working.
In addition, it would be nice if you could watch the demo change as you tweak the settings.
This is a tracker to do some additional testing and prepare to publish the 0.2.0 crate into the wild.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.