Level-up: OpenArena + beta traces + spec_energy + Windows-safe CI#236
Draft
timfox wants to merge 29 commits into
Draft
Level-up: OpenArena + beta traces + spec_energy + Windows-safe CI#236timfox wants to merge 29 commits into
timfox wants to merge 29 commits into
Conversation
The cs_autoInit guard only matched ri.Cvar_Get, but qcommon uses Cvar_Get in csharp_debug.c. Accept both patterns and document Vulkan troubleshooting for classic Quake III / OpenArena installs. Co-authored-by: Tim Fox <timfox@outlook.com>
- examples/q3_vulkan_compat.cfg for optional classic-mod renderer tuning - q3_openarena_compat_check registered in CTest (validation;smoke) - Link example from COMPATIBILITY.md and examples/README.md Co-authored-by: Tim Fox <timfox@outlook.com>
- Do not ERR_FATAL when swapchain lacks TRANSFER_SRC (r_fbo 0); warn and disable screenshot readback instead; only request supported usage flags. - Rebuild world pipelines when r_lightmap_srgb_decode changes (Q3/OA HDR fix). - test_vk_vegetation_dispatch_order: use grep instead of rg for portability. - Extend source guards; fix devdata OPTIONAL_GAME_ASSETS path comment. Co-authored-by: Tim Fox <timfox@outlook.com>
- VK_SetLightParams: skip legacy r_gamma light scaling when r_fbo/HDR active. - OpenGL dlight ARB path: same when r_hdr 1/2. - Expand q3_openarena_compat_check for swapchain, lightmap, and dlight guards. - Document volumetric fog on alpha geometry; dedupe validate_ci_build q3 run. - Update HDR_GAPS §6.7 to match implementation. Co-authored-by: Tim Fox <timfox@outlook.com>
- Add run_renderer_tier_b_devdata.sh (rtest_base map load + asset manifest). - CTest renderer_regression_maps_devdata; validate_ci_build step 6b. - production_readiness uses devdata when GAME_BASE unset. - Auto-select devdata OPTIONAL_GAME_ASSETS when GAME_BASE is rtest_base. Co-authored-by: Tim Fox <timfox@outlook.com>
- evidence_status.sh: detect shipped rtest_base devdata path. - bootstrap_ioq3_qvm.sh for rebuilding qagame.qvm when devdata is missing. - FINDINGS Tier A row for 2026-05-29 automated gate; AGENTS.md ctest note. Co-authored-by: Tim Fox <timfox@outlook.com>
- docs/Q3_OPENARENA_VULKAN.md consolidates setup, scripts, and tuning. - CHANGELOG [Unreleased] entries for compat, Tier B, and Vulkan fixes. - Link from QUICKSTART and COMPATIBILITY. Co-authored-by: Tim Fox <timfox@outlook.com>
When SDL cannot create a VK_KHR_surface window (headless CI, missing ICD), fall back to OpenGL before VKimp_Init fatals — Q3/OA and demo shells still start. ARM-only guard removed; compat check and docs updated. Co-authored-by: Tim Fox <timfox@outlook.com>
Co-authored-by: Tim Fox <timfox@outlook.com>
Integrate rajabi2001/sega as an external PyTorch generation hook mirroring FLUX/TRELLIS: async SDL jobs, console commands, and texture hot-reload. - Vendored upstream flux_sega/ and qwen_sega/ under external/sega/ - scripts/sega_flux_generate.py wrapper copied to release on build - src/client/cl_sega.c with cvars, sega_generate/status/cancel/view - Shared cl_pipeline.c/h for shell template expansion (FLUX/TRELLIS/SEGA) - USE_SEGA CMake option (default ON), docs/SEGA.md, runtime check script - cl_sega_enable defaults to 0 for classic mod compatibility Co-authored-by: Tim Fox <timfox@outlook.com>
User-facing commands, cvars, CMake flag, docs, and scripts now use spec_energy_* / USE_SPEC_ENERGY instead of sega_* / USE_SEGA. Vendored upstream moved to external/flux_spec_energy/ (upstream flux_sega/ layout unchanged). GitHub repo URL kept only as upstream reference in docs. Co-authored-by: Tim Fox <timfox@outlook.com>
- Add spec_energy_runtime_check to CTest, validate_ci_build, smoke_test - Fix cs_autoInit compat grep (Cvar_Get vs ri.Cvar_Get) - Document release wrappers in DEVELOPMENT_SETUP; cross-link TRELLIS.md Co-authored-by: Tim Fox <timfox@outlook.com>
- Upstream layout validator (flux_sega/, qwen_sega/, requirements.txt) - spec_energy_runtime_check runs layout check on vendored copy - COMPATIBILITY.md notes generative hooks default off Co-authored-by: Tim Fox <timfox@outlook.com>
ASAN and other raw-CMake jobs may not copy release/spec_energy_flux_generate.py. Skip spec_energy_runtime_check in that case (warn), so smoke_test doesn't fail unless the wrapper is actually present. Co-authored-by: Tim Fox <timfox@outlook.com>
- vk_shader_determinism_check: compile_shaders to temp dir and compare to tracked blobs - vulkan_state_of_art_check: enforce RTX feature gating (Features2), pNext chain use, and extension-list guards - Wire both into validate_ci_build and CTest Co-authored-by: Tim Fox <timfox@outlook.com>
Co-authored-by: Tim Fox <timfox@outlook.com>
- Merge cursor/implement-spec-energy-d22f (spec_energy, Vulkan CI gates) - Add r_classicMod cvar and classic_mod console command - vk_apply_classic_mod_preset for Q3/OA-safe Vulkan at init - docs/OPENARENA.md and scripts/run_openarena.sh launcher Co-authored-by: Tim Fox <timfox@outlook.com>
- classic_mod sets renderer cvars immediately (vid_restart for latch) - run_openarena.sh: inline boot cvars, CLASSIC_MOD=1, copy cfgs to OA_BASE - examples/q3_classic_mod.cfg; ship to release/examples/ on build - pr_ready_summary.sh targets evolution PR #233; compat checks expanded Co-authored-by: Tim Fox <timfox@outlook.com>
- run_openarena_server.sh for dedicated QVM hosting - test_run_openarena_script CTest (CLASSIC_MOD, OA_BASE cfg copy) - check_artifacts validates release/examples/*.cfg - Fix compat check SIGPIPE with grep process substitution - cl_flux_enable default-off gate; smoke_test release/examples check Co-authored-by: Tim Fox <timfox@outlook.com>
- Single script: compat check, launcher test, smoke, Tier B devdata - RELEASE_CHECKLIST, evidence_status, OPENARENA.md PR merge note - CHANGELOG and compat check for orchestrator Co-authored-by: Tim Fox <timfox@outlook.com>
Implement client-side beta trace framework inspired by Hernández et al. (Entertainment Computing 2017): record usercmds and JSONL high-level events, replay for regression tests, and evaluate success/fail patterns with timeouts. Includes documentation, demo_game example traces, Petri net JSON sample, and CTest format validation script. Co-authored-by: Tim Fox <timfox@outlook.com>
- Resolve idtech3/idtech3_server with .exe and arch suffixes like smoke_test.sh - Scan binaries with grep -a and strings -a/-el (PE-safe) instead of strings|grep - Add q3_compat markers in qcommon so stripped Windows builds retain QVM/fs strings Co-authored-by: Tim Fox <timfox@outlook.com>
…el-up-idtech3-d22f Co-authored-by: Tim Fox <timfox@outlook.com>
…p-idtech3-d22f Co-authored-by: Tim Fox <timfox@outlook.com>
Merge evolve-openarena + automated-beta-testing onto spec-energy baseline. Add level_up_validate.sh orchestrator, shared release_bin.sh for Windows PE string scans in smoke/compat, extend openarena_validate with beta traces, document stack in docs/LEVEL_UP.md, and add CTest test_level_up_scripts. Co-authored-by: Tim Fox <timfox@outlook.com>
- vk_handle_device_lost: warn and skip frame instead of ERR_FATAL on device lost - cl_autoClassicMod (default 1): apply classic_mod when baseq3/OA base detected - examples/q3_fbo_safe.cfg + release copy; document in Q3_OPENARENA_VULKAN.md - Bot: unimplemented AAS travel types use PRT_ERROR and movement failure - evidence_status.sh --strict; compat checks for new safety hooks Co-authored-by: Tim Fox <timfox@outlook.com>
…spec_energy check - Add stage_ci_release.sh (copy scripts + example cfgs like compile_engine.sh) - GHA: use staging before smoke/ctest; chmod validation scripts; ctest -j1 on Ubuntu - spec_energy_runtime_check: release_bin PE scans; skip when Python wrapper absent - level_up_validate: fix ctest filter regex Co-authored-by: Tim Fox <timfox@outlook.com>
CMake picks up new qcommon sources via AUX_SOURCE_DIRECTORY; the MSVC quake3e and quake3e-ded projects list sources explicitly. Add the three files so ARM64/x64 Debug server and client builds resolve Q3_Compat_TouchMarkers, Com_ScriptEmitEvent, and cs_* command stubs. Co-authored-by: Tim Fox <timfox@outlook.com>
- beta_status command; test_result=pass|fail on beta_test stop; CL_BetaTrace_LastTestResult - cmd.c: register cs_* only when USE_CSHARP (align with Lua); script_emit include guard - tests/scripts/test_msvc_qcommon_parity.sh + CTest (prevents Windows LNK2019 drift) - level_up_validate step 1/7; docs and compat check for beta_status Co-authored-by: Tim Fox <timfox@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integration branch that levels up the engine for classic-mod compatibility, automated QA, and generative tooling in one validated stack.
Included (merged)
r_classicMod,classic_mod, Vulkan compat fixes,run_openarena.sh,openarena_validate.sh, Tier B devdata hooksspec_energy_generatepipeline (default-offcl_spec_energy_enable)beta_record/beta_play/beta_test, JSONL events, example traces (paper-inspired)scripts/lib/release_bin.sh+q3_compatmarkersNew in this PR
docs/LEVEL_UP.md— integration guidescripts/level_up_validate.sh— one-command validation orchestratorscripts/lib/release_bin.sh— sharedbin_path/grep -ahelpers for smoke + compatvalidate_ci_build.shstep 8 runs level-up gatestest_level_up_scriptsValidate locally
Notes
spec_energy_check.shruns only whenexternal/flux_spec_energy(orSPEC_ENERGY_REPO) exists.