from process_bigraph.process_types import ProcessTypes

from pb_multiscale_actin.processes.readdy_actin_membrane import ReaddyActinMembrane
from pb_multiscale_actin.processes.simularium_emitter import SimulariumEmitter

particle = {
    'type_name': 'string',
    'position': 'tuple[float,float,float]',
    'neighbor_ids': 'list[int]',
    '_apply': 'set',
}

topology = {
    'type_name': 'string',
    'particle_ids': 'list[int]',
    '_apply': 'set',
}

core = ProcessTypes()

# register types
core.register('topology', topology)
core.register('particle', particle)

core.register_process('readdy', ReaddyActinMembrane)
core.register_process('simularium-emitter', SimulariumEmitter)
