resolvePreset function

Resolved resolvePreset(
  1. OrbState state,
  2. OrbSize size
)

Resolve a (state, size) pair to its mode + fully-scaled draw options.

Implementation

Resolved resolvePreset(OrbState state, OrbSize size) {
  final key = '${state.name}-${size.name}';
  final hit = _cache[key];
  if (hit != null) return hit;

  final mode = stateToMode[state]!;
  final preset = _presets[mode]![size]!;
  var opts = Map<String, double>.from(baseProfiles[mode]!);
  if (preset.count != 1) opts = scaleCounts(opts, preset.count);
  if (preset.size != 1) opts = scaleRadii(opts, preset.size);
  if (preset.extra != null) opts.addAll(preset.extra!);

  final resolved = Resolved(mode: mode, speed: preset.speed, opts: opts);
  _cache[key] = resolved;
  return resolved;
}