Files
HeurAMS/src/heurams/interface/shim.py
2025-12-06 13:51:46 +08:00

24 lines
945 B
Python

"""Kernel 操作先进函数库"""
import random
import heurams.kernel.particles as pt
import heurams.kernel.puzzles as pz
import heurams.interface.widgets as pzw
from typing import TypedDict
staging = {} # 细粒度缓存区, 是 ident -> quality 的封装
def report_to_staging(atom: pt.Atom, quality):
staging[atom.ident] = min(quality, staging[atom.ident])
def clear():
staging = dict()
def deploy_to_electron():
for atom_ident, quality in staging.items():
if pt.atom_registry[atom_ident].registry['electron'].is_activated:
pt.atom_registry[atom_ident].registry['electron'].revisor(quality=quality)
else:
pt.atom_registry[atom_ident].registry['electron'].revisor(quality=quality, is_new_activation=True)
clear()
puzzle2widget = {
pz.RecognitionPuzzle: pzw.Recognition,
pz.ClozePuzzle: pzw.ClozePuzzle,
pz.MCQPuzzle: pzw.MCQPuzzle,
pz.BasePuzzle: pzw.BasePuzzleWidget,
}