From e218ed8e89c9980e2c55ea5928de3ab0911bd6f5 Mon Sep 17 00:00:00 2001 From: "oscillatory.net" Date: Wed, 3 Jun 2026 19:31:16 -0500 Subject: [PATCH] Rename globalForceMort -> forceGain --- docs/v0_normalization.md | 2 +- src/engine/Engine.ts | 2 +- src/engine/golden.ts | 2 +- src/engine/params.ts | 4 ++-- src/engine/shaders/particle_update.frag | 6 +++--- src/evolution/morph.ts | 2 +- src/persistence/record.ts | 2 +- src/state/breeder.svelte.ts | 4 ++-- src/state/generation.svelte.ts | 2 +- src/state/organism.svelte.ts | 2 +- src/state/substrate.svelte.ts | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/v0_normalization.md b/docs/v0_normalization.md index 2241b4c..da3f5cc 100644 --- a/docs/v0_normalization.md +++ b/docs/v0_normalization.md @@ -130,7 +130,7 @@ All others are fixed constants in v0 (see §1) or dropped (§6). parent?: AtUri, // lineage // substrate (v0 = the 10 dynamics params only): params: { - sensorGain, sensorAngle, sensorDistance, globalForceMult, drag, + sensorGain, sensorAngle, sensorDistance, forceGain, drag, strafePower, axialForce, lateralForce, trailPersistence, trailDiffusion }, // reproducibility pins: diff --git a/src/engine/Engine.ts b/src/engine/Engine.ts index 9e87195..08a4b94 100644 --- a/src/engine/Engine.ts +++ b/src/engine/Engine.ts @@ -420,7 +420,7 @@ export class Engine { gl.uniform1f(pp.loc("uSensorGain"), p.sensorGain); gl.uniform1f(pp.loc("uSensorAngle"), p.sensorAngle); gl.uniform1f(pp.loc("uSensorDistance"), p.sensorDistance); - gl.uniform1f(pp.loc("uGlobalForceMult"), p.globalForceMult); + gl.uniform1f(pp.loc("uForceGain"), p.forceGain); gl.uniform1f(pp.loc("uDrag"), p.drag); gl.uniform1f(pp.loc("uStrafePower"), p.strafePower); gl.uniform1f(pp.loc("uAxialForce"), p.axialForce); diff --git a/src/engine/golden.ts b/src/engine/golden.ts index b5bc3ff..bd34697 100644 --- a/src/engine/golden.ts +++ b/src/engine/golden.ts @@ -15,7 +15,7 @@ export const WILD7_PARAMS: SubstrateParams = { sensorGain: Wild7.physics.sensor_gain, sensorAngle: Wild7.physics.sensor_angle, sensorDistance: Wild7.physics.sensor_distance, - globalForceMult: Wild7.physics.global_force_mult, + forceGain: Wild7.physics.global_force_mult, // golden JSON keeps the desktop key `global_force_mult` drag: Wild7.physics.drag, strafePower: Wild7.physics.strafe_power, axialForce: Wild7.physics.axial_force, diff --git a/src/engine/params.ts b/src/engine/params.ts index 2d9bd03..198e7e6 100644 --- a/src/engine/params.ts +++ b/src/engine/params.ts @@ -5,7 +5,7 @@ export interface SubstrateParams { sensorGain: number; sensorAngle: number; sensorDistance: number; - globalForceMult: number; + forceGain: number; drag: number; strafePower: number; axialForce: number; @@ -19,7 +19,7 @@ export const V0_PARAM_KEYS: readonly (keyof SubstrateParams)[] = [ "sensorGain", "sensorAngle", "sensorDistance", - "globalForceMult", + "forceGain", "drag", "strafePower", "axialForce", diff --git a/src/engine/shaders/particle_update.frag b/src/engine/shaders/particle_update.frag index 0a2e159..d4c88a0 100644 --- a/src/engine/shaders/particle_update.frag +++ b/src/engine/shaders/particle_update.frag @@ -16,7 +16,7 @@ uniform vec4 uRule[61]; uniform float uSensorGain; uniform float uSensorAngle; uniform float uSensorDistance; -uniform float uGlobalForceMult; +uniform float uForceGain; uniform float uDrag; uniform float uStrafePower; uniform float uAxialForce; @@ -95,8 +95,8 @@ void main() { // back to world, gated by axial/lateral vec2 force = forward * forceB.x * uAxialForce + left * forceB.y * uLateralForce; vec2 strafe = forward * strafeB.x * uAxialForce + left * strafeB.y * uLateralForce; - force *= uGlobalForceMult / 400.0; - strafe *= uGlobalForceMult / 20.0; + force *= uForceGain / 400.0; + strafe *= uForceGain / 20.0; // integrate: force is 2nd-order (into velocity), strafe is 1st-order (into position) vel = vel * uDrag + force; diff --git a/src/evolution/morph.ts b/src/evolution/morph.ts index 3dd9c9e..c9d2e80 100644 --- a/src/evolution/morph.ts +++ b/src/evolution/morph.ts @@ -26,7 +26,7 @@ export const MORPH_PARAMS = [ { key: "sensorGain", label: "Sensor Gain", min: 0, max: 10, sigma: 0.25 }, { key: "sensorAngle", label: "Sensor Angle", min: -1, max: 1, sigma: 0.08 }, { key: "sensorDistance", label: "Sensor Distance", min: 0, max: 3, sigma: 0.15 }, - { key: "globalForceMult", label: "Global Force Mult", min: 0, max: 2, sigma: 0.05 }, + { key: "forceGain", label: "Force Gain", min: 0, max: 2, sigma: 0.05 }, { key: "strafePower", label: "Strafe Power", min: 0, max: 0.5, sigma: 0.02 }, { key: "axialForce", label: "Axial Force", min: -1, max: 1, sigma: 0.05 }, { key: "lateralForce", label: "Lateral Force", min: -1, max: 1, sigma: 0.05 }, diff --git a/src/persistence/record.ts b/src/persistence/record.ts index 6dcd430..c426de6 100644 --- a/src/persistence/record.ts +++ b/src/persistence/record.ts @@ -30,7 +30,7 @@ export interface Morphology { strafePower: number; axialForce: number; lateralForce: number; - globalForceMult: number; + forceGain: number; // overall force gain (renamed from globalForceMult; desktop `global_force_mult`) depositGain: number; // pheromone strength — affects DYNAMICS (in the field feedback loop) dragCoefficient: number; // default 1.0; the agent half of Stokes drag (medium half is environment.drag) } diff --git a/src/state/breeder.svelte.ts b/src/state/breeder.svelte.ts index b2c280d..f542f62 100644 --- a/src/state/breeder.svelte.ts +++ b/src/state/breeder.svelte.ts @@ -96,7 +96,7 @@ function morphologyNow(): Morphology { strafePower: organism.strafePower, axialForce: organism.axialForce, lateralForce: organism.lateralForce, - globalForceMult: organism.globalForceMult, + forceGain: organism.forceGain, depositGain: organism.depositGain, dragCoefficient: 1.0, // not a live knob yet; default keeps effective drag == environment.drag }; @@ -372,7 +372,7 @@ function applyRecord(r: OrganismRecord): void { strafePower: m.strafePower, axialForce: m.axialForce, lateralForce: m.lateralForce, - globalForceMult: m.globalForceMult, + forceGain: m.forceGain, depositGain: m.depositGain, }); Object.assign(environment, { diff --git a/src/state/generation.svelte.ts b/src/state/generation.svelte.ts index 4eeb05e..03973a2 100644 --- a/src/state/generation.svelte.ts +++ b/src/state/generation.svelte.ts @@ -52,7 +52,7 @@ function paramsFrom(m: Morph): SubstrateParams { sensorGain: m.sensorGain, sensorAngle: m.sensorAngle, sensorDistance: m.sensorDistance, - globalForceMult: m.globalForceMult, + forceGain: m.forceGain, strafePower: m.strafePower, axialForce: m.axialForce, lateralForce: m.lateralForce, diff --git a/src/state/organism.svelte.ts b/src/state/organism.svelte.ts index 9df061a..66b4fc2 100644 --- a/src/state/organism.svelte.ts +++ b/src/state/organism.svelte.ts @@ -12,7 +12,7 @@ export const ORGANISM_DEFAULTS = { sensorGain: WILD7_PARAMS.sensorGain, sensorAngle: WILD7_PARAMS.sensorAngle, sensorDistance: WILD7_PARAMS.sensorDistance, - globalForceMult: WILD7_PARAMS.globalForceMult, + forceGain: WILD7_PARAMS.forceGain, strafePower: WILD7_PARAMS.strafePower, axialForce: WILD7_PARAMS.axialForce, lateralForce: WILD7_PARAMS.lateralForce, diff --git a/src/state/substrate.svelte.ts b/src/state/substrate.svelte.ts index 9ccbe0b..8929439 100644 --- a/src/state/substrate.svelte.ts +++ b/src/state/substrate.svelte.ts @@ -11,7 +11,7 @@ export function substrateParams(): SubstrateParams { sensorGain: organism.sensorGain, sensorAngle: organism.sensorAngle, sensorDistance: organism.sensorDistance, - globalForceMult: organism.globalForceMult, + forceGain: organism.forceGain, drag: environment.drag, strafePower: organism.strafePower, axialForce: organism.axialForce, -- 2.51.2