From 7ad8d609fbc04acf11cf5dfb1394ac5723789b74 Mon Sep 17 00:00:00 2001 From: Emily Boudreaux Date: Thu, 20 Mar 2025 07:30:38 -0400 Subject: [PATCH] feat(assets): moved all static assets to assets in prep for resource manager --- assets/const/const.dat | 4 ++-- assets/const/format.sh | 10 ++++++++++ assets/const/meson.build | 17 +++++++++++++++++ assets/mesh/sphere.msh | Bin 0 -> 34259 bytes 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100755 assets/const/format.sh create mode 100644 assets/const/meson.build create mode 100644 assets/mesh/sphere.msh diff --git a/assets/const/const.dat b/assets/const/const.dat index 5d165ce..2d51028 100644 --- a/assets/const/const.dat +++ b/assets/const/const.dat @@ -11,7 +11,7 @@ Codata Internationally Recommended 2022 Values of the Fundamental Physical Const Symbol Name Value Unit Uncertainty Source ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -weinK Wien displacement law constant 2.89776850e-01 K cm 5.10000000e-07 CODATA2022 +wienK Wien displacement law constant 2.89776850e-01 K cm 5.10000000e-07 CODATA2022 au1Hyper atomic unit of 1st hyperpolarizablity 3.20636151e-53 C^3 m^3 J^-2 2.80000000e-60 CODATA2022 au2Hyper atomic unit of 2nd hyperpolarizablity 6.23538080e-65 C^4 m^4 J^-3 1.10000000e-71 CODATA2022 auEDip atomic unit of electric dipole moment 8.47835309e-30 C m 7.30000000e-37 CODATA2022 @@ -428,7 +428,7 @@ mH_amu_rel helion relative atomic mass h_shield_shift helion shielding shift 5.99674300e-05 1.00000000e-10 CODATA2022 F_hyperfine_Cs-133 hyperfine transition frequency of Cs-133 9.19263177e+09 1 / s 0.00000000e+00 CODATA2022 aSi_220_ideal lattice spacing of ideal Si (220) 1.92015572e-08 cm 3.20000000e-16 CODATA2022 -eta luminous efficacy 6.83000000e-05 s3 rad2 cd / (g cm2) 0.00000000e+00 CODATA2022 +eta luminous efficacy 6.83000000e-05 s3 rad2 cd/(g cm2) 0.00000000e+00 CODATA2022 rg_n_MHz_T neutron gyromag. ratio in MHz/T 2.91646931e+01 MHz T^-1 6.90000000e-06 CODATA2022 mN_amu_rel neutron relative atomic mass 1.00866492e+00 4.90000000e-10 CODATA2022 mu_N_invm nuclear magneton in inverse meter per tesla 2.54262341e-02 m^-1 T^-1 7.80000000e-12 CODATA2022 diff --git a/assets/const/format.sh b/assets/const/format.sh new file mode 100755 index 0000000..7e53731 --- /dev/null +++ b/assets/const/format.sh @@ -0,0 +1,10 @@ +#!/bin/sh +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi +input_file="$1" +output_file="$2" +printf 'const char embeddedConstants[] = R"(' > "$output_file" +cat "$input_file" >> "$output_file" +printf ')";\n' >> "$output_file" diff --git a/assets/const/meson.build b/assets/const/meson.build new file mode 100644 index 0000000..583fb32 --- /dev/null +++ b/assets/const/meson.build @@ -0,0 +1,17 @@ +data_file = files('const.dat') +command_file = files('format.sh') +output_file = meson.current_build_dir() + '/embedded_constants.h' + +embedded_constants_h = custom_target('embed_constants', + input: data_file, + output: 'embedded_constants.h', + command: ['sh', '-c', command_file[0].full_path()+' @INPUT@ ' + output_file, '@INPUT@', '@OUTPUT@'] +) + +# Ensure the generated header is included +const_data_header = include_directories('.') + +const_data_dep = declare_dependency( + include_directories: const_data_header, + sources: embedded_constants_h +) \ No newline at end of file diff --git a/assets/mesh/sphere.msh b/assets/mesh/sphere.msh new file mode 100644 index 0000000000000000000000000000000000000000..416c655ee2b9cd106d956e1d466e6f27ab12367b GIT binary patch literal 34259 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 L2e1GBue<&aH!g3X literal 0 HcmV?d00001