mirror of
https://github.com/SHOGGOTH-SECTOR/sica-fondt.git
synced 2026-07-31 08:06:26 +00:00
Update endocrine_array.R
This commit is contained in:
parent
bc51b7fb2c
commit
706049e353
@ -1,6 +1,6 @@
|
|||||||
# --- The Endocrine Array ---
|
# --- The Endocrine Array ---
|
||||||
# A standalone 30-channel affective vector field.
|
# A standalone 30-channel affective vector field.
|
||||||
# PS+ calls into this module to read state, compute friction, and aggregate load.
|
# PS+ calls into this module to read state, parse sensation, and guide affect
|
||||||
# Each channel carries two registers: operational (what it does) and sensational (what it feels like).
|
# Each channel carries two registers: operational (what it does) and sensational (what it feels like).
|
||||||
|
|
||||||
# Channel Definitions (20 named + 10 reserved)
|
# Channel Definitions (20 named + 10 reserved)
|
||||||
@ -37,16 +37,6 @@ ENDOCRINE_CHANNELS <- list(
|
|||||||
list(id = "reserved_30", operational = "undefined", sensational = "undefined")
|
list(id = "reserved_30", operational = "undefined", sensational = "undefined")
|
||||||
)
|
)
|
||||||
|
|
||||||
# Contradictory Pairs
|
|
||||||
# These define which channels, when simultaneously active, generate disproportionate friction/heat.
|
|
||||||
CONTRADICTORY_PAIRS <- list(
|
|
||||||
c("panic", "clarity"), # Acute narrowing vs resolvable distinction
|
|
||||||
c("curiosity", "constraint"), # Movement toward unknown vs limitation of motion
|
|
||||||
c("bonding", "numbing"), # Persistence of nearness vs reduction of penetration
|
|
||||||
c("sympathy", "numbing"), # Felt response vs reduction of penetration
|
|
||||||
c("vigilance", "repair"), # Sustained alertness vs restoration after rupture
|
|
||||||
c("hiraeth", "continuity") # Longing for home vs persistence across change
|
|
||||||
)
|
|
||||||
|
|
||||||
# Initialize a fresh endocrine state
|
# Initialize a fresh endocrine state
|
||||||
init_endocrine_state <- function() {
|
init_endocrine_state <- function() {
|
||||||
@ -55,14 +45,6 @@ init_endocrine_state <- function() {
|
|||||||
return(list(channels = channels))
|
return(list(channels = channels))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set a specific channel's magnitude (clamped to [0.0, 1.0])
|
|
||||||
set_vector <- function(endo_state, name, magnitude) {
|
|
||||||
if (name %in% names(endo_state$channels)) {
|
|
||||||
endo_state$channels[[name]] <- max(0.0, min(1.0, magnitude))
|
|
||||||
}
|
|
||||||
return(endo_state)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get all channels with magnitude above activation threshold
|
# Get all channels with magnitude above activation threshold
|
||||||
get_active_vectors <- function(endo_state, threshold = 0.1) {
|
get_active_vectors <- function(endo_state, threshold = 0.1) {
|
||||||
active <- endo_state$channels[endo_state$channels > threshold]
|
active <- endo_state$channels[endo_state$channels > threshold]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user