The C++ project
What's in the download, how to build it, and how to connect your own code to the design's controls.
A download is a plain Visual Studio solution. Open LazyUI.sln, pick Release | x64, and build: Dear ImGui is inside the project, and there's no DirectX SDK, FreeType, or package manager to install.
Loader/ (or Menu/)
LazyUI.sln x64 Debug and Release, C++20
main.cpp creates the window and calls figma_generated::render( ) every frame
imgui/ Dear ImGui with the Win32 and DirectX 11 backends
generated/ the converted design (replaced on every conversion)
Common/
lazy.h lazyui::app: the window, device, and swap chain
dx11_imgui_app.h the window, DirectX 11, and the message loop
blur.h/.cpp backdrop blur
image.h/.cpp image decoding (Windows Imaging Component)Connect your own code
generated/generated_ui.hpp declares every control of the design in figma_generated::controls, named after its label, so your own files read and change them without editing generated code:
#include "generated/generated_ui.hpp"
void after_ui( ) // call it after figma_generated::render( ) in main.cpp
{
using namespace figma_generated::controls;
if ( login_button.clicked && remember_me.value )
save_login( username_field.buffer.data( ) );
if ( screen.current == screen_injected )
lazyui::go_to_screen( screen, screen_main );
}login_button.clicked (true for one frame), .pressedenable_aimbot.value (bool)fov.value (0 to 1 along the track)hitbox.selected (option index)navigation.selected (item index)username_field.buffer.data( )aimbot_key.key (an ImGuiKey value, 0 when unset)popup_settings.openfigma_generated::notify( "Saved", "Title", "Message" ); notify_saved.count toasts are showingscreen.current, compared with names like screen_mainmain.cpp marks the parts a conversion fills in with // <figma-generated-...> comments; everything outside them is yours. Each template also has a README with the details.
Testing without a window
Set LAZYUI_CAPTURE=out.png and the app renders a few frames offscreen, saves the image, and exits. LAZYUI_CAPTURE_SCRIPT replays input first, for example move 200 120; down; wait 2; up; type hello; wait 30; shot step.png.