feat(cosmobiologia): rectificador automático — UI de entrada y disparo
Segundo incremento: el rectificador ya es usable de punta a punta desde el panel, sin infraestructura de UI nueva. - cosmobiologia-panel: Control::TextInput pasa a renderizarse desde string_state — deja de ser un display estático y se vuelve un campo de sólo-lectura que el shell escribe vía set_string (resultados, etiquetas). - cosmobiologia-modules: el módulo primary_directions gana 3 sliders «Evento N · edad» (0 = ranura sin usar), un Action «Rectificar hora» y un TextInput «Resultado». - shell: run_rectificacion lee las edades de los sliders, llama a engine::rectificar (ventana ±15 min, paso 1) y escribe la hora rectificada + el puntaje en el campo Resultado del panel. El rectificador queda funcional: activar GR → fijar edades de eventos → «Rectificar hora» → leer el resultado. Falta sólo la curva del perfil del barrido como visualización (incremento opcional). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -947,6 +947,43 @@ pub mod primary_directions {
|
||||
},
|
||||
],
|
||||
},
|
||||
// --- Rectificador automático ---
|
||||
// Tres edades de eventos conocidos de la vida del
|
||||
// sujeto; `0` = ranura sin usar. El barrido GR busca la
|
||||
// hora de nacimiento que mejor las explica.
|
||||
Control::Slider {
|
||||
key: "evento_1".into(),
|
||||
label: "Evento 1 · edad".into(),
|
||||
min: 0.0,
|
||||
max: 90.0,
|
||||
step: 1.0,
|
||||
default: 0.0,
|
||||
},
|
||||
Control::Slider {
|
||||
key: "evento_2".into(),
|
||||
label: "Evento 2 · edad".into(),
|
||||
min: 0.0,
|
||||
max: 90.0,
|
||||
step: 1.0,
|
||||
default: 0.0,
|
||||
},
|
||||
Control::Slider {
|
||||
key: "evento_3".into(),
|
||||
label: "Evento 3 · edad".into(),
|
||||
min: 0.0,
|
||||
max: 90.0,
|
||||
step: 1.0,
|
||||
default: 0.0,
|
||||
},
|
||||
Control::Action {
|
||||
key: "rectificar".into(),
|
||||
label: "Rectificar hora".into(),
|
||||
},
|
||||
Control::TextInput {
|
||||
key: "resultado".into(),
|
||||
label: "Resultado".into(),
|
||||
default: "—".into(),
|
||||
},
|
||||
]
|
||||
}
|
||||
fn compute_layers(&self, _chart: &Chart, _cfg: &serde_json::Value) -> Vec<Layer> {
|
||||
|
||||
Reference in New Issue
Block a user