"""walkthrough_steps.click_delay_seconds — how long the point is read before
the design demonstrates itself

Revision ID: a1c9f3e7d5b2
Revises: c4e6a8b0d2f4
Create Date: 2026-09-03

The demo click fired a quarter of a second after the beat opened, which is
before anyone has read the words that explain what they are about to see. The
wait is per point because it depends on the sentence: a short line needs a
moment, a longer one needs several. Two seconds is the default, and existing
points take it.
"""
from typing import Sequence, Union

import sqlalchemy as sa
from alembic import op

revision: str = 'a1c9f3e7d5b2'
down_revision: Union[str, Sequence[str], None] = 'c4e6a8b0d2f4'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    op.add_column("walkthrough_steps",
                  sa.Column("click_delay_seconds", sa.Integer(),
                            nullable=False, server_default="2"))


def downgrade() -> None:
    op.drop_column("walkthrough_steps", "click_delay_seconds")
