|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
Namespaces | |
| namespace | anonymous_namespace{luau_package.cpp} |
| namespace | anonymous_namespace{luau_sandbox.cpp} |
| namespace | anonymous_namespace{luau_type_check.cpp} |
| namespace | anonymous_namespace{reaction_hot_reload.cpp} |
| namespace | anonymous_namespace{reaction_package.cpp} |
| namespace | anonymous_namespace{reaction_table_loader.cpp} |
| namespace | anonymous_namespace{script_value.cpp} |
Classes | |
| struct | PackageSource |
| struct | PackageLoadOptions |
| struct | PackageRejection |
| struct | TableOverride |
| struct | TableEntry |
| struct | PackageSetResult |
| struct | SandboxLimits |
| struct | ScriptError |
| struct | ModuleFile |
| struct | RunOptions |
| struct | RunResult |
| class | LuauSandbox |
| struct | TypeDiagnostic |
| class | LuauTypeChecker |
| struct | HotReloadResult |
| class | ReactionTableHotReload |
| struct | DecimalNumber |
| struct | ReactionTableSource |
| struct | LoadedReactionTable |
| struct | ScriptValue |
| struct | ScriptField |
Typedefs | |
| using | HostFunction = int (*)(lua_State* state) |
| using | ModuleResolver = std::function<std::expected<ModuleFile, std::string>(std::string_view name)> |
Enumerations | |
| enum class | MergeMode : uint8_t { AddOnly , OverrideMarked , Override } |
| enum class | ScriptErrorKind : uint8_t { Compile , Runtime , SafepointLimit , Memory , Usage } |
| enum class | HotReloadState : uint8_t { Unchanged , Waiting , Reloaded , Failed } |
Functions | |
| bool | IsValidPackageName (std::string_view name) |
| std::expected< std::string, std::string > | PackageModulePath (std::string_view name) |
| std::expected< PackageSource, std::string > | ReadPackageFolder (const fs::path &folder) |
| std::expected< std::vector< PackageSource >, std::string > | ReadPackageRoot (const fs::path &root) |
| std::expected< PackageSetResult, std::string > | LoadPackages (LuauSandbox &sandbox, std::span< const PackageSource > packages, const PackageLoadOptions &options) |
| std::string | TableBytes (const PackageSetResult &result) |
| uint64_t | TableVersion (const PackageSetResult &result) |
| std::string | FormatDiagnostic (const TypeDiagnostic &diagnostic) |
| std::string | SummarizeDiagnostics (const std::vector< TypeDiagnostic > &diagnostics, size_t maxShown) |
| fs::path | DefaultTypeDefinitionsPath () |
| std::expected< std::unique_ptr< LuauTypeChecker >, std::string > | CreateTypeCheckerFromFile (const fs::path &definitionsFile) |
| uint64_t | DirectoryFingerprint (const fs::path &root) |
| std::expected< void, std::string > | CheckHotReloadCompatible (const sim::BakedReactionTable ¤t, const sim::BakedReactionTable &next) |
| std::expected< DecimalNumber, std::string > | ParseDecimal (std::string_view text) |
| std::expected< ReactionTableDefinition, std::string > | ReadReactionTableDefinition (const PackageSetResult &packages) |
| fs::path | DefaultPackageRoot () |
| std::expected< LoadedReactionTable, std::string > | LoadReactionTable (const ReactionTableSource &source) |
| bool | KeyLess (const ScriptValue &left, const ScriptValue &right) |
| void | AppendCanonicalString (std::string_view text, std::string &out) |
| void | AppendCanonicalBytes (const ScriptValue &value, std::string &out) |
| uint64_t | HashBytes (std::string_view bytes) |
| std::string | ToDebugText (const ScriptValue &value) |
Variables | |
| constexpr int64_t | PACKAGE_FORMAT_VERSION = 1 |
| constexpr std::string_view | MANIFEST_TYPE_NAME = "PackageManifest" |
| constexpr std::string_view | ENTRY_TYPE_NAME = "PackageEntry" |
| constexpr std::string_view | REACTION_ELEMENTS_CATEGORY = "elements" |
| constexpr std::string_view | REACTION_SPECIES_CATEGORY = "species" |
| constexpr std::string_view | REACTION_RULES_CATEGORY = "reactions" |
| constexpr std::string_view | DEFAULT_BASE_PACKAGE = "combustion_test" |
| using bicameral::script::HostFunction = int (*)(lua_State* state) |
Definition at line 31 of file luau_sandbox.h.
| using bicameral::script::ModuleResolver = std::function<std::expected<ModuleFile, std::string>(std::string_view name)> |
Definition at line 66 of file luau_sandbox.h.
|
strong |
| Enumerator | |
|---|---|
| Unchanged | |
| Waiting | |
| Reloaded | |
| Failed | |
Definition at line 32 of file reaction_hot_reload.h.
|
strong |
| Enumerator | |
|---|---|
| AddOnly | |
| OverrideMarked | |
| Override | |
Definition at line 40 of file luau_package.h.
|
strong |
| Enumerator | |
|---|---|
| Compile | |
| Runtime | |
| SafepointLimit | |
| Memory | |
| Usage | |
Definition at line 46 of file luau_sandbox.h.
| void bicameral::script::AppendCanonicalBytes | ( | const ScriptValue & | value, |
| std::string & | out ) |
Definition at line 89 of file script_value.cpp.
References AppendCanonicalBytes(), AppendCanonicalString(), bicameral::script::ScriptValue::Boolean, bicameral::script::ScriptValue::boolean, bicameral::script::ScriptValue::fields, bicameral::script::ScriptField::key, bicameral::script::ScriptValue::kind, bicameral::script::ScriptValue::Nil, bicameral::script::ScriptValue::Number, bicameral::script::ScriptValue::number, bicameral::script::ScriptValue::String, bicameral::script::ScriptValue::Table, bicameral::script::ScriptValue::text, and bicameral::script::ScriptField::value.
Referenced by AppendCanonicalBytes(), and TableBytes().
| void bicameral::script::AppendCanonicalString | ( | std::string_view | text, |
| std::string & | out ) |
Definition at line 84 of file script_value.cpp.
Referenced by AppendCanonicalBytes(), and TableBytes().
|
nodiscard |
Definition at line 92 of file reaction_hot_reload.cpp.
References bicameral::sim::BakedReactionTable::elementNames, bicameral::sim::BakedReactionTable::speciesElements, and bicameral::sim::BakedReactionTable::speciesNames.
Referenced by bicameral::script::ReactionTableHotReload::Reload().
|
nodiscard |
Definition at line 555 of file luau_type_check.cpp.
References bicameral::script::LuauTypeChecker::Create().
Referenced by bicameral::script::anonymous_namespace{reaction_table_loader.cpp}::LoadPackageSet().
|
nodiscard |
Definition at line 61 of file reaction_table_loader.cpp.
References bicameral::ExecutableDirectory().
Referenced by bicameral::script::ReactionTableHotReload::Fingerprint(), and LoadReactionTable().
|
nodiscard |
Definition at line 551 of file luau_type_check.cpp.
References bicameral::ExecutableDirectory().
Referenced by bicameral::script::ReactionTableHotReload::Fingerprint(), and bicameral::script::anonymous_namespace{reaction_table_loader.cpp}::LoadPackageSet().
|
nodiscard |
Definition at line 62 of file reaction_hot_reload.cpp.
Referenced by bicameral::script::ReactionTableHotReload::Fingerprint().
|
nodiscard |
Definition at line 530 of file luau_type_check.cpp.
References bicameral::script::TypeDiagnostic::column, bicameral::script::TypeDiagnostic::file, bicameral::script::TypeDiagnostic::kind, bicameral::script::TypeDiagnostic::line, and bicameral::script::TypeDiagnostic::message.
Referenced by SummarizeDiagnostics().
|
nodiscard |
Definition at line 107 of file script_value.cpp.
Referenced by TableVersion().
|
nodiscard |
Definition at line 361 of file luau_package.cpp.
Referenced by LoadPackages(), bicameral::script::anonymous_namespace{luau_package.cpp}::ModulePath(), bicameral::script::anonymous_namespace{luau_package.cpp}::ReadContribution(), and bicameral::script::anonymous_namespace{luau_package.cpp}::ReadNameList().
|
nodiscard |
Definition at line 73 of file script_value.cpp.
References bicameral::script::ScriptValue::kind, bicameral::script::ScriptValue::Number, bicameral::script::ScriptValue::number, and bicameral::script::ScriptValue::text.
Referenced by bicameral::script::ScriptValue::MakeTable().
|
nodiscard |
Definition at line 433 of file luau_package.cpp.
References bicameral::script::LuauTypeChecker::CheckManifest(), bicameral::script::LuauSandbox::IsSealed(), IsValidPackageName(), bicameral::script::PackageSetResult::loadOrder, bicameral::script::PackageSetResult::rejected, and bicameral::script::PackageLoadOptions::typeChecker.
Referenced by bicameral::script::anonymous_namespace{reaction_table_loader.cpp}::LoadPackageSet().
|
nodiscard |
Definition at line 65 of file reaction_table_loader.cpp.
References bicameral::sim::BakeReactionTable(), bicameral::script::ReactionTableSource::basePackage, DefaultPackageRoot(), bicameral::script::ReactionTableSource::packageRoot, ReadPackageRoot(), ReadReactionTableDefinition(), and TableVersion().
Referenced by bicameral::frame::anonymous_namespace{frame_loop.cpp}::LoadWorldReactionTable(), and bicameral::script::ReactionTableHotReload::Reload().
|
nodiscard |
Definition at line 373 of file luau_package.cpp.
Referenced by bicameral::script::LuauTypeChecker::CheckPackage(), and bicameral::script::anonymous_namespace{luau_type_check.cpp}::PackageFileResolver::resolveModule().
|
nodiscard |
Definition at line 383 of file reaction_package.cpp.
Referenced by bicameral::script::anonymous_namespace{reaction_package.cpp}::ReadPreExponential().
|
nodiscard |
Definition at line 377 of file luau_package.cpp.
References bicameral::script::PackageSource::files, and bicameral::script::PackageSource::name.
|
nodiscard |
Definition at line 405 of file luau_package.cpp.
Referenced by LoadReactionTable().
|
nodiscard |
Definition at line 421 of file reaction_package.cpp.
References bicameral::script::anonymous_namespace{reaction_package.cpp}::ReactionTableDefinition::elements, REACTION_ELEMENTS_CATEGORY, REACTION_RULES_CATEGORY, REACTION_SPECIES_CATEGORY, bicameral::script::anonymous_namespace{reaction_package.cpp}::ReactionTableDefinition::rules, and bicameral::script::anonymous_namespace{reaction_package.cpp}::ReactionTableDefinition::species.
Referenced by LoadReactionTable().
|
nodiscard |
Definition at line 535 of file luau_type_check.cpp.
References FormatDiagnostic().
Referenced by bicameral::script::anonymous_namespace{luau_package.cpp}::TypeCheckReason().
|
nodiscard |
Definition at line 491 of file luau_package.cpp.
References AppendCanonicalBytes(), AppendCanonicalString(), PACKAGE_FORMAT_VERSION, and bicameral::script::PackageSetResult::tables.
Referenced by TableVersion().
|
nodiscard |
Definition at line 508 of file luau_package.cpp.
References HashBytes(), and TableBytes().
Referenced by LoadReactionTable().
|
nodiscard |
Definition at line 122 of file script_value.cpp.
References bicameral::script::ScriptValue::Boolean, bicameral::script::ScriptValue::boolean, bicameral::script::ScriptValue::fields, bicameral::script::ScriptValue::kind, bicameral::script::ScriptValue::Nil, bicameral::script::ScriptValue::Number, bicameral::script::ScriptValue::number, bicameral::script::ScriptValue::String, bicameral::script::ScriptValue::Table, bicameral::script::ScriptValue::text, and ToDebugText().
Referenced by bicameral::script::anonymous_namespace{reaction_package.cpp}::CheckFields(), bicameral::script::anonymous_namespace{luau_package.cpp}::ParseManifest(), bicameral::script::anonymous_namespace{luau_package.cpp}::ReadContribution(), bicameral::script::anonymous_namespace{reaction_package.cpp}::ReadOrders(), and ToDebugText().
|
constexpr |
Definition at line 25 of file reaction_table_loader.h.
|
constexpr |
Definition at line 28 of file luau_type_check.h.
Referenced by bicameral::script::LuauTypeChecker::CheckPackage(), and bicameral::script::LuauTypeChecker::Create().
|
constexpr |
Definition at line 27 of file luau_type_check.h.
Referenced by bicameral::script::LuauTypeChecker::CheckManifest(), and bicameral::script::LuauTypeChecker::Create().
|
constexpr |
Definition at line 31 of file luau_package.h.
Referenced by bicameral::script::anonymous_namespace{luau_package.cpp}::ParseManifest(), and TableBytes().
|
constexpr |
Definition at line 33 of file reaction_package.h.
Referenced by ReadReactionTableDefinition().
|
constexpr |
Definition at line 35 of file reaction_package.h.
Referenced by ReadReactionTableDefinition().
|
constexpr |
Definition at line 34 of file reaction_package.h.
Referenced by ReadReactionTableDefinition().