-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Layout debugger proposal #52
Layout debugger proposal #52
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks awesome Huy! I'm excited to play around with it!
|
||
Once we have a functional debugger with a solid foundation, we can start exploring below ideas: | ||
|
||
- Remote debugging: Since the client app is a mDNS broadcaster, I *think* it's possible to support remote debugging as well as pair programming: "I have a layout issue" "Let me connect to your runtime and inspect it". Crazy I know! Inspired by this [Chrome extension](https://github.com/auchenberg/devtools-remote). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would be pretty damn cool.
plans/LayoutDebugger/Overview.md
Outdated
|
||
## Naming | ||
|
||
I'm planning to call this project "Texture Debugger". It'll be a suite of debugging tools tailored mainly for Textture framework. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creative :P
Eventually, we'll possibly move away from PonyDebugger and implement our own framework due to a few reasons: | ||
|
||
1. PonyDebugger is not actively maintained. That might be because it's considered a "done" project, although the amount of open issues may suggest otherwise. | ||
2. It's not easy to setup the environment, especially because of the [ponyd gateway server](https://github.com/square/PonyDebugger/tree/master/ponyd). Ponyd is essentially a middleman that sits between the client code and Chrome DevTools. It is implemented in Python and hosts its own version of DevTools. Its bootstrap script is more or less broken. It's not trivial (at least for me) to setup a working environment. Instead, my limitted research showed that we can do better by letting the client app be a mDNS broadcaster and allowing Chrome DevTools to connect to it. The workflow will be very straight-forward for developers, similar to [Stetho](https://facebook.github.io/stetho/)'s. In addition, the whole project will be simpler because we don't need to maintain ponyd. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you be willing to write up a Getting Started document as part of this until it's dead simple? So that others don't run into this difficulty?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I'll put up a document once I have a clear idea of what I did to make it work. I tried different suggestions from Google, some might be unnecessary, until I hit no error LOL
plans/LayoutDebugger/Overview.md
Outdated
|
||
## Naming | ||
|
||
I'm planning to call this project "Texture Debugger". It'll be a suite of debugging tools tailored mainly for Textture framework. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Huy, this looks awesome!!!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is incredibly cool Huy! It's great to leverage Chrome and PonyDebugger to do a lot of the heavy lifting.
You may want to look at this home-rolled solution when you have some spare time. It was never 100% completed but the basic mechanism works and I think the approach I took to getting/modifying the layout spec tree is novel even if it's a little intrusive 202c947...AHNodeTester
@Adlai-Holler Thanks. I'll read it up sooner or later! |
Thanks for all the support guys. I'm merging this 🎉 |
Author: Thanh Huy Nguyen