Skip to content

Refactor/modules - #11

Merged
code-wolf-byte merged 117 commits into
mainfrom
refactor/modules
Oct 19, 2026
Merged

code-wolf-byte merged 117 commits into
mainfrom
refactor/modules

Conversation

@code-wolf-byte

Copy link
Copy Markdown
Owner

No description provided.

SceneCamera was re-exported but never used; the GPU renderer computes its
own projection. Its only caller was tests/camera.rs, removed with it.
ScenePass and UniformValue were re-exported but never used; the GPU
renderer has its own pass runtime (EffectPassRuntime).
ResourceManager's only user was the already-removed engine/pass.rs.
src/bin/ is where Cargo expects extra binaries; src/tests/ read like a
test directory. The binary keeps its scan-wallpapers name.
particle.rs becomes engine/particle/mod.rs; its two inline test modules
(1,500 lines) move unchanged to tests.rs, colorn_probe as a submodule.
gpu_renderer.rs becomes engine/gpu_renderer/mod.rs (include_str! paths
gain ../); its two inline test modules (530 lines) move to tests.rs, with
hit_tests nested as before.
transpiler.rs becomes engine/shaders/transpiler/mod.rs; its inline test
module (640 lines) moves unchanged to tests.rs.
engine/render.rs becomes engine/render/mod.rs; its inline test module
(350 lines) moves unchanged to tests.rs.
ContentRenderer and its constructor, applying live property edits, and a
PlaybackMonitor owning the pause policy, media and lock watchers and the
re-check interval. Wayland and X11 each carry a copy of this today; they
switch over in the next commits.
Drops its own ContentRenderer, renderer constructor, pause-condition
polling and property-edit plumbing (about 130 lines) for the shared
module; window states now come from a small window_state() over the
foreign-toplevel handles, with a test.
Drops its own ContentRenderer, renderer constructor, pause-condition
polling and property-edit plumbing for the shared module; the EWMH check
now returns the shared WindowState instead of a private ActiveWindow.
First file of the new engine::gpu group (how the scene is drawn).
The shader loader and GLSL->WGSL translator, moved as one module without
content changes; the renderer's include_str! path follows.
The scene renderer (mod.rs + tests.rs) moves as one module, unchanged;
gpu_shaders.wgsl, which only it uses, moves in beside it.
engine::render resolved scene.json into layers; as engine::model::resolve
it no longer shares a name with the top-level render module.
Building the fragment/vertex GLSL from a shader model, combo defines and
the synthetic vertex shader (480 lines) move unchanged; mod.rs keeps the
headers, result types and translate().
Loading layer textures from the folder, scene.pkg and global assets,
model/material/texture chains and embedded-video streams (560 lines)
move unchanged; LoadedImage's fields become pub(super).
Xform, the parent transform graph and world-transform resolution (320
lines) move unchanged and stay reachable through resolve::*.
The object-to-layer builders (image, particle, text, mesh, light,
backdrop) and their placement helpers (1,040 lines) move unchanged.
ResolvedScene::render and draw_image_layer (180 lines) composite layers
on the CPU for render-scene and the fallback path; they now sit with the
rest of the CPU renderer instead of in model::resolve. Moved unchanged
as an impl block in the new module.
main.rs becomes a three-line entry point; the argument types, dispatch
and commands move unchanged to src/cli/mod.rs (with main made pub), so
they can be split by area next.
…rties.rs

The details panel's property editor and its label/value helpers (300
lines, with their test) move unchanged; config.rs keeps the settings
window and playlist configuration.
…laylist.rs

playlist_config, playlist_editor, the playlist modes and empty_playlist
(120 lines) move unchanged next to the playlist bar that opens them.
save_settings, daemon_request, title_of and the pick_path file dialog
are used across the GUI's panels, so they live with the app state now;
config.rs is left with only the settings window.
It holds only the settings window now; "config" read like configuration
loading and clashed with the CLI's config command.
@code-wolf-byte
code-wolf-byte merged commit 3f3f55e into main Oct 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant