In-game event

RustForge - Version 6.4.0.0 "The Color Sorting and Input Revamp Update!"

RustForge Sign Painter · published · build 23411443

Transmission from RustForge 🎙️

This update introduces advanced color sequencing control and resolves a critical rendering bottleneck that caused downscaled or smaller artwork to lose detail. With the brand-new Color Painting Order settings, you can now completely tailor drawing paths for high-contrast or light-colored artwork. Additionally, our core image-scaling pipeline has been completely refactored to permanently prevent images from getting crushed or blurred on your canvas boundaries.


Patch Highlights


  • Color Painting Order Control: Added a new "Color Painting Order" dropdown selector, allowing you to choose between Dark to Light (Default) and Light to Dark. This allows for granular control depending on your source image's layout and background style.

  • Anti-Crushing Core Scaling Update: Fixed a rendering flaw where images scaled down onto compact canvas's would end up looking pixelated, aliased, or completely "crushed" in detail. The engine now utilizes adaptive, intelligent interpolation to guarantee clean, sharp canvas previews whether oversampling is turned on or off.


Balancing & Logic


Color Painting Order Logic

  • The Challenge: While painting from darkest to lightest colors is excellent for standard artwork to build contrast, it poses a major challenge for light-colored images or designs with solid white backgrounds. The default pathing could inadvertently pull dark stroke artifacts into clean, light fields, ruining edge precision and fine details, or it would over-paint lighter colors over darker edges/colors.

  • The Fix: Implemented a dynamic luminance-sorting routine. Selecting Light to Dark instructs the engine to isolate foreground elements and deposit your lightest colors first, cleanly layering darker shades over the top. This protects sharp line integrity and keeps pristine white or light fields completely free of dark-path bleed.

Canvas Bounds & Dynamic Resampling

  • The Challenge: Scaling configurations were colliding in a way that heavily compressed or "crushed" details on smaller canvas's. A scale bottleneck clamped smaller previews to a fixed 1.0 limit, which completely bypassed premium oversampling triggers. Simultaneously, standard downscaling relied on un-smoothed pixel skipping, resulting in a degraded image output.

  • The Fix: Completely overhauled the image mapping sequence across both the Time Estimation and Preview Processing engines. I eliminated the scale-clamping bottleneck so premium upscaling reliably triggers on small image files, and added an adaptive resampling engine. The core engine now fluidly swaps between High-Quality Bicubic smoothing for downscaling crisp details and clean Nearest-Neighbor mapping for small-scale pixel sharpness.

HD Scaling (Super-sampling)

  • The Challenge: Users dropping massive high-resolution images onto physically small canvas's were experiencing blurry, pixelated results in the UI preview.

  • The Fix: Rewrote the large-image scaling logic. The engine now dynamically switches to High-Quality filtering when extreme reductions are detected, forcing the app to retain the absolute original dimensions while painting razor-sharp detail onto the canvas.


📈 Known Issues


  • HD Canvas Scaling (Zooming): While the new Smart Brush Suggestion feature combats the Moiré effect, if you zoom in/out heavily while painting on canvases like the new Artist DLC Canvas' Large Banner on Pole or the XL Picture Frame, the engine's scaling will change and your paint strokes will misalign. Most large Canvas's require a higher brush size due to its inflated size on screen. Fix: Do not zoom in or out while mapping/painting. If you absolutely must zoom in or zoom out, manually increase/decrease your brush size slightly to bridge the newly created gaps.

  • Contour Tracing & Smart Pathing (Resume Limitations): With how Contour Tracing and Smart Pathing calculate the most efficient omnidirectional paths for curves and fills, it is mathematically impossible to resume a paused painting from the exact pixel you stopped at. Instead, the engine will resume from the currently painting color, and begin from the start of that specific color layer to ensure nothing is missed. This is an intended feature of these advanced methods. It may add a few minutes to your total paint time if paused and resumed, but this prevents missing structural chunks of your image.

More from RustForge Sign Painter

Other announcements

All events