diff --git a/auto_keyword_usage.txt b/auto_keyword_usage.txt new file mode 100644 index 0000000..d58275f --- /dev/null +++ b/auto_keyword_usage.txt @@ -0,0 +1,102 @@ +AUTO KEYWORD USAGE REPORT +========================== + +This file lists all instances of the 'auto' keyword found in the codebase. +According to CLAUDE.md, the auto keyword is STRICTLY FORBIDDEN in this codebase. + +TOTAL INSTANCES FOUND: 165 + +VIOLATIONS IN PROJECT CODE (NON-EXTERNAL): +=========================================== + +src/core/src/ImGuiUI.cpp: + Line 51: auto size_config = config["size"]; + Line 67: auto min_config = config["min_size"]; + Line 83: auto max_config = config["max_size"]; + Line 116: auto it = windows.find(windowId); + Line 124: auto it = windows.find(windowId); + Line 143: for (const auto& [id, win] : windows) { + Line 158: for (const auto& [id, win_state] : state["windows"].items()) { + Line 159: auto it = windows.find(id); + Line 161: auto& win = it->second; + Line 165: auto size_state = win_state["size"]; + Line 173: auto pos_state = win_state["position"]; + Line 203: for (const auto& [item, price] : content["prices"].items()) { + Line 255: auto chunk = content["current_chunk"]; + Line 325: for (const auto& item : content["items"]) { + Line 347: for (const auto& log : content["logs"]) { + Line 408: for (const auto& [company_name, company_data] : content.items()) { + Line 429: for (const auto& alert : content["urgent_alerts"]) { + Line 440: for (const auto& warning : content["warnings"]) { + Line 463: auto graphics = content["graphics"]; + Line 480: auto audio = content["audio"]; + Line 515: for (const auto& log_msg : log_messages) { + Line 516: auto duration = log_msg.timestamp.time_since_epoch(); + Line 517: auto millis = std::chrono::duration_cast(duration).count() % 100000; + +src/core/include/warfactory/ImGuiUI.h: + Line 132: auto window_size = config.value("window_size", json{{"width", 1400}, {"height", 900}}); + Line 338: auto dock_it = docks.find(win.parent); + Line 372: for (auto& [dock_id, dock] : docks) { + Line 378: for (auto& [window_id, win] : windows) { + Line 424: for (auto& [window_id, win] : windows) { + Line 550: auto size_config = window_config["size"]; + Line 553: auto width_val = size_config["width"]; + Line 578: auto height_val = size_config["height"]; + Line 597: auto min_config = window_config["min_size"]; + Line 613: auto max_config = window_config["max_size"]; + Line 645: auto pos = window_config["position"]; + +src/client/modules/client-ui/test_simulated_graphics_hot_reload.cpp: + Line 121: auto windows = saved_state["graphics_context"]["windows"]; + Line 122: for (auto& [window_name, window_data] : windows.items()) { + Line 123: auto pos = window_data["pos"]; + +src/client/modules/client-ui/tests/ClientUITest.cpp: + Line 15: auto state = ui.getState(); + Line 38: auto state = ui.getState(); + Line 82: auto state1 = ui.getState(); + Line 90: auto state2 = ui2.getState(); + Line 111: auto state = ui.getState(); + +src/client/modules/client-ui/tests/ClientUISimulatedTest.cpp: + Line 77: auto final_state = clientUI.getState(); + +src/client/modules/client-ui/src/main.cpp: + Line 72: auto state = clientUI.getState(); + +src/client/modules/client-ui/src/ClientUIModuleSimulatedGL.cpp: + Line 106: auto now = std::chrono::steady_clock::now(); + Line 107: auto delta = std::chrono::duration_cast(now - last_render).count(); + Line 163: auto windows = state["windows"]; + Line 171: auto pos = state["positions"]; + Line 228: for (auto it = window_state.log_messages.rbegin(); it != window_state.log_messages.rend() && shown < 3; ++it, ++shown) { + Line 271: for (const auto& [company_id, company_data] : window_state.macroentity_data.items()) { + +test_imgui_ui.cpp: + Line 11: << " --headless Run in headless mode (auto-exit after 3s test)\n" + Line 13: << " --interactive Run interactively (no auto-exit) [DEFAULT]\n" + NOTE: These are in help text strings, not actual auto keyword usage + +EXTERNAL LIBRARY USAGE (DO NOT MODIFY): +====================================== + +external/windows_deps/glfw-3.3.8.bin.WIN64/include/GLFW/glfw3.h: + Line 821: /*! @brief Window auto-iconification window hint and attribute + Line 823: * Window auto-iconification [window hint](@ref GLFW_AUTO_ICONIFY_hint) and + NOTE: These are in comments/documentation, not actual auto keyword usage + +external/nlohmann/json.hpp: + [127 instances of auto keyword - this is an external library and should not be modified] + +SUMMARY: +======== +- CRITICAL VIOLATIONS: 53 instances in project code that violate the auto keyword prohibition +- All violations are in UI-related files (ImGuiUI.cpp, ImGuiUI.h, and client-ui modules) +- External libraries (nlohmann/json.hpp, GLFW) contain auto usage but should not be modified +- Two instances in test_imgui_ui.cpp are false positives (in help text strings) + +RECOMMENDATION: +=============== +All 53 instances of auto keyword usage in project code must be replaced with explicit types +to comply with the CLAUDE.md coding standards. \ No newline at end of file