forked from fastn-stack/ftd.dev
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathroadmap.ftd
184 lines (142 loc) · 6.16 KB
/
roadmap.ftd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
-- ft.page-with-toc: Roadmap & RFCs
toc: $config.dev-toc
sub-sections: $config.doc-header
-- ft.markdown:
Owner: Arpita, Sourabh
- [`datetime` type](/ftd/~/27/)
- match on or-type
- optional variable is not added to ftd_data in HTML
- optional integer variable cannot be passed as reference to ftd.integer
- [allow `$processor$` on component](/ftd/~/128/)
- allow `$processor$` on record (CR is almost duplicate of component one)
- [position simplification](/ftd/~/114/)
- recursion check
- `$MOUSE-IN`
- semantics: only for the node its applied on
- should also be externally available
-- ft.h1: Post First Release
- [ftd-markup](/fifthtry/ftd/~/9/)
- [json constructor](/ftd/~/122/)
- [data only functions](/fifthtry/ftd/~/80/)
- [URL Resolver](/ftd/~/118/)
- p1: [`>` based caption/header continuation](/ftd/~/104/)
- remaining [conditional attributes](/ftd/~/7/)
- text
- `if` on external children
- [`ftd.menu`](/ftd~101/menu/) (mostly not needed after position and anchor thing)
- [p1::`structured header`](/ftd/~/107/)
- issue: multiple fields with type `caption` allowed (should not be)
- [better error handling](/ftd/~/10/)
- [clean external api](/ftd/~/108/)
-- ft.h1: FTD tutorial roadmap
The idea is to create a list of tutorials to show all the possible ui/layout
that can be created throught ftd.
- How to create a responsive component in ftd?
- How to create a sticky header in ftd?
- How to create a fixed left sidebar in ftd?
- How to create a static website in 30 mins in ftd?
- Basic layouts in ftd.
-- ft.h1: others
- [container header](/ftd/~/116/)
- color, align etc types (to act as type hint or doc)
- [enum](/ftd/~/33/)
- [auto variables: `@child-index` and `@sibling-count`](/fifthtry/ftd/~/73/)
- [auto variables: `first, last, odd, even`](/fifthtry/ftd/~/102/)
- issue: [padding issue](/fifthtry/ftd/~/68/)
- [higher order variable: `integer variable`](/fifthtry/ftd/~/75/)
- [loop variable](/fifthtry/ftd/~/22/)
- [argument with default value: on record/or-type](/fifthtry/ftd/~/15/)
- [ref x -> { x }](/fifthtry/ftd/~/37/)? (no longer doing it, `#x` is better)
- implement markdown, code highlighting, katex etc using `$processor$`?
- [test improvements](/fifthtry/ftd/~/29/)
- [`ftd.grid`](/fifthtry/ftd/~/97/)
-- ft.h1: implemented but not yet documented
- [`message-host` event handler](/ftd/~/127/)
- support basic types in `from_json_row_`
- [`ui` as a type](/ftd/~/112/)
- backward incompatible: [unified component/variable syntax](/ftd/~/115/)
- viewport based length (`width: vh 40` etc)
- backwards incompatible: [`ftd.text` vs `ftd.text-block`](/ftd/~/113/)
- `$lool$: $foo as $o` instead of `.. $foo as o`
- `google-font-url`
- [everything is `$foo` (against `ftd-0.2` branch)](/ftd/~/105/)
- remove `ftd.comic`
- [`@mouse-in`: special variable](/fifthtry/ftd/~/57/)
- `#foo` global variables (remove `ref`) (and `import: f; #f.foo` not `f.#foo`)
- `ftd.boolean`'s value is not changing correctly when variable changes
- `ftd.boolean` should accept value in caption
- `async` rendering (`import` and `$processor$`)
- `line-clamp`
- enhancement: [open container with children should be closed](/fifthtry/ftd/~/69/)
- action: [set value/ref](/fifthtry/ftd/~/67/)
- [`inherit` type not working](/fifthtry/ftd/~/71/)
- [absolute positioning](/fifthtry/ftd/~/100/)
- `ftd.scene`
- `list is empty` | `list is not empty`
- sub-section level container management
- [`evt.stopPropagation()`](/fifthtry/ftd/~/91/)
- action: [increment / decrement integer](/fifthtry/ftd/~/65/)
- `ftd.integer`/`.decimal`/`.boolean` should also accept value as `caption`.
- [`/-` comments](/fifthtry/ftd/~/38/)
- implement `cursor`
- if `$on-click$` is set, use `pointer` as default cursor
- [`if` on var-overwrite/list-append](/fifthtry/ftd/~/35/)
- [intra page link](/fifthtry/ftd/~/86/)
- move-{up, down, left, right}
- example: how to create nested toc with expand collapse behaviour
- example: how to show a dialog when a button is clicked (click outside)
- example: image carousal (show a series of images, changing when next/prev are clicked)
- example: basic counter (increment / decrement)
- example: tab ui
-- ft.h1: open design issues
things on which we do not have a clarity on how things should work.
- [font handling](/fifthtry/ftd/~/6/)
-- ft.h1: bugs and minor enhancements
- [line-height does not work when text is in body](/fifthtry/ftd/~/74/)
- row with single line text and block element do not render correctly
- how to pass more than one multi-line parameters when calling a component
-- ft.h1: examples/tutorials
- show current time
- hamburger based UI and mobile/desktop optimised ui
-- ft.h1: basic syntax
- object header eg `border: { top: 20 }`
- object merge `{ top: 0, left: 0 }`
- [`$end$` header](/fifthtry/ftd/~/20/)
- [`if` -> `$if$`](/fifthtry/ftd/~/26/) (not sure)
- [`$deprecate$`](/fifthtry/ftd/~/34/)
- [`-- import: foo as _`](/fifthtry/ftd/~/44/)
-- ft.h1: event handling
- [action: cycle](/fifthtry/ftd/~/66/)
- action: input -> variable data binding
- [in-equality expression](/fifthtry/ftd/~/36/)
- `$on-escape$`
-- ft.h1: ui
- oembed
- off tree container management?
- canvas or graphics (rectangle, circle, line, arrow etc primitives)
- [contrast preserving color calculator](/ftd/~/61/)
- `line: true` (on `ftd.text` to decide if content is one word or line, eg button
text, or paragraph)
- if `line: true` and body contains multi para, show error
-- ft.h1: data modelling
- `-- <list-name>: ref x` to add `x` to `<list-name>` if type matches (and no
other header or body passed).
- `if` on list append
- [`$loop$` over `list`](/fifthtry/ftd/~/28/)
- partial record update (`$overwrite$`)
- [named-list](/fifthtry/ftd/~/40/)
- [caption only record field](/fifthtry/ftd/~/51/)
- [create string from int](/fifthtry/ftd/~/49/)
- expressions
- list: more than | less than
- [generic types](/fifthtry/ftd/~/79/)
- [if for `or-type`](/fifthtry/ftd/~/81/)
- builtin-processors: json/yml
-- ft.h1: misc
- chrome based screenshot
- native rendering
- TUI etc based rendering ftd to ansi terminal
- ftd to pdf generator (ftd 2 [rml](https://www.reportlab.com/docs/rml2pdf-userguide.pdf)?)
- realm integration
- editor (click to select item, jump to definition)
- [ftd-lambda](/fifthtry/ftd/~/25/)