rust-constructor

Crates.iorust-constructor
lib.rsrust-constructor
version2.6.0
created_at2025-08-22 14:29:47.821503+00
updated_at2026-01-01 02:34:39.30974+00
descriptionA cross-platform GUI framework built on egui, the simplest way to develop GUI projects in Rust.
homepagehttps://github.com/ChepleBob30/Rust-Constructor
repositoryhttps://github.com/ChepleBob30/Rust-Constructor
max_upload_size
id1806441
size457,900
Bob (ChepleBob30)

documentation

README

Rust Constructor V2

A cross-platform GUI framework built on egui, the simplest way to develop GUI projects in Rust

Author: ChepleBob Language: Rust License: MIT Version

English | 简体中文


Rust Constructor is an open-source project, but is not directly affiliated with the egui development team!

Table of Contents


Version Update Information

  • The current latest version is v2.6.0 Layout Revolution. The main updates include the following:
    • Added ResourcePanel resource, which can automatically layout resources, lock display ranges, split windows, and other features.
    • Removed the reg_render_resource method from RustConstructorResource, replacing it with active and modify_active methods.
    • Optimized active resource management logic, now you can directly print active resource information through the print_resource_active_info method in App.
    • Extended a large number of methods for BasicFrontResource.
    • Renamed x_grid and y_grid to x_location_grid and y_location_grid in all basic front-end resources.
    • Extended all basic front-end resources with x_size_grid and y_size_grid fields for quickly setting resource sizes.
    • Extended a series of enumerations to assist with resource calls.
    • Added an active field to all resources to mark whether the resource should be invoked.
    • Migrated some fields that were originally passed in add methods of certain resources to inside the structures.
    • Added panel_name, panel_layout, and allow_scrolling to all basic front-end resources for customizing resource styles in the resource panel.
    • Extended all basic front-end resources with a clip_rect field to control resource display range, with parts exceeding the range not displayed.
    • Added text box functionality to Text, where text exceeding specified dimensions will now be truncated and replaced with ... .
    • Extended Text with actual_size and origin_size fields to get the actual size of the rendered text portion and the original size of the text box.
    • MouseDetector can now detect mouse scroll amounts.
    • Extended some resources with fields to adapt to PositionConfig.
    • Consolidated all add methods into an add_resource method that can automatically perform operations based on resource type and add to the resource list.
    • Updated the return value of get_resource_mut.
    • Extended RustConstructorError to accommodate new resources.
    • Improved some code.

Introduction

  • Rust Constructor is a Rust GUI development library built on egui, including common features such as timers, resource storage, and error handling.
  • Rust Constructor released its first version in 2025.2, and today's Rust Constructor has undergone earth-shattering changes compared to that time.

Quick Start

  • To introduce Rust Constructor, please add rust_constructor = "x.y.z" (please replace xyz as needed) to your toml.
  • If you want to start App and perform some simple operations, it is recommended to refer to the official egui documentation.
  • Due to the large content and complex operations of Rust Constructor, it is inconvenient to fully describe here. You can refer to the official tutorial of Rust Constructor Rust Constructor Guide.

Purpose of Creating Rust Constructor

We encountered some problems that egui could not solve during the development of Targeted Vector, so we expanded many tools. To enable more people to develop conveniently, we created Rust Constructor.


Frequently Asked Questions

  • Q1: Which platforms does Rust Constructor support?

  • A1: macOS and Windows are confirmed to be fully supported, other platforms depend on egui support.

  • Q2: What are the differences between Rust Constructor V2 and V1?

  • A2: The original architecture was modified to conform to the crate structure, published on crates.io, and added an official guide.

  • Q3: Why do I get errors when calling resources?

  • A3: Please ensure you have added the resources through the add method and there are no spelling errors.

  • Q4: How to modify resources?

  • A4: You can retrieve resources via get_resource_mut.

  • Q5: What should I do if I encounter unknown error messages?

  • A5: First check the RustConstructorError definition in the Rust Constructor source code, find the problem you triggered and fix it.

  • Q6: Why is only V2 of Rust Constructor on crates.io?

  • A6: Rust Constructor V0 and Rust Constructor V1 were essentially bloated projects with many redundant features and meaningless code, so they were not published.


License

MIT © 2025 ChepleBob

Conclusion

If you like this project, please give me a star on GitHub. You can also join our organization Binder.

Commit count: 23

cargo fmt