18 lines
873 B
C++
18 lines
873 B
C++
#pragma once
|
|
#include <nlohmann/json_fwd.hpp>
|
|
#include <string_view>
|
|
|
|
namespace faset::runtime {
|
|
// Exact native TypeIds. A prefix alone does not make a custom type native.
|
|
bool is_builtin_component(std::string_view type) noexcept;
|
|
|
|
// Player boundary: require every custom TypeId and its exact positive integer
|
|
// version in the linked gameplay schema. Accepts its array or a {types:[...]}
|
|
// manifest. Native components always require version 1. A missing version means
|
|
// 1 for existing development scenes. Gameplay may not redeclare native TypeIds.
|
|
// Does not migrate or change source data.
|
|
// Structural/native field checks remain Runtime::load's responsibility; this
|
|
// function has no authoring dependency and runs no gameplay callbacks.
|
|
void validate_scene_schemas(const nlohmann::json& scene, const nlohmann::json& gameplay_schema);
|
|
} // namespace faset::runtime
|