Skip to content

Refactoring: units in progress #61

Open

Description

@ZaneThurston

This issue tracks which parts of the code are being refactored right now, so refactoring can run alongside the parity and triage work without blocking anyone. The plan is in docs/MACRO_REFACTOR_DRAFT.md.

Rules

  • Refactoring gives way. If a bug-fix PR is open on a file, the refactoring unit that contains it waits or leaves that file out. A fix never waits for a refactor.
  • Short, move-only PRs. A refactoring PR moves or renames code without changing behaviour, touches one unit, and stays open for at most one working day.
  • Reserve before you start. Add the unit, its files and the PR to the table below before opening the branch, and remove the row when the PR is merged. Before editing a file listed here, check the row and talk to whoever reserved it.
  • Whoever moves code ports open branches. After a move PR is merged, its author merges main into the open branches that touched the moved files and resolves the conflicts.
  • Branches use feat/<name>, as in CONTRIBUTING.

A unit is a whole crate for the rarely changed crates, and a group of modules inside omsi-app (frame loop, gameplay, launcher, world, input, settings, LAN, HUD and menus).

Reserved now

Unit Files Branch PR
AP6 step b2, the bus preview (the showroom, its helper process and its kept pictures) out of launcher/ into the game's showroom/, so the "Add vehicle" window no longer imports the launcher omsi-app/src/showroom/, omsi-app/src/launcher/{preview,showroom,prerender,mod,ai_traffic,diagnostics}.rs, ui/implementation/add.rs, lib.rs, testing.rs, their tests feat/app-launcher-preview #597

Tracks 0 and 1

Track 2 (warm omsi-app groups)

Track F (vehicle physics, second round, AI included)

Track 3 (cold and warm items from the audit)

Track S (omsi-sim by domain, docs/OMSI_SIM_REFACTOR.md, in parallel with Track 3)

Track App (omsi-app by domain, docs/OMSI_APP_REFACTOR.md, plan in #401)

Phase 1; phase 2 is Track 4. Every domain folder is a package with domain/, interface/ (input and output) and implementation/, and tests live in tests/.


Generated by Claude Code

Activity

  1. pinned this issue on Oct 11, 2026
  2. self-assigned this
    on Oct 12, 2026
  3. added
    trackingParent or tracking issue
    refactorStructural change without behavior change
    on Oct 18, 2026
  4. lmonteirotech commented on Oct 19, 2026

    @lmonteirotech
    Contributor

    FYI for the C5 step 3e work: draft PR #322 adds an overlay hook to omsi-render (Renderer::set_overlay_hook). It touches only renderer/encode.rs, frame.rs, state.rs, build.rs and api/renderer.rs, none of the files reserved for C5 3e. When it merges, please rebase on it. Leo approved doing it in the renderer ("Zane adjusts it afterwards on top of ours").


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

refactorStructural change without behavior changetrackingParent or tracking issue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions