--timing builds fail: CRAFTER_TIMING code in Window.cpp references members Window no longer has #178
Labels
No labels
claude:blocked
claude:done
claude:failed
claude:in-progress
claude:ready
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Catcrafts/Crafter.Graphics#178
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
crafter-build --timing(which definesCRAFTER_TIMING, project.cpp) does not compile on master (bcdc885):Both statements sit inside
#ifdef CRAFTER_TIMINGblocks:Window::Update(Window.cpp:1088):renderTimings.clear();Window::LogTiming(Window.cpp:1482): the loop overrenderer.renderTimings, a vector ofstd::tuple<const RenderingElement*, std::uint32_t, std::uint32_t, std::chrono::nanoseconds>struct Window(interfaces/Crafter.Graphics-Window.cppm, theCRAFTER_TIMINGmembers at lines 241 to 257) declares neitherrenderTimingsnorrenderer, and noRenderingElementtype exists any more;git log -S renderTimingsshows the declaration left with an earlier renderer cleanup. The remaining timing members (totalUpdate,updateTimings,totalRender,vblank,frameTimes) are fine, so the flag has been broken only by these two leftovers.Reproduce:
crafter-build --timingin the repository root (a fresh variant directory, since the flag is part of the variant hash).Fix options: drop the two leftover statements, keeping the per-listener update timings and the 100-frame ring; or replace the per-element render timings with per-pass timings over
window.passes, which is what a renderer-lessWindowcan measure. Either way a--timingbuild should be part of the pre-merge checks (AGENTS.md lists the flag).