5#ifndef OAKFIELD_SIM_WORLD_H
6#define OAKFIELD_SIM_WORLD_H
18#ifndef SIM_WORLD_DEFAULT_Q
19#define SIM_WORLD_DEFAULT_Q 1.0f
22#ifndef SIM_WORLD_DEFAULT_K
23#define SIM_WORLD_DEFAULT_K 20U
26#ifndef SIM_WORLD_DEFAULT_EPSILON
27#define SIM_WORLD_DEFAULT_EPSILON 0.5f
30#ifndef SIM_WORLD_DEFAULT_SIEVE_SIGMA
31#define SIM_WORLD_DEFAULT_SIEVE_SIGMA 0.1f
Multidimensional contiguous field abstraction with configurable layout.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Operator abstraction, registry, and dependency resolution for libsimcore.
void sim_world_reset_fields(SimWorld *world)
Reset owned field storage and release buffers.
SimResult sim_world_init(SimWorld *world, const SimUniverseSpec *universe_spec)
Initialize world container and copy universe specification.
SimResult sim_world_reserve_fields(SimWorld *world, size_t additional)
Ensure field storage can accommodate additional entries.
bool sim_world_field_continuity_override(const SimWorld *world, size_t field_index, SimOperatorConfig *out_config)
Query the active continuity override for a field, if present.
SimResult sim_world_set_field_continuity_override(SimWorld *world, size_t field_index, bool enabled, const SimOperatorConfig *config)
Assign or clear a per-field continuity override.
void sim_world_destroy(SimWorld *world)
Destroy world container resources.
Static world container holding fields, registry, and universe spec.
Definition sim_world.h:76
bool enabled
Definition sim_world.h:77
SimOperatorConfig config
Definition sim_world.h:78
Owning multidimensional field.
Definition field.h:157
Operator runtime configuration shared between descriptors and instances.
Definition operator.h:307
Operator registry storing owned operator instances.
Definition operator.h:449
Operator instance stored by the registry.
Definition operator.h:344
Options controlling synthesized pole fields.
Definition sim_world.h:48
double softening
Definition sim_world.h:54
double plane_z
Definition sim_world.h:53
double origin_x
Definition sim_world.h:49
double origin_y
Definition sim_world.h:50
double spacing_x
Definition sim_world.h:51
double spacing_y
Definition sim_world.h:52
Pole singularity specification for universe geometry.
Definition sim_world.h:39
double z
Definition sim_world.h:40
const char * type
Definition sim_world.h:42
double residue
Definition sim_world.h:41
Universe/experiment specification defining mathematical structure.
Definition sim_world.h:62
size_t K
Definition sim_world.h:67
double sieve_sigma
Definition sim_world.h:70
double epsilon
Definition sim_world.h:68
SimPole * poles
Definition sim_world.h:63
size_t pole_count
Definition sim_world.h:64
double q
Definition sim_world.h:66
Mutable world container that owns fields, operators, and universe data.
Definition sim_world.h:84
size_t field_count
Definition sim_world.h:86
SimOperatorRegistry operators
Definition sim_world.h:89
SimFieldContinuityOverride * field_continuity
Definition sim_world.h:88
SimField * fields
Definition sim_world.h:85
size_t field_capacity
Definition sim_world.h:87
SimUniverseSpec universe
Definition sim_world.h:90