Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(tracking issue) Most important Zig issues affecting Tides of Revival #46

Open
Srekel opened this issue Mar 8, 2024 · 0 comments
Open

Comments

@Srekel
Copy link
Owner

Srekel commented Mar 8, 2024

Note: This issue was created simply to provide a way for us to communicate to the Zig project about our most important Zig issues. We have provided them this link on their Third Party Tracking Issues (what is important to other people?) page

Debugging

This definitely is at the top of my list. There are numerous issues for us developing Tides of Revival, all using Windows (11 I believe), with VS Code/Visual Studio/ZLS/VS Code Zig plugin, building against the msvc_abi (though it was equally bad under the default gnu abi as far as I can remember).

Many variables optimized away:

This is true for both const and var variables. (both should be inspectable)

image

Stepping "over" through the code with F10 doesn't actually indicate the line, sometimes it seemingly stops on lines it doesn't execute.

☝️

Sometimes stepping over with F10 steps into (as though you'd pressed F11.

☝️

Data seemingly sometimes wrong (best case garbled so you know it's not the actual value, worst case untrustworthy)

☝️

Can't inspect file-scope variables

They don't show up in the watch window but are often very useful to be able to inspect.
ziglang/zig#15095

No "prettyprinting" in watch window

image

I just learned that for lldb and gdb there are "pretty printers". For windows/VS debugging I guess there'd need to be natvis counterparts. Strong requirement for good debugging on Windows.

Const vs Var

Major issue, maybe not, but certainly with the type of code we write, the requirement to be const correct is a detriment to our speed more so than an aid in preventing bugs. Now, I don't think removing the requirement is necessary, but I do think thee Zig team should focus on making it possible for tooling (e.g. the VS Code plugin/ZLS/autofmt) to fix it automatically.

Short Vector Primitives

This one probably goes by many names and the exact solution isn't super important but I do think this would be quite helpful. ziglang/zig#7295

With this, there would still be multiple math libraries out there but instead of all solving the same basic tasks in different ways, they could expose higher order functionality.

Compile times

I know this is a top-prio so just noting here for cheering it on. For games having millisecond-long compiletimes is a game changer to having second-long, not to mention minute-long compile times.

Hot reload

I again, I know this is a priority, just saying it would be super sweet. Hopefully it doesn't come with too many restrictions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant