Fred Emmott's Avatar

Fred Emmott

@fredemmott.com

Freelance VR software engineer

43
Followers
16
Following
56
Posts
16.11.2024
Joined
Posts Following

Latest posts by Fred Emmott @fredemmott.com

> 1024 also OK, as long as it’s a fixed boundary :)

06.03.2026 01:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Lots of in depth advice about how to make sure you can scale, but here’s an easy one for day one: your primary key starts at 1024, not zero, not one. The only thing that knows this is your β€œnew <T>” flow

06.03.2026 01:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Though overall I feel there's no good solutions here. Unless UWP fits your need or you're making a game (so you just need an accelerated surface to draw on + input, no window management), MS haven't provided a good development experience for Windows apps since ~ XP.

31.01.2026 18:46 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

BUT DARK MODE! (half /s)

You can get a bunch more of the Win32 stuff working in dark mode if you tell the framework your app is explorer.exe... *shudder*

31.01.2026 18:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

While there's workarounds to invalidate the cache, it's then hard to make resizing work *well* while you're dragging the frame, even if it's a standard win32 frame

31.01.2026 18:41 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

There's also a lot of resize issues caused by mobile-first frameworks being used on desktop; e.g. Yoga (the layout engine underpinning React Native) doesn't adequately invalidate caches when resizing the top-level container. Almost never happens on phone, common on desktop

31.01.2026 18:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

That’s primarily about the title bar, but meeting the title bar (and general texture/corners guidelines) needs a non standard frame

31.01.2026 18:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Windows app title bar - Windows apps Design the title bar of a desktop app to match the personality of the app.

I agree it’s often not worth it, but the default win32 title bar does not meet Microsoft’s own style guidelines: learn.microsoft.com/en-us/window... - and they don’t use it in their own toolkits.

If you follow the platform style guidelines, you must replace it. if you don’t, your app looks dated.

31.01.2026 18:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Preview
GitHub - fredemmott/capslock: A flexible capslock remapper A flexible capslock remapper. Contribute to fredemmott/capslock development by creating an account on GitHub.

For part-time vim fanatics on windows: github.com/fredemmott/c...

By default, remaps capslock to escape - unless a game is running.

20.12.2025 19:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
OpenXR Best Practices Validation Layer

OpenXR Best Practices Validation Layer

We are pleased to announce the release of the Best Practices Validation Layer. It addresses a critical need in XR development: catching suboptimal API usage patterns that can lead to inconsistent behavior across different OpenXR runtimes.

Learn more: www.khronos.org/blog/new-ope...
#OpenXR #XR

13.11.2025 15:42 πŸ‘ 6 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0

Funding: if your mid/large business uses Dear ImGui - and maybe you are approaching end of year budget/planning etc. - please consider reaching out (PM/email) so I can help you help Dear ImGui !

05.11.2025 20:00 πŸ‘ 95 πŸ” 50 πŸ’¬ 0 πŸ“Œ 2
hexdump and xxd side-by-side, showing byte swapping in 16-bit groupings

hexdump and xxd side-by-side, showing byte swapping in 16-bit groupings

TIL either hexdump or xxd is endian-sensitive

29.08.2025 22:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

3/3. Meta could bring hand tracking support to > 50% of PCVR headsets overnight by removing an arbitrary restriction - this would substantially change the cost/benefit of hand tracking for game developers.

30.07.2025 12:20 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

2/3. More than half of the headsets on the Steam Hardware Survey are Quest-series headsets that have support for hand tracking, but it requires developer mode or third-party software.

30.07.2025 12:20 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

1/3. Lukewarm take: the lack of PCVR game support for hand tracking is Meta’s fault.

30.07.2025 12:19 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

WIP: Reimplementing the look-and-feel of WinUI3 in standard C++23, without a dependency on WinRT, XAML, or msbuild

12.07.2025 22:04 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Slightly snowed under with the spatial entities announcement, OpenXR 1.1.49 also includes the new render models extension which provides access to 3D models of the controllers currently held by the user.

11.06.2025 06:52 πŸ‘ 7 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Original post on fosstodon.org

With Meta's upcoming v74 SDK release, the built-in OpenXR path for Unity, UnrealEngine, and Godot will be the recommended path for development. #OpenXR enables you to build cross-platform and use Meta platform plugins to add unique HorizonOS features […]

07.03.2025 19:38 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

*passing the CTS* on every release would be hugely valuable to everyone though , including runtime devs.

05.03.2025 20:09 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I need to write up my thoughts on this, but while the CTS is hugely valuable, I don’t see official conformance as useful to devs or users. IMO the primary benefit is the IP framework for official adopters

05.03.2025 20:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The CTS is free; official conformance requires adopter status and a passing submission (though there is a waive process). It does not require resubmitting or re-testing on new releases or new headsets

05.03.2025 20:07 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

It's frustrating as a developer when I investigate crashes and see they're caused by a runtime bug that could easily have been detected before release.

It's frustrating for users when I have to tell them to hope for a fix from their manufacturer.

22.02.2025 14:21 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

[5/5] This is clearly bad for developers and users - and it hurts the ecosystem as a whole; your readers/viewers deserve to know what they’re buying; don’t mislead them by saying headsets support OpenXR when they don’t.

22.02.2025 14:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

[4/5]
- some vendors seem to stick with an old version of the test suite
- some vendors only seem to test their initial release, or only major milestone releases
- some seem unlikely to have passed any version, and only been spot-tested on a few games

22.02.2025 14:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

[3/5] Some manufacturers routinely test their releases, and they should be celebrated for this: conformant runtimes make the whole ecosystem stronger and reduce locking.

I’ve unfortunately also seen a mix of:

22.02.2025 14:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

[2/5] You can ask manufacturers what version of the CTS you should use - this should either be the latest version, or any other version published by Khronos that’s at most 180 days old.

22.02.2025 14:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

[1/5] PCVR journalists: when covering a headset software/firmware update, run the OpenXR Conformance Test Suite. If it fails, the headset/software/firmware *DOES NOT* support OpenXR and users should expect problems. The CTS is freely available on GitHub.

22.02.2025 14:05 πŸ‘ 5 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0

Or the opposite, β€œWe reward teams with fewer severe incidents” -> β€œhmm is this really worth opening an incident over?” β€œIs this really a *severe* incident?”, reducing communication and increasing time to fix and severity of incidents , even if there’s fewer labeled as β€œincidents”

05.02.2025 20:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Metrics often stop being useful once they become goals; rewarding productivity measured by number of commits can encourage spamming ridiculously small commits - eg one per file when one per concept might make more sense

05.02.2025 20:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0