Prioritize meaningful alerts and enable accepted stop presentation in normal replay

This commit is contained in:
firestar5683
2026-09-19 20:45:05 -07:00
parent a653ed1c33
commit 84a3887a34
3 changed files with 15 additions and 7 deletions
+11 -3
View File
@@ -131,7 +131,7 @@ if shaker_enabled or apex_enabled or alert_enabled:
shaker_grid,shaker_analysis=assess_grid(source,rate,profile_tempo_prior(profile_manifest))
rhythm_timeline=RhythmTimeline(rate,profile_tempo_prior(profile_manifest));rhythm_timeline.add(source,0)
shaker_grid=rhythm_timeline.at(0)
shaker=SignalShaker(shaker_grid,rate,enabled=shaker_enabled)
shaker=SignalShaker(shaker_grid,rate,enabled=shaker_enabled,peak=config.get('signal_shaker',{}).get('peak',.012))
apex=CoreApex(shaker_grid,rate,enabled=apex_enabled,dip_db=config.get('core_apex',{}).get('dip_db',-1.))
alert_accent=AlertAccent(shaker_grid,rate,enabled=alert_enabled)
(run/'shaker_grid.json').write_text(json.dumps({'grid':shaker.snapshot(),'analysis':shaker_analysis},indent=2))
@@ -210,12 +210,20 @@ def callback(out,n,ti,status):
if shaker is not None:shaker.set_grid(audible_grid,frames-n)
if apex is not None:apex.grid=audible_grid
if alert_accent is not None:alert_accent.grid=audible_grid
if shaker is not None:rendered=shaker.process(rendered,frames-n,signal_on,signal_fresh)
if apex is not None:rendered=apex.process(rendered,frames-n,event_state)
alert_priority=False
if alert_accent is not None:
alert_key,meaningful=alert_state
competing=bool((shaker is not None and shaker.active) or (apex is not None and apex.rendered_active) or (presentation is not None and abs(presentation.mix-float(active))>.01))
rendered=alert_accent.process(rendered,frames-n,alert_key,meaningful,fresh,competing)
alert_priority=alert_accent.priority_active
if shaker is not None:
shaken=shaker.process(rendered,frames-n,signal_on,signal_fresh)
if alert_priority:shaker.rendered_active=False;shaker.rendered_peak=0.
else:rendered=shaken
if apex is not None:
accented=apex.process(rendered,frames-n,event_state)
if alert_priority:apex.rendered_active=False
else:rendered=accented
if motion is not None:
_,motion_fresh=engagement_active(motion_state[1],True,motion_state[2],motion_state[4],motion_state[3],callback_wall)
rendered=motion.process(rendered,speed=motion_state[0],source_fresh=motion_fresh)
+2 -2
View File
@@ -12,7 +12,7 @@ CONSERVATIVE = {
CONSERVATIVE_V2 = {**copy.deepcopy(CONSERVATIVE), 'presentation_policy_version':'conservative-v2', 'alert_accent':{'enabled':True}, 'core_apex':{'enabled':True,'dip_db':-3.}}
CONSERVATIVE_V3 = {**copy.deepcopy(CONSERVATIVE_V2), 'presentation_policy_version':'conservative-v3', 'stopped_motion':{'enabled':True}}
CONSERVATIVE_V3 = {**copy.deepcopy(CONSERVATIVE_V2), 'presentation_policy_version':'conservative-v3', 'stopped_motion':{'enabled':True}, 'signal_shaker':{'enabled':True,'peak':.018}}
def select_launch(composer, profile, replay=False, judging=False, render_mode=None, policy=None):
if policy is not None and policy not in POLICIES:raise ValueError('Unknown presentation policy')
@@ -29,7 +29,7 @@ def select_launch(composer, profile, replay=False, judging=False, render_mode=No
return {'render_mode':'current','policy':'frozen'}
normal_prism=composer=='ace' and profile=='prism'
mode=render_mode or ('gold-core' if normal_prism else 'current')
chosen=policy or ('conservative-v2' if normal_prism and mode=='gold-core' else 'off')
chosen=policy or ('conservative-v3' if normal_prism and mode=='gold-core' else 'off')
if chosen in ('conservative-v1','conservative-v2','conservative-v3') and (composer!='ace' or mode!='gold-core'):
raise ValueError('Conservative presentation requires ACE gold-core rendering')
return {'render_mode':mode,'policy':chosen}
@@ -7,7 +7,7 @@ class PolicyTests(unittest.TestCase):
fragment=Path(__file__).resolve().parents[1]/'tools/presentation_conservative_v1.json'
self.assertEqual(json.loads(fragment.read_text()),CONSERVATIVE)
def test_normal_prism_gets_integrated_policy_without_extra_flags(self):
self.assertEqual(select_launch('ace','prism'),{'render_mode':'gold-core','policy':'conservative-v2'})
self.assertEqual(select_launch('ace','prism'),{'render_mode':'gold-core','policy':'conservative-v3'})
def test_explicit_optouts(self):
self.assertEqual(select_launch('ace','prism',policy='off'),{'render_mode':'gold-core','policy':'off'})
self.assertEqual(select_launch('ace','prism',render_mode='current'),{'render_mode':'current','policy':'off'})
@@ -35,7 +35,7 @@ class PolicyTests(unittest.TestCase):
self.assertTrue(latest['alert_accent']['enabled'])
self.assertEqual(latest['core_apex']['dip_db'],-3.)
def test_stopped_motion_candidate_preserves_default_and_optout(self):
self.assertEqual(select_launch('ace','prism')['policy'],'conservative-v2')
self.assertEqual(select_launch('ace','prism')['policy'],'conservative-v3')
candidate=effective_config({}, {'ROADSCORE_PRESENTATION_POLICY':'conservative-v3'})
self.assertTrue(candidate['stopped_motion']['enabled'])
self.assertTrue(candidate['engagement_presentation']['enabled'])