6#include <nlohmann/json.hpp>
44 return std::make_tuple(
60 return std::make_tuple(
98 return std::make_tuple(
109 std::optional<std::vector<WiringStep>>
steps;
113 return std::make_tuple(
132 return std::make_tuple(
143 return std::make_tuple(
163 glm::vec3
up { 0.0F, 1.0F, 0.0F };
171 return std::make_tuple(
215 return std::make_tuple(
257 return std::make_tuple(
278 return std::make_tuple(
300 return std::make_tuple(
324 return std::make_tuple(
341 return std::make_tuple(
369 return Reflect::string_to_enum_case_insensitive<Fabric::Kind>(s).has_value();
380 return *Reflect::string_to_enum_case_insensitive<Fabric::Kind>(s);
constexpr auto member(std::string_view key, T Class::*ptr)
constexpr auto opt_member(std::string_view key, std::optional< T > Class::*ptr)
constexpr uint32_t k_schema_version
Current schema version written by StateEncoder and accepted by StateDecoder.
bool kind_known(std::string_view s)
Return true if s maps to a known Fabric::Kind token.
Fabric::Kind parse_kind(std::string_view s)
Parse a JSON kind token to Fabric::Kind (case-insensitive).
constexpr uint32_t k_exr_rows
RGBA32F EXR layout constants shared between encoder and decoder.
constexpr uint32_t k_channels
WiringKind
Serializable wiring strategies.
std::string kind_to_string(Fabric::Kind k)
Map Fabric::Kind to its lowercase JSON string token via magic_enum.
std::string enum_to_lowercase_string(EnumType value) noexcept
Universal enum to lowercase string converter using magic_enum.
static constexpr auto describe()
std::optional< LocusNavRecord > locus_nav
static constexpr auto describe()
std::string falloff_curve_name
std::string perception_fn_name
std::optional< float > size
std::optional< glm::vec3 > color
std::string influence_fn_name
std::vector< AudioSinkRecord > audio_sinks
std::string radiate_fn_name
std::optional< float > falloff_radius
std::vector< RenderSinkRecord > render_sinks
std::string on_enter_fn_name
static constexpr auto describe()
std::string on_exit_fn_name
static constexpr auto describe()
Entry in the Tapestry envelope pointing to one Fabric's EXR+JSON pair.
static constexpr auto describe()
std::vector< EntityRecord > entities
std::vector< ExpanseRecord > expanses
static constexpr auto describe()
Serializable subset of Kinesis::NavigationConfig sufficient to seed a Locus on reconstruct.
static constexpr auto describe()
static constexpr auto describe()
static constexpr auto describe()
static constexpr auto describe()
std::string on_enter_fn_name
std::string on_exit_fn_name
std::vector< std::string > fabric_names
Tapestry-level named Expanse record.
std::vector< FabricRef > fabrics
std::vector< TapestryExpanseRecord > expanses
static constexpr auto describe()
nlohmann::json user_state
std::optional< size_t > times
std::optional< double > interval
static constexpr auto describe()
std::optional< std::vector< WiringStep > > steps
std::optional< double > duration
static constexpr auto describe()