{% extends "base.html" %} {% block title %}{{ recipe.name }} - Recipe - Art-DAG L1{% endblock %} {% block head %} {{ super() }} {% endblock %} {% block content %}
← Recipes

{{ recipe.name or 'Unnamed Recipe' }}

{% if recipe.version %} v{{ recipe.version }} {% endif %}
{% if recipe.description %}

{{ recipe.description }}

{% endif %}
Recipe ID

{{ recipe.recipe_id[:16] }}...

{% if recipe.ipfs_cid %}
IPFS CID

{{ recipe.ipfs_cid[:16] }}...

{% endif %}
Steps

{{ recipe.step_count or recipe.steps|length }}

{% if recipe.author %}
Author

{{ recipe.author }}

{% endif %}
{% if recipe.type == 'streaming' %}
Streaming Recipe

This recipe uses frame-by-frame streaming rendering. The pipeline is defined as an S-expression that generates frames dynamically.

{% else %}
Pipeline DAG {{ recipe.steps | length }} steps

Steps

{% for step in recipe.steps %} {% set colors = { 'effect': 'blue', 'analyze': 'purple', 'transform': 'green', 'combine': 'orange', 'output': 'cyan' } %} {% set color = colors.get(step.type, 'gray') %}
{{ loop.index }} {{ step.name }} {{ step.type }}
{% if step.inputs %}
Inputs: {{ step.inputs | join(', ') }}
{% endif %} {% if step.params %}
{{ step.params | tojson }}
{% endif %}
{% endfor %}
{% endif %}

Recipe (S-expression)

{% if recipe.sexp %}
{{ recipe.sexp }}
{% else %}

No source available

{% endif %}
{% endblock %}