1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! The runtime crate (rlib). Two jobs, both delegated to the shared
//! `concinnity-toolchain` build helper:
//!
//! 1. Resolve the rendering backend once and expose it as a single cfg the crate
//! gates on (`backend_metal` / `backend_dx` / `backend_vk`).
//!
//! 2. Detect the optional upscaler SDKs and emit the cfgs the renderer gates on.
//! This crate produces only an rlib (consumed by the editor and the examples)
//! plus its own test binaries, so it does NOT bundle runtime DLLs next to a
//! binary (that belongs to whichever package owns the final artifact). The one
//! link directive kept is the NGX import lib: the DLSS modules are
//! `#[cfg(ngx_sdk_bundled)]`, so when that cfg is on they compile into the lib
//! and must resolve their NGX symbols when this crate's test binaries link.
//! That is `BinaryTargets::None`.
// 3. Bake the bundled face into an SDF atlas the crate embeds, so text can draw
// with no compiled world data behind it: the startup error screen, which runs
// when loading that data is what failed, and any TextLabel or TextInput naming
// no Font.
use ;
// Native size of the built-in face: what text naming no Font lays out at before
// its own `scale`. The field is signed-distance and the atlas supersamples, so
// one size covers the range both callers need, and sits near the `Font` asset's
// own 20px default so a font-less label reads like an authored one.
const BUILTIN_FONT_PX: u32 = 24;
// Compile the bundled face into `OUT_DIR`, where `gfx::builtin_font` embeds it.