Skip to content

Manufacturing planner: remember last build-from location (persistent), and "All stations" should mean NPC/no-bonus #23

Description

@aixtools

1. Remember the last build-from location, persistently

The Manufacturing planner's "Build from" station/container picker currently resets on every fresh page load — it's read straight off the URL query string, nothing remembers your last choice.

Being built now (session-scoped): a per-session memory, following the same pattern already used by Assets/Reactions/Shipping — sticks for as long as you're using the app in one browser, resets on a new session. This is happening as a normal code change, not part of this feature request.

This issue is the persistent version: remembering your last-chosen location across logins/sessions (and potentially across devices on the same account) would need a MonitorUser-level saved preference — a change to the identity/backend tier (monitor-eveo-core), not just the UI. Filed here as a future enhancement rather than built now, since it's a bigger design decision than a same-session convenience.

(A lighter middle ground — per-device persistence via browser localStorage, no account/backend change needed, survives longer than a session but doesn't follow you to a new device — may also be worth considering if it fits the existing UX cleanly.)

2. "All stations" (no station picked) should mean NPC station — i.e., no structure bonus

Confirmed by reading the code (monitor-eveo-core: monitor/plugins/planner/manufacturing/facade.py's _site property and park.py::facilities_for): when no station is selected, site_location_id is None, and park.facilities_for(..., site=None) applies your own saved park facility's material bonus unconditionally — regardless of whether you're actually building there. The code's own docstring names this a deliberate "third state, distinct from 'an NPC station was picked'" — kept for backward compatibility with callers that predate the facility-siting work.

This means "All stations" currently overstates costs as if you were always building at your bonused structure, rather than showing the honest NPC-station baseline (no bonus) a truly location-agnostic estimate should show.

Two possible fixes, for whoever picks this up:

  • D-tier only (no core change): default "All stations" to a real, specific NPC station id (rather than leaving it unset) — the existing siting-gate logic already returns material_factor=1.0 for a site that doesn't match the pilot's saved structure's system, so a real NPC station id gets "no bonus" for free. Caveat: a very small edge case where a pilot's own saved structure happens to sit in whatever system gets chosen as the global default.
  • Core-level fix (more robust): give ManufacturingPlanner/park.facilities_for an explicit "no site info" vs. "explicitly no-bonus baseline" distinction, so the UI can ask for the honest NPC baseline without relying on a magic default station id.

Which NPC station(s) to use as the default (if going with the d-tier-only fix) is being chosen separately — needs a station offering Factory (manufacturing) + Reprocessing Plant + Refinery together, ideally in lowsec so refining is included.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions