Commit Graph
72 Commits
Author SHA1 Message Date
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