24 lines
945 B
Python
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,
|
|
} |