Layout debugger proposal#52
Conversation
garrettmoon
left a comment
There was a problem hiding this comment.
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.
This would be pretty damn cool.
|
|
||
| ## Naming | ||
|
|
||
| I'm planning to call this project "Texture Debugger". It'll be a suite of debugging tools tailored mainly for Textture framework. |
| 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.
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.
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
|
|
||
| ## 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.
Huy, this looks awesome!!!!
Adlai-Holler
left a comment
There was a problem hiding this comment.
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