FEnigma/src/fenigma
Dominik Roth 5a35ea7776 Revert auto-assigned ids back to letters; only detected ids are numeric
Auto-assignment (no real id known: a manual add, or an accepted
proposal with no confident marker-id read) must stay visually
distinct from a genuinely detected id, or a made-up number could
collide with or be mistaken for a real one. Reverts the previous
commit's switch to numeric auto-assignment (_next_free_numeric_id) --
that was wrong, caught by the user immediately. _next_free_id
(letters, rolling over to "AA"/"AB"/... past 26) is back as the
fallback, still scoped per type (that part of the previous change was
correct and stays). Plain numbers are reserved for an id
_accept_proposal is actually confident was read off the marker itself
(Proposal.detected_id), passed straight through and never touching
auto-assignment.

Also fixes detected_id's own collision pre-check in _accept_proposal,
which wasn't scoped per type either -- same bug as the Change ID
popover fix, just in a second place: a detected id could get
needlessly discarded because an unrelated type already used that
number, not because of a real collision.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 19:49:30 +02:00
..
__init__.py Rename the display name from FeNigma to FEnigma 2026-08-10 21:42:07 +02:00
app.py Revert auto-assigned ids back to letters; only detected ids are numeric 2026-08-13 19:49:30 +02:00
ballistics.py Sweep em-dashes out of code, docstrings, and requirements.txt 2026-08-08 20:27:53 +02:00
coord_dialog.py Fix ally marker detection; expand TargetType icons and pickers 2026-08-10 23:49:46 +02:00
debug_capture.py Add marker id detection; log unit_score/margin; use full-res captures 2026-08-13 18:54:53 +02:00
firing_panel.py Fix id-namespace regression, add StrikeRequest type, kill full-panel 2026-08-11 20:48:57 +02:00
grid_fix_dialog.py Import map screenshots into the board, and edit entities from the map 2026-08-10 21:41:56 +02:00
grid_widget.py Drop redundant coord from pending-proposal map label 2026-08-13 19:32:38 +02:00
icons.py Fix silent proposal-popover repaint bug; add underground target marker 2026-08-13 18:44:36 +02:00
map_import.py Add marker id detection; log unit_score/margin; use full-res captures 2026-08-13 18:54:53 +02:00
map_vision.py Add marker id detection; log unit_score/margin; use full-res captures 2026-08-13 18:54:53 +02:00
models.py Revert auto-assigned ids back to letters; only detected ids are numeric 2026-08-13 19:49:30 +02:00
ocr.py Fix id-namespace regression, add StrikeRequest type, kill full-panel 2026-08-11 20:48:57 +02:00
shells.py Shell icon picker: fix real sizing bugs, crop icon padding, inline grid for Add Strike 2026-08-09 19:28:41 +02:00
solver.py Fix id-namespace regression, add StrikeRequest type, kill full-panel 2026-08-11 20:48:57 +02:00