Jonathan Kelley
73047fe956
feat: props memoization is more powerful
...
This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management.
Props that have a generic parameter are opted-out of the `partialeq` requirement and props *without* lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.
2021-06-22 17:20:54 -04:00
Jonathan Kelley
79127ea6cd
wip: moving to IDs
2021-06-20 02:16:42 -04:00
Jonathan Kelley
70cd46dbb2
docs: move around examples
2021-06-17 18:00:32 -04:00
Jonathan Kelley
b9ff95fa12
wip: start moving events to rc<event>
2021-06-16 23:37:55 -04:00
Jonathan Kelley
36ea39ae30
Feat: rename recoil to atoms
2021-06-16 11:19:37 -04:00
Jonathan Kelley
47e896038e
wip: more work on updating syntad
2021-06-15 10:02:46 -04:00
Jonathan Kelley
517d7f1495
Chore: some cleanup and documentation
2021-06-10 01:01:53 -04:00
Jonathan Kelley
fe6938ceb3
wip: pre vnodes instead of vnode
2021-06-08 14:00:29 -04:00
Jonathan Kelley
508c560320
Feat: massive changes to definition of components
...
This change switches back to the original `ctx<props>` syntax for
commponents. This lets lifetime elision to remove the need to match
exactly which lifetime (props or ctx) gets carried to the output. As
such, `Props` is currently required to be static. It *is* possible to
loosen this restriction, and will be done in the future, though only
through adding metadata about the props through the Props derive
macro. Implementing the IS_STATIC trait is unsafe, so the derive macro
will do it through some heuristics.
For now, this unlocks sharing vnodes from parents to children, enabling
pass-thru components, fragments, portals, etc.
2021-06-01 18:33:15 -04:00
Jonathan Kelley
c1fd848f89
WIP: move to static props
2021-05-31 18:55:56 -04:00
Jonathan Kelley
fe67ff9fa4
wip: doesnt share on thread
2021-05-27 17:57:59 -04:00
Jonathan Kelley
ba975410f9
wip: parity document
2021-05-26 11:22:44 -04:00
Jonathan Kelley
ee67654f58
wip: recoil
2021-05-26 01:40:30 -04:00
Jonathan Kelley
3cfa1fe125
Feat: buff the readme and docs
2021-05-19 20:57:19 -04:00
Jonathan Kelley
b843dbd367
WIP: Todomvc in progress
2021-05-19 10:14:02 -04:00
Jonathan Kelley
0d44f009b0
Feat: introduce children for walking down the tree
2021-05-18 10:36:17 -04:00
Jonathan Kelley
a99147c85b
Feat: Clean up repo a bit
2021-05-16 02:55:16 -04:00
Jonathan Kelley
c28697e1fe
Feat: some code health
2021-05-16 02:06:02 -04:00
Jonathan Kelley
9810feebf5
Feat: major overhaul to diffing
2021-05-15 12:03:08 -04:00
Jonathan Kelley
c809095124
Wip
2021-04-09 12:04:04 -04:00
Jonathan Kelley
2eeb8f2386
wip: refactor a bit
2021-04-04 21:47:53 -04:00
Jonathan Kelley
8c541f66d5
wip: todos
2021-04-01 21:44:18 -04:00
Jonathan Kelley
cfa0927cdd
feat: todomvc
2021-04-01 00:01:42 -04:00
Jonathan Kelley
ce33031519
wip: todomvc
2021-03-29 12:31:47 -04:00
Jonathan Kelley
0bcff1f88e
Feat: more ergonomics, more examples
2021-03-26 15:50:28 -04:00
Jonathan Kelley
9f7f43b661
Feat: building large apps, revamp macro
2021-03-22 23:52:54 -04:00
Jonathan Kelley
9b560dfedb
wip: more liveview and webview custom client
2021-03-16 14:28:54 -04:00
Jonathan Kelley
7856f2b153
wip: livehost bones
2021-03-16 11:03:59 -04:00
Jonathan Kelley
5b7887d76c
Fix: some stuff related to event listeners. POC for lifecyel
2021-03-15 02:16:03 -04:00
Jonathan Kelley
4e48e0514e
wip: diffing approach slightly broken
2021-03-14 20:33:37 -04:00
Jonathan Kelley
9d0727edab
Feat: remove old macro
2021-03-13 19:11:06 -05:00
Jonathan Kelley
e66827ec92
wip: add deeply neste example
2021-03-13 10:02:57 -05:00
Jonathan Kelley
39bd1856f4
Feat: update examples
2021-03-12 17:21:06 -05:00
Jonathan Kelley
305ff919ef
Feat: ensure mutabality is okay when not double-using the components
2021-03-12 16:58:30 -05:00
Jonathan Kelley
d4f1ceaffb
feat: somewhat working with rc and weak
2021-03-12 14:27:32 -05:00
Jonathan Kelley
ec801eab16
wip: foregin eq from comparapable comp type.
...
This commit adds the framework for "comparable components". This allows
complete sealing of bump-allocated properties types, and a comparison method
that performs a "safe" cast without transmute. This lets us completely erase types
but still be able to perform partialeq over render frames
2021-03-12 13:03:37 -05:00
Jonathan Kelley
5ad81885e4
wip: staticify?
2021-03-11 12:27:01 -05:00
Jonathan Kelley
92d9521a73
WIP: remove FC
2021-03-07 21:28:20 -05:00
Jonathan Kelley
8dc26195e2
Feat: it's awersome
2021-03-04 19:20:55 -05:00
Jonathan Kelley
d9598066c2
Feat: yeet, synthetic somewhat wired up
2021-03-04 18:40:05 -05:00
Jonathan Kelley
5a9155b059
Feat: more cleanup
2021-03-04 12:03:22 -05:00
Jonathan Kelley
cf16090838
Feat: add context to builder
2021-03-03 23:06:11 -05:00
Jonathan Kelley
fcd68e61d2
Feat: listeners now have scope information
2021-03-03 11:13:46 -05:00
Jonathan Kelley
cb74d70f83
wip: broken, but solved
2021-03-03 02:27:26 -05:00
Jonathan Kelley
f225030506
Feat: accept closures directly in handler
2021-03-02 01:24:53 -05:00
Jonathan Kelley
07f671c8e1
Fix: bug that phantom triggered events
2021-03-02 00:21:11 -05:00
Jonathan Kelley
4b8e9f4a12
Feat: wowza got it all working
2021-03-02 00:14:28 -05:00
Jonathan Kelley
ffaf687896
Feat: update readme and examples
2021-03-01 00:16:48 -05:00
Jonathan Kelley
c8bb392cad
Feat: view -> render
2021-02-28 21:21:17 -05:00
Jonathan Kelley
6fabd8ccc8
bump core version
2021-02-28 17:38:48 -05:00
Jonathan Kelley
ab655eac97
Feat: update and prep for dioxusweb
2021-02-28 17:22:23 -05:00
Jonathan Kelley
3b30fa61b8
Feat: a few bugs, but the event system works!
2021-02-28 03:08:08 -05:00
Jonathan Kelley
e840f472fa
WIP: moving to CbIdx as serializable event system
2021-02-27 11:43:28 -05:00
Jonathan Kelley
e4b1f6ea0d
Feat: custom format_args for inlining variables into html templates
2021-02-26 20:42:55 -05:00
Jonathan Kelley
a8b1225c48
Feat: begin WIP on html macro
2021-02-26 12:58:03 -05:00
Jonathan Kelley
32b45e5ba1
Feat: move webview logic into library
2021-02-25 18:44:00 -05:00
Jonathan Kelley
18a7a1f9c4
Chore: comments
2021-02-24 10:12:26 -05:00
Jonathan Kelley
8d3e2ade7a
Feat: buff up examples and docs
2021-02-24 04:03:52 -05:00
Jonathan Kelley
06ae4fc178
Feat: wire up rebuild
2021-02-24 03:51:26 -05:00
Jonathan Kelley
4d01455729
Feat: update websys with lifecycle
2021-02-24 02:22:05 -05:00
Jonathan Kelley
5204862bc2
Feat: fix internal lifecycle
2021-02-24 01:31:19 -05:00
Jonathan Kelley
edf09c1892
Feat: add css example
2021-02-23 15:08:23 -05:00
Jonathan Kelley
7a6aabe4f3
Feat: WIP ctx
2021-02-20 21:59:16 -05:00
Jonathan Kelley
b3e6886351
Feat: desktop app wired up
2021-02-18 20:04:25 -05:00
Jonathan Kelley
e3ede7fcbf
Feat: re-enable stack machine approach
2021-02-17 10:53:55 -05:00
Jonathan Kelley
f22ff83190
Feat: WIP on deserialize
2021-02-15 14:14:28 -05:00
Jonathan Kelley
8439994859
Feat: web example + cli writes to browser screen!
2021-02-15 00:17:40 -05:00
Jonathan Kelley
c4e8d8bb31
Feat: wire up a very basic dom updater
2021-02-14 23:39:46 -05:00
Jonathan Kelley
4dfdf91236
Feat: major overhaul to diffing, using a "diffing machine" now
2021-02-14 18:03:16 -05:00
Jonathan Kelley
4c291a0efd
Feat: remove generic paramter on VDOM
...
This makes storage of VDoms easier, and removes static dispatch on any function that relies on VDOMs.
2021-02-13 03:19:35 -05:00
Jonathan Kelley
d063a19939
Feat: wire up some of the changelist for diff
2021-02-13 02:49:10 -05:00
Jonathan Kelley
ea2aa4b0c9
Feat: event loop
2021-02-12 16:11:33 -05:00
Jonathan Kelley
9c01736895
WIP: Dioxus-webview
2021-01-21 03:22:08 -05:00
Jonathan Kelley
9c616ea5c0
Feat: more docs, dissolve vnode crate into dioxus-core
2021-01-16 01:30:48 -05:00
Jonathan Kelley
ce34d0dfcd
Feat: WIP
2021-01-14 20:56:28 -05:00