1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
.Dd September 20, 2021
.Dt torus 1
.Os "Causal Agency"
.
.Sh NAME
.Nm server ,
.Nm client ,
.Nm image ,
.Nm meta ,
.Nm merge
.Nd collaborative ASCII art
.
.Sh SYNOPSIS
.Nm server
.Op Fl d Ar data
.Op Fl p Ar pidfile
.Op Fl s Ar sock
.
.Nm client
.Op Fl h
.Op Fl s Ar sock
.
.Nm image
.Op Fl k
.Op Fl d Ar data
.Op Fl f Ar font
.Op Fl x Ar x
.Op Fl y Ar y
.
.Nm meta
.
.Nm merge
.Ar data1
.Ar data2
.Ar data3
.
.Sh DESCRIPTION
.Nm server
maps a data file
and listens on a UNIX-domain socket
to synchronize events between clients.
.
.Pp
.Nm client
connects to a UNIX-domain socket
and presents a
.Xr curses 3
interface.
.
.Pp
.Nm image
renders a tile from a data file
using a PSF2 font
to PNG on standard output.
To build with
.Xr kcgi 3
support,
copy
.Pa kcgi.mk
to
.Pa config.mk .
.
.Pp
.Nm meta
extracts metadata
from a data file on standard input
to CSV on standard ouput.
The CSV fields are
.Va tileX ,
.Va tileY ,
.Va createTime ,
.Va modifyCount ,
.Va modifyTime ,
.Va accessCount ,
.Va accessTime .
.
.Pp
.Nm merge
interactively merges two data files
.Ar data1
and
.Ar data2
into
.Ar data3 .
Differing tiles are presented in a
.Xr curses 3
interface
and are chosen by typing
.Ic a
or
.Ic b .
.
.Pp
The arguments are as follows:
.Bl -tag -width Ds
.It Fl d Ar data
Set path to data file.
The default path is
.Pa torus.dat .
.
.It Fl f Ar font
Set path to PSF2 font.
The default path is
.Pa default8x16.psfu .
.
.It Fl h
Write help page data to standard output and exit.
.
.It Fl k
Run a FastCGI worker for use with
.Xr kfcgi 8 .
.
.It Fl p Ar pidfile
Daemonize and write PID to
.Ar pidfile .
.
.It Fl s Ar sock
Set path to UNIX-domain socket.
The default path is
.Pa torus.sock .
.
.It Fl x Ar x
Set tile X coordinate to render.
.
.It Fl y Ar y
Set tile Y coordinate to render.
.El
.
.Sh IMPLEMENTATION NOTES
.Pa help.h
contains tile data for the help page
and can be generated from the first tile of
.Pa torus.dat .
.
.Pp
.Pa default8x16.psfu
is taken from
.Lk http://kbd-project.org kbd .
|