Commit Graph
67 Commits
Author SHA1 Message Date
Jonathan Kelley ded9696930 wip: fix ssr 2021-12-14 22:48:20 -05:00
Jonathan Kelley 2fd56e7619 wip: remove portals completely 2021-12-14 21:46:19 -05:00
Jonathan Kelley 8daf7a6ed8 wip: go back to noisy lifetime solution 2021-12-14 02:27:59 -05:00
Jonathan Kelley 96b3d56e09 feat: move back to combined cx/props 2021-12-13 00:06:17 -05:00
Jonathan Kelley 36d89beb34 wip: rename 2021-11-28 16:25:42 -05:00
Jonathan Kelley 55e6dd9701 feat: wire tasks up 2021-11-12 01:36:33 -05:00
Jonathan Kelley a21020ea57 wip: bubbling in progress 2021-11-11 21:34:20 -05:00
Jonathan Kelley 574d7fdb9e wip: remove scopechildren in favor of elements directly 2021-11-09 14:36:26 -05:00
Jonathan Kelley f2e343c154 chore: cleanup src 2021-11-09 02:16:25 -05:00
Jonathan Kelley fffc7ea061 wip: working on re-enabling components 2021-11-07 22:45:41 -05:00
Jonathan Kelley 2559740463 wip: clean up, use old approach to components 2021-11-07 20:59:09 -05:00
Jonathan Kelley d96276a715 wip: no more lifetimes 2021-11-06 21:07:01 -04:00
Jonathan Kelley 70b983d090 wip: consolidation, simplification 2021-11-05 16:28:08 -04:00
Jonathan Kelley 1e6e5e611b wip: move examples around 2021-11-03 15:13:50 -04:00
Jonathan Kelley d298b626d3 wip: add router 2021-11-03 00:35:56 -04:00
Jonathan Kelley 9c1343610b wip: clean up using new children syntax 2021-11-01 03:29:50 -04:00
Jonathan Kelley 7b97e009ec wip: remove cx.children. start to move towards a "children" field 2021-11-01 02:22:08 -04:00
Jonathan Kelley 27d891934a fix: use annotation method from rust/58052 to fix closure lifetimes 2021-10-30 18:23:28 -04:00
Jonathan Kelley 9ee2bfb010 wip: worked backwards a bit and got it slightly figured out 2021-10-30 17:11:15 -04:00
Jonathan Kelley ba9e1dbb8f fix: messed up how lifetimes worked, need to render once per component 2021-10-29 21:43:21 -04:00
Jonathan Kelley 0e9d5fc530 wip: move everything over to a stack dst 2021-10-29 17:12:30 -04:00
Alexandre Kirszenberg 5747e00b27 Various typos/grammar/rewording 2021-10-24 19:30:36 +02:00
Jonathan Kelley f49244344c polish: listen to clippy 2021-10-17 20:18:30 -04:00
Jonathan Kelley 9726a065b0 feat: massage lifetimes 2021-10-16 17:37:28 -04:00
Jonathan Kelley b32e2611e3 polish: clean up warnings 2021-09-21 18:13:09 -04:00
Jonathan Kelley bfdcb20437 feat: transition to cx, props 2021-09-21 13:13:15 -04:00
Jonathan Kelley da8159190b polish: tests and documentation 2021-09-09 20:58:48 -04:00
Jonathan Kelley fac42339c2 feat: mutations 2021-08-08 15:15:16 -04:00
Jonathan Kelley f644d7c441 wip: move things into a "shared" object 2021-07-23 10:27:43 -04:00
Jonathan Kelley 4a72b3140b feat: amazingly awesome error handling 2021-07-18 12:39:32 -04:00
Jonathan Kelley c79d9ae674 feat: buff up html allowed attributes 2021-07-12 23:44:20 -04:00
Jonathan Kelley fb0c6d2ea4 chore: remove unnecessary import 2021-07-12 11:03:35 -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 8cfc437bfe wip: some project refactor 2021-07-09 11:54:07 -04:00
Jonathan Kelley 58ab51a4e4 wip: more refactor 2021-07-09 01:42:26 -04:00
Jonathan Kelley a38a81e129 wip: fix issues with lifetimes
this commit fixes some lifetime issues regarding having to "move" data into the IntoVNode closure.
2021-07-07 13:51:55 -04:00
Jonathan Kelley 81382e7044 chore: rename ctx to cx 2021-06-25 21:15:33 -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 62ae5d3bb9 wip: rethinking stack machine 2021-06-19 20:31:25 -04:00
Jonathan Kelley 36ea39ae30 Feat: rename recoil to atoms 2021-06-16 11:19:37 -04:00
Jonathan Kelley fe6938ceb3 wip: pre vnodes instead of vnode 2021-06-08 14:00:29 -04:00
Jonathan Kelley e3d9db0847 wip: successfully building 2021-06-07 14:14:49 -04:00
Jonathan Kelley 7790750349 wip: merge in some code from the other branch 2021-06-05 23:47:54 -04:00
Jonathan Kelley 50c8b93aad Feat: move the rsx macro around 2021-06-03 10:42:28 -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 ee67654f58 wip: recoil 2021-05-26 01:40:30 -04:00
Jonathan Kelley c28697e1fe Feat: some code health 2021-05-16 02:06:02 -04: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