screenshotFramesManifestDisplayPath function

String screenshotFramesManifestDisplayPath(
  1. String sheetOrFramesDisplayPath
)

Sidecar / primary manifest path for per-step screenshot PNGs.

Accepts either a legacy sheet PNG path (…/foo.png…/foo_frames.json) or an existing frames manifest path (returned unchanged).

Implementation

String screenshotFramesManifestDisplayPath(String sheetOrFramesDisplayPath) {
  final normalized = sheetOrFramesDisplayPath.replaceAll('\\', '/');
  if (normalized.toLowerCase().endsWith('_frames.json')) {
    return normalized;
  }
  if (normalized.toLowerCase().endsWith('.png')) {
    return '${normalized.substring(0, normalized.length - 4)}_frames.json';
  }
  if (normalized.toLowerCase().endsWith('.json')) {
    return normalized;
  }
  return '${normalized}_frames.json';
}