Jonathan Kelley
fd93ee89c1
feat: upgrade syntax
2021-11-10 17:09:52 -05:00
Jonathan Kelley
9726a065b0
feat: massage lifetimes
2021-10-16 17:37:28 -04:00
Jonathan Kelley
478255f40d
fix: all the bugs!
2021-10-11 18:40:00 -04:00
Jonathan Kelley
7a03c1d2b4
wip: overhaul event system
2021-10-04 01:28:04 -04:00
Jonathan Kelley
823adc0834
polish: clean up the web module
2021-09-24 20:11:30 -04:00
Jonathan Kelley
1a2f91ed91
polish: examples
2021-09-24 00:05:56 -04:00
Jonathan Kelley
4b6ca05f2c
wip: performance looks good, needs more testing
2021-09-22 04:11:27 -04:00
Jonathan Kelley
d7940aa2ac
feat: proper handling of events
2021-09-22 02:44:01 -04:00
Jonathan Kelley
f15e1fa892
wip: broken diff
2021-09-22 01:29:14 -04:00
Jonathan Kelley
098d3821ed
wip: changes to scheduler
2021-09-22 01:25:28 -04:00
Jonathan Kelley
9971ff215d
polish: change in cx to cx
2021-09-16 13:20:04 -04:00
Jonathan Kelley
8b3ac0b57c
perf: remove global allocation for props
2021-09-13 00:59:08 -04:00
Jonathan Kelley
8b0eb87c72
wip: refactor
2021-08-26 22:05:09 -04:00
Jonathan Kelley
3bf19d8106
wip: more work on web
...
this commit adds complete event support for web-sys but with a few hole
2021-08-25 10:49:18 -04:00
Jonathan Kelley
8b0d04ce58
wip: ric_raf wired up
2021-08-24 16:29:10 -04:00
Jonathan Kelley
f457b71131
feat: rebuild doesn't return errors
2021-08-24 15:12:20 -04:00
Jonathan Kelley
cdcd8611e8
wip: it works but the page is backwards
2021-08-24 12:43:46 -04:00
Jonathan Kelley
f41cff571f
wip: working on async diff
2021-08-17 22:25:09 -04:00
Jonathan Kelley
c1afeba1ef
wip: groundwork for noderefs
2021-08-09 17:09:33 -04:00
Jonathan Kelley
1a323835c8
wip: on collaborative scheduling
2021-08-09 02:37:11 -04:00
Jonathan Kelley
fac42339c2
feat: mutations
2021-08-08 15:15:16 -04:00
Jonathan Kelley
f2334c17be
wip: bottom up dropping
2021-08-05 22:23:41 -04:00
Jonathan Kelley
cfa0247cbb
wip: websys dom working properly
2021-07-30 17:04:04 -04:00
Jonathan Kelley
49856ccd68
wip: making progress on diffing and hydration
2021-07-28 21:46:53 -04:00
Jonathan Kelley
dfaf5adee1
Feat: solve some issues regarding listeners
2021-07-24 00:29:23 -04:00
Jonathan Kelley
05c909f320
wip: some ideas
2021-07-18 03:54:42 -04:00
Jonathan Kelley
de9f61bcf4
feat: more suspended nodes!
2021-07-14 23:18:02 -04:00
Jonathan Kelley
c52af221f7
wip: basic support for scheduled rendering
2021-07-14 18:19:51 -04:00
Jonathan Kelley
e7238762ae
feat: architecture document and edit list
2021-07-14 17:04:58 -04:00
Jonathan Kelley
3a57b94262
feat: task system works
...
but I broke the other things :(
2021-07-14 02:04:19 -04:00
Jonathan Kelley
56e7eb83a9
wip: more examples
2021-07-11 19:31:07 -04:00
Jonathan Kelley
9abb0470b7
feat: static node infrastructure and ssr changes
2021-07-11 14:49:52 -04:00
Jonathan Kelley
e8f29a8f8a
wip: enable more diffing
2021-07-05 01:11:49 -04:00
Jonathan Kelley
81382e7044
chore: rename ctx to cx
2021-06-25 21:15:33 -04:00
Jonathan Kelley
9d7ee79826
feat: events work again!
2021-06-23 01:44:48 -04:00
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
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
fe67ff9fa4
wip: doesnt share on thread
2021-05-27 17:57:59 -04:00
Jonathan Kelley
b843dbd367
WIP: Todomvc in progress
2021-05-19 10:14:02 -04:00
Jonathan Kelley
9810feebf5
Feat: major overhaul to diffing
2021-05-15 12:03:08 -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
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
305ff919ef
Feat: ensure mutabality is okay when not double-using the components
2021-03-12 16:58:30 -05:00
Jonathan Kelley
5ad81885e4
wip: staticify?
2021-03-11 12:27:01 -05:00
Jonathan Kelley
5a9155b059
Feat: more cleanup
2021-03-04 12:03:22 -05:00
Jonathan Kelley
c8bb392cad
Feat: view -> render
2021-02-28 21:21:17 -05:00