New Inspector is a standalone executable that communicates with the inspectable Sciter window (view) over TCP/IP using DataSockets.
There are few reasons behind such architecture:
Mac OSX and GTK (or QT) do not really support multiple GUI threads in the same GUI process. Inspector UI must be run independently
from the inspectable.
There is a need to support remote debugging mode. Especially when Sciter runs in kiosk mode spanning whole desktop space.
UI Automation Testing, and UI of testing tool in particular, has to work out of inspectable application.
Each Sciter application that wants to be inspectable shall allow connection with the Inspector explicitly by calling SciterSetOption(hwnd | NULL, SCITER_SET_DEBUG_MODE, TRUE); before loading HTML into Sciter’s window. In response Sciter engine injects so called inspector peer script into the view. Inspector peer script is a small script block that establish event handlers and interceptors (e.g. stdout/stderr proxies). The script adds the following method
function view.connectToInspector(rootEl = null, inspectorHostIP = null);
to the view instance and registers CTRL+SHIFT+I (connect to inspector) and CTRL+SHIFT+Click (select DOM element for the inspection). CTRL+SHIFT+I is used to connect with the inspector when it runs on the same machine.
The same Inspector instance can serve multiple windows/views, even from different processes or GUI threads.
Andrey Lyapichev ( Андрей Ляпичев ) AKA Weilard have started series of articles about Pixel Art on habrahabr.ru.
That’s about graphics in computer games, but not only. Composition, perspective, perspective simulation by color and contrast, etc.
Part one, part two …
That’s in Russian. If you cannot read Russian just look through images there to get an idea somehow.