Skip to content

Commit

Permalink
update todos
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcoder04 committed Oct 6, 2022
1 parent 86540f8 commit 7009742
Showing 1 changed file with 30 additions and 24 deletions.
54 changes: 30 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,66 @@

# Sol

GUI application framework for the TI-nspire.
GUI application framework for the TI-nspire. This repository is the "home" of the project
and contains all the Lua library code.

[Here](https://alexcoder04.github.io/sol-docs/) you can find the docs.

[Here](https://github.com/alexcoder04/sol-helloworld) you can find an example application.

[These](https://github.com/alexcoder04/sol-tools) are the tools needed for developing applications with Sol.

[Here](https://alexcoder04.github.io/sol-docs/) you can find the docs.

## Why
## Why?

Building GUI applications for TI-nspire using the stock Lua library from TI
is a pain, this is an attempt to make it easier and more comfortable.

## Your project structure

Your code has to be organized, no "throwing everything into one Lua file" anymore!
All the parts are then assembled and built into one `.tns` file by Sol.
All the parts are then assembled and built into one `.tns` file by [sol-tools](https://github.com/alexcoder04/sol-tools).

- `res` contains any non-code resources, e. g. images and data.
- `res/data/menu.yml` is a native nspireOS-menu, written in YAML
- `components` are re-usable blocks of your GUI which can inherit from base components, written in a custom YAML-based language
- `components` are re-usable blocks of your GUI which can inherit from base components, written in YAML
- `init.lua` runs at start
- `app.lua` is just metadata
- `layout.lua` defines which components are included and in which order
- `app.lua` is your main file where you define what is your application about

```text
|
|-res
| |-img
| | |-...
| |-data
| | |-menu.yml
| | |-...
|-components
| |-header.yml
| |-text.yml
| |-...
|-init.lua
|-app.lua
|-layout.lua
|--res
| |--img
| | |--...
| |--data
| | |--menu.yml
| | |--...
|--components
| |--header.yml
| |--text.yml
| |--...
|--init.lua
|--app.lua
```

## Roadmap / TODOs

- [ ] more base components (input field, list, sublayouts, tabs)
- [ ] more base components
- [ ] input field
- [ ] list
- [ ] sublayouts
- [ ] tabs
- [ ] console
- [ ] game canvas using physics api
- [ ] 2D-editor using nspire's built-in editor
- [x] colorful components
- [x] click events
- [ ] component focus (tabbing, highlighting selected)
- [x] menu api
- [x] paint hook, use raw `gc` functions
- [x] persistent data storage
- [ ] game canvas component using nspire physics api
- [ ] message box components imitating nspireOS's UI
- [ ] 2D-editor component using nspire's built-in editor
- [ ] redraw on timer only if one of update functions returns true
- [ ] rename `Library` to `Lib`

## Naming

Expand Down

0 comments on commit 7009742

Please sign in to comment.