This repository has been archived by the owner on Jul 19, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 46
Add a diagram of the component lifecycle #22
Comments
I would be happy to help with this. How do you think we should generate graphs? Something that's worked for me in the past is having graphviz .dot files (e.g.) and makefiles or other build task that render those--makes them easy to edit/diff with no special software. Thoughts? |
@connor4312 thanks for your interest in helping out! Yeah, that's basically what I had in mind 👍 |
@connor4312 Do you plan on implementing this? I'd be happy to do it otherwise! |
@jstarry All in oneGeneral lifecycleChange and Update lifecycleThe nomnoml code I've used for these diag
|
For the final thing an SVG (rather than a PNG which is what I think we have here) would offer better resolution.
I think that the diagrams are too complex for my liking.
I think that the node titled “…” should be renamed something like “event loop” or “main loop.”
“Change cycle” and “update cycle” should be altered slightly because they’re not “cycles” as such.
… On 10 May 2020, at 19:03, Richard Lasjunies ***@***.***> wrote:
@jstarry <https://github.com/jstarry>
Here are 2 proposals using the same tool as the one of the Agent lifecycle.
Let us know what is your feeling.
@teymour-aldridge <https://github.com/teymour-aldridge> fyi
All in one
<https://user-images.githubusercontent.com/1439791/81506685-7d4d8b00-92f8-11ea-9b87-df24c0d3d2b1.png>
General lifecycle
<https://user-images.githubusercontent.com/1439791/81506719-aff78380-92f8-11ea-8a0f-d8014b414315.png>
Change and Update lifecycle
<https://user-images.githubusercontent.com/1439791/81506734-c4d41700-92f8-11ea-920d-4bcd6126546a.png>
The nomnoml code I've used for these diag
rendering done with a vscode plugin to render it in markdown
[Create]->[View]
[View]->[Rendered]
[Rendered]->[...]
[...]->[Update cycle]
[...]->[Change cycle]
[...]->[Destroy]
[Update cycle]->[...]
[Change cycle]->[...]
[Update cycle|update is called bla bla bla|
[Update]->[<choice>Should render?]
[<choice>Should render?]->false[<end>e]
[<choice>Should render?]->true[view]
]
[Change cycle|change is called bla bla bla|
[Change]->[<choice>Should render?]
[<choice>Should render?]->false[<end>e]
[<choice>Should render?]->true[view]
]
[Create]->[View]
[View]->[Rendered]
[Rendered]->[...]
[...]->[Update cycle]
[...]->[Change cycle]
[Update cycle|update is called bla bla bla|
[Update]->[<choice>Should render?]
[<choice>Should render?]->false[<end>e]
[<choice>Should render?]->true[view]
]
[Change cycle|change is called bla bla bla|
[Change]->[<choice>Should render?]
[<choice>Should render?]->false[<end>e]
[<choice>Should render?]->true[view]
]
[...]->[Destroy]
[Update cycle]->[...]
[Change cycle]->[...]
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#22 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AKFSTPMGBEHELHRIBUTWGODRQ3T7FANCNFSM4KR6K5BQ>.
|
I shared the nomnoml code to accelarate the collaboration. Do not hesitate to update the proposals. |
4 tasks
1 task
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Something like:
Render Cycle
Note: should explain how children components are rendered... (Parent view -> Child view -> Child mount -> Parent mount)
Update Cycle
Change Cycle
DOC TODO: https://yew.rs/docs/concepts/components#lifecycle
The text was updated successfully, but these errors were encountered: