Skip to content

Commit

Permalink
Updated milestones
Browse files Browse the repository at this point in the history
  • Loading branch information
karurochari committed Dec 21, 2024
1 parent 179ae20 commit ad419af
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 40 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
graphviz \
python3-pip \
python3-setuptools
python3 -m pip install mkdocs mkdocs-github-admonitions-plugin mkdocs-get-deps pymdown-extensions
python3 -m pip install mkdocs mkdocs-github-admonitions-plugin mkdocs-get-deps pymdown-extensions mdx_truly_sane_lists
doxygen
mkdocs build
bun install -g gh-pages
Expand Down
16 changes: 11 additions & 5 deletions MILESTONES.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,25 @@ For past releases please check in [here](./docs/releases/).
## 0.1.3

- [x] Move all components to the revised codegen format
- [ ] Initial settings implementation
- [ ] New getters and setters design (and updated schemas).
- [ ] Implement flex, grid, scroll & pack via codegen.
- [ ] Tidy up the XML caching
- [ ] Tidy up the JS scripting interface.
- [ ] deb package
- [x] flatpak distribution
- [x] docs generation

## 0.1.5

- [x] Support for script modules
- [ ] Full support for getters and setters
- [ ] Tidy up the JS scripting interface.
- [ ] Complete support for getters and setters
- [x] Support basic policies via env flags & settings
- [ ] Implement flex, grid, scroll & pack via codegen.

## 0.1.7

- [x] Final implementation of the static xml builder (now external dependency)
- [ ] Full infrastructure for benchmarking & tests implemented
- [x] Support basic policies via env flags
- [ ] deb package

## 0.2.x

Expand Down
25 changes: 18 additions & 7 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,37 @@ This second alpha release is still not usable in real-world scenarios, yet some

The main objectives for this release are:

- To improve the build system moving it to a separate repo.
- To introduce a wider range of fltk widgets.
- To improve the build system, moving it to a separate repo.
- Complete the revised code-generation of widgets
- Better serialization/de-serialization of XML props & revised getters/setters
- To introduce a wider range of fltk widgets.
- Documentation efforts.

### What's new?

This is what has been implemented so far (and some missing feature for context):

- [ ] Improvements to the build system

- [ ] migration of distribution-related features to [external repo]()
- [ ] fix linking to follow https://github.com/KaruroChori/vs-fltk/issues/63
- [ ] debian and arch packages are now supported
- [ ] install script can be now be safely used

- [ ] New widgets & improvements

- [ ] flex
- [ ] grid
- [ ] Updated code-gen

- [x] Use the new schema
- [ ] Updated core features
- [x] Removed most of the globals
- [x] Removed most of the globals & reworked singletons
- [x] Reworked `ui_tree` interface to be more generic and not only viable for xml trees.
- [x] Added guards to decide which features to compile `vs.fltk` with.
- [ ] Support for automatic search of files for components, based on a priority list.
- [ ] Linking external libraries and exposing symbols to `vs`
- [ ] Documentation!
- [x] Landing page for the project
- [x] `doxygen` for C++ code
- [x] `mkdocs` to distribute the main documentation
- [ ] Documenting:
- [ ] settings
- [ ] paths/virtual paths
- [ ] some basic information to use vs
4 changes: 1 addition & 3 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
- [ ] Restore vs_debug
- [ ] Allow http only withou libcurl via https://github.com/lazy-eggplant/libhttp

- [ ] Allow http only without libcurl via https://github.com/lazy-eggplant/libhttp
58 changes: 34 additions & 24 deletions docs/full-specs/settings.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@


## Order of evaluation for policies

Directives on policies are applied base on the following priority (highest to lowest)

- built-in compiled profile (vs can be built with embedded policies)
Expand All @@ -10,37 +9,48 @@ Directives on policies are applied base on the following priority (highest to lo
- Any locally defined policy within the app or components.

## Structure of a settings profile

This is the tree structure of any settings XML file:

- `vs-profile`
- `locale`
- `user`: dictionary of user data, mostly used for forms auto fill-in.
- `languages`: dictionary of supported languages. They are ordered by preference (lower number higher preference) and when ambiguous by order in the XML file.
- `theme`: base user theme. It supports some attributes:
- `src` the location of a theme xml file to be used as parent.
- `scheme` pick up a color scheme if internally defined (default allowed).
- `mode` determines if using dark, light, high contrast etc. or if this choice should be left to the OS if `inherit` (default).
- `initial-scene`: path for the scene to show up when starting `vs`
- `runtime`
- `logging`
- `parsing`
- `base-policy` same structure as one entry in the policies, but this is applied as a global override to fully shut of features of `vs`.
- `policies`
- `template` reusable entries, used to avoid copy and paste. Their content is expanded in `domain` and `app` extending from them.
- `name` unique name in the config file
- `extends` comma separated list of sources to copy from.
- `domain`
- `extends` comma separated list of sources to copy from.
- `app`
- `extends` comma separated list of sources to copy from.
- `locale`
- `user`: dictionary of user data, mostly used for forms auto fill-in.
- `languages`: dictionary of supported languages. They are ordered by preference (lower number higher preference) and when ambiguous by order in the XML file.
- `theme`: base user theme. It supports some attributes:
- `src` the location of a theme xml file to be used as parent.
- `scheme` pick up a color scheme if internally defined (default allowed).
- `mode` determines if using dark, light, high contrast etc. or if this choice should be left to the OS if `inherit` (default).
- `initial-scene`: path for the scene to show up when starting `vs`
- `runtime`
- `logging`
- `parsing`
- `base-policy` same structure as one entry in the policies, but this is applied as a global override to fully shut of features of `vs`.
- `policies`
- `template` reusable entries, used to avoid copy and paste. Their content is expanded in `domain` and `app` extending from them.
- `name` unique name in the config file
- `extends` comma separated list of sources to copy from.
- `domain`
- `extends` comma separated list of sources to copy from.
- `app`
- `extends` comma separated list of sources to copy from.

### User dictionary

Entries in the user dictionary are arbitrary and publicly exposed as `user://` virtual paths. Apps cannot mutate them, this is only possible via settings.
They are not a replacement for secrets!
They are not a replacement for secrets!

User data should only include things like user's nickname, public email, daytime zone, etc.

### Language codes

Language codes are expressed as a pair `language`, `country`. Country is optional, which means any satisfying the language itself can be picked.

### Policy structure
### Policy structure

#### Flag entries

Most entries are flags supporting one of three values:

- `yes`: use the upstream value from the parent, but if that is `no` report a warning/error.
- `no`: revoke this permission.
- `inherit` (default): use the upstream value from the parent.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ markdown_extensions:
- admonition
- pymdownx.tilde
- pymdownx.tasklist
- mdx_truly_sane_lists
- sane_lists
- smarty
- toc:
Expand Down

0 comments on commit ad419af

Please sign in to comment.