j152 (default-off): geometry shapes the tile DRAW (TR_TFIL_GEO_MODE/TAU) + the offline sweep with the diversity cost
The owner: choose the tile pool not only from the heat point but from the geometric position too. Heat stays the hard filter; the draw over the survivors is re-weighted by turn and/or distance. Three weighting forms (soft softmax / top-K third / rejection band), one env name carrying both axes. Default = off = today's uniform draw, byte-for-byte (golden parity). WHAT DIFFERS FROM j9 (TR_TFIL_TURN_BIAS, a live null): that was a tiebreak weight among the non-empty safe set only. This runs on the WHOLE pool the draw already runs on, including the 2 promoted least-hot tiles the ~65% forced picks choose from. OFFLINE (8 fixtures x 3 seeds, no java): headline 'tile actually reached at tta' 4.5% -> 16.9% at TR_TFIL_GEO_MODE=both-soft TR_TFIL_GEO_TAU=45, with no diversity collapse (distinct tiles 220 -> 219, normalised entropy 0.87 -> 0.86, top-tile share 7.0% -> 8.6%). perpE — the perpendicular rate in the FORCED population — does not move in ANY arm: that pool is 2 tiles ranked by heat alone and the only lever is a coin flip. Also registers j150's TR_TFIL_DIAG / TR_TFIL_DANGER_THRESHOLD in env_report + knownEnvNames + .env.example (test_env_report was red) and documents DANGER_THRESHOLD as quantisation-limited: heat comes in 5s, so the effective steps are 10/15/20 and 10-14 admits zero extra tiles. No battle, no server, no A/B run.
This commit is contained in:
@@ -315,6 +315,8 @@ proc printEffectiveValues(ctx: EnvReportContext) =
|
||||
sourceOf("TR_TFIL_CORRIDOR_TICKS"))
|
||||
emit("TR_TFIL_ARRIVE_TICKS", $the_floor_is_lava.TfilArriveTicks,
|
||||
sourceOf("TR_TFIL_ARRIVE_TICKS"))
|
||||
emit("TR_TFIL_HOLD_WHEN_TRAPPED", onOff(the_floor_is_lava.TfilHoldWhenTrapped),
|
||||
sourceOfPresence("TR_TFIL_HOLD_WHEN_TRAPPED"))
|
||||
emit("TR_TFIL_WALL_HOTNESS", $the_floor_is_lava_ring.WallHotness,
|
||||
sourceOf("TR_TFIL_WALL_HOTNESS"))
|
||||
emit("TR_TFIL_WALL_RADIANCE", $the_floor_is_lava.WallRadiance,
|
||||
@@ -333,6 +335,14 @@ proc printEffectiveValues(ctx: EnvReportContext) =
|
||||
emit("TR_TFIL_COMMIT_MARGIN", $TfilCommitMargin,
|
||||
sourceOf("TR_TFIL_COMMIT_MARGIN"))
|
||||
emit("TR_TFIL_NOREV_SPEED", $TfilNoRevSpeed, sourceOf("TR_TFIL_NOREV_SPEED"))
|
||||
emit("TR_TFIL_DANGER_THRESHOLD", $the_floor_is_lava.TfilDangerThreshold,
|
||||
sourceOf("TR_TFIL_DANGER_THRESHOLD"))
|
||||
emit("TR_TFIL_DIAG", onOff(the_floor_is_lava.TfilDiag),
|
||||
sourceOfPresence("TR_TFIL_DIAG"))
|
||||
emit("TR_TFIL_GEO_MODE", $the_floor_is_lava.TfilGeoMode,
|
||||
sourceOf("TR_TFIL_GEO_MODE"))
|
||||
emit("TR_TFIL_GEO_TAU", $the_floor_is_lava.TfilGeoTau,
|
||||
sourceOf("TR_TFIL_GEO_TAU"))
|
||||
emit("TR_TFIL_TURN_BIAS", $TfilTurnBias, sourceOf("TR_TFIL_TURN_BIAS"))
|
||||
emit("TR_TFIL_TURN_REF_DEG", $TfilTurnRefDeg, sourceOf("TR_TFIL_TURN_REF_DEG"))
|
||||
# time-indexed bullet heat (default off = shipped flat model)
|
||||
@@ -652,6 +662,9 @@ proc knownEnvNames*(): seq[string] =
|
||||
"TR_TFIL_RANGE_LO", "TR_TFIL_RANGE_HI", "TR_TFIL_RANGE_TEMP",
|
||||
"TR_TFIL_RANGE_K", "TR_TFIL_CORRIDOR_HEAT", "TR_TFIL_WALL_HOTNESS",
|
||||
"TR_TFIL_CORRIDOR_TICKS", "TR_TFIL_ARRIVE_TICKS",
|
||||
"TR_TFIL_HOLD_WHEN_TRAPPED",
|
||||
"TR_TFIL_DANGER_THRESHOLD", "TR_TFIL_DIAG",
|
||||
"TR_TFIL_GEO_MODE", "TR_TFIL_GEO_TAU",
|
||||
"TR_TFIL_WALL_RADIANCE", "TR_TFIL_BULLET_CORE", "TR_TFIL_BULLET_AURA",
|
||||
"TR_TFIL_TILE_REPLAN", "TR_TFIL_COMMIT_TICKS", "TR_TFIL_NO_REV",
|
||||
"TR_TFIL_COMMIT_LOG", "TR_TFIL_COMMIT_ARRIVAL", "TR_TFIL_COMMIT_MARGIN",
|
||||
|
||||
Reference in New Issue
Block a user