All the ways to write a timer
One phase for every way you can write a timer — seconds, minutes, hours, clock-style, and an open-ended phase with no timer at all.
The pattern
---
weave-script-version: 1
title: Duration forms
description: Exercises every accepted duration syntax in one pattern.
---
# Raw seconds <!-- duration: 90 -->
Body.
# Seconds suffix <!-- duration: 30s -->
Body.
# Minutes <!-- duration: 2m -->
Body.
# Compound <!-- duration: 1h30m -->
Body.
# mm:ss <!-- duration: 2:30 -->
Body.
# hh:mm:ss <!-- duration: 1:00:00 -->
Body.
# Open-ended
No duration — host advances manually.
What Weave sees
When Weave reads this file, it pulls out the information below. You don't need to write any of this yourself.
{
"schemaVersion": 1,
"meta": {
"sourceSpecVersion": 1,
"title": "Duration forms",
"description": "Exercises every accepted duration syntax in one pattern.",
"attributes": {}
},
"phases": [
{
"id": "1-raw-seconds",
"index": 0,
"name": "Raw seconds",
"durationSeconds": 90,
"perParticipant": false,
"body": "Body.",
"attributes": {}
},
{
"id": "2-seconds-suffix",
"index": 1,
"name": "Seconds suffix",
"durationSeconds": 30,
"perParticipant": false,
"body": "Body.",
"attributes": {}
},
{
"id": "3-minutes",
"index": 2,
"name": "Minutes",
"durationSeconds": 120,
"perParticipant": false,
"body": "Body.",
"attributes": {}
},
{
"id": "4-compound",
"index": 3,
"name": "Compound",
"durationSeconds": 5400,
"perParticipant": false,
"body": "Body.",
"attributes": {}
},
{
"id": "5-mm-ss",
"index": 4,
"name": "mm:ss",
"durationSeconds": 150,
"perParticipant": false,
"body": "Body.",
"attributes": {}
},
{
"id": "6-hh-mm-ss",
"index": 5,
"name": "hh:mm:ss",
"durationSeconds": 3600,
"perParticipant": false,
"body": "Body.",
"attributes": {}
},
{
"id": "7-open-ended",
"index": 6,
"name": "Open-ended",
"durationSeconds": 0,
"perParticipant": false,
"body": "No duration — host advances manually.",
"attributes": {}
}
]
}