clio.css 0.2.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/AGENTS.md +20 -4
  2. package/EVIDENCE.md +90 -30
  3. package/README.md +45 -23
  4. package/THIRD-PARTY.md +61 -10
  5. package/dist/art/drawingboard/alert-bl.png +0 -0
  6. package/dist/art/drawingboard/alert-bottom.png +0 -0
  7. package/dist/art/drawingboard/alert-br.png +0 -0
  8. package/dist/art/drawingboard/alert-left.png +0 -0
  9. package/dist/art/drawingboard/alert-right.png +0 -0
  10. package/dist/art/drawingboard/alert-tl.png +0 -0
  11. package/dist/art/drawingboard/alert-top.png +0 -0
  12. package/dist/art/drawingboard/alert-tr.png +0 -0
  13. package/dist/art/drawingboard/menu-corner-bl.png +0 -0
  14. package/dist/art/drawingboard/menu-corner-br.png +0 -0
  15. package/dist/art/drawingboard/menu-corner-tr.png +0 -0
  16. package/dist/art/drawingboard/menu-foot.png +0 -0
  17. package/dist/art/drawingboard/menu-left.png +0 -0
  18. package/dist/art/drawingboard/menu-paper.png +0 -0
  19. package/dist/art/drawingboard/menu-right.png +0 -0
  20. package/dist/art/drawingboard/menu-separator.png +0 -0
  21. package/dist/art/drawingboard/menu-shade-foot.png +0 -0
  22. package/dist/art/drawingboard/menu-shade-right.png +0 -0
  23. package/dist/art/drawingboard/menu-top.png +0 -0
  24. package/dist/art/drawingboard/menubar.png +0 -0
  25. package/dist/art/drawingboard/modal-bl.png +0 -0
  26. package/dist/art/drawingboard/modal-bottom.png +0 -0
  27. package/dist/art/drawingboard/modal-br.png +0 -0
  28. package/dist/art/drawingboard/modal-left.png +0 -0
  29. package/dist/art/drawingboard/modal-right.png +0 -0
  30. package/dist/art/drawingboard/modal-tl.png +0 -0
  31. package/dist/art/drawingboard/modal-top.png +0 -0
  32. package/dist/art/drawingboard/modal-tr.png +0 -0
  33. package/dist/art/drawingboard/paper.png +0 -0
  34. package/dist/art/drawingboard/parts/btn-bl.png +0 -0
  35. package/dist/art/drawingboard/parts/btn-br-held.png +0 -0
  36. package/dist/art/drawingboard/parts/btn-br.png +0 -0
  37. package/dist/art/drawingboard/parts/btn-tl.png +0 -0
  38. package/dist/art/drawingboard/parts/btn-tr.png +0 -0
  39. package/dist/art/drawingboard/parts/button-corner.png +0 -0
  40. package/dist/art/drawingboard/parts/check-disabled.png +0 -0
  41. package/dist/art/drawingboard/parts/check-mixed.png +0 -0
  42. package/dist/art/drawingboard/parts/check-on-disabled.png +0 -0
  43. package/dist/art/drawingboard/parts/check-on-pressed.png +0 -0
  44. package/dist/art/drawingboard/parts/check-on.png +0 -0
  45. package/dist/art/drawingboard/parts/check-pressed.png +0 -0
  46. package/dist/art/drawingboard/parts/check.png +0 -0
  47. package/dist/art/drawingboard/parts/close-on.png +0 -0
  48. package/dist/art/drawingboard/parts/close.png +0 -0
  49. package/dist/art/drawingboard/parts/collapse-on.png +0 -0
  50. package/dist/art/drawingboard/parts/collapse.png +0 -0
  51. package/dist/art/drawingboard/parts/def-bl.png +0 -0
  52. package/dist/art/drawingboard/parts/def-br.png +0 -0
  53. package/dist/art/drawingboard/parts/def-tl.png +0 -0
  54. package/dist/art/drawingboard/parts/def-tr.png +0 -0
  55. package/dist/art/drawingboard/parts/down-off.png +0 -0
  56. package/dist/art/drawingboard/parts/down-on.png +0 -0
  57. package/dist/art/drawingboard/parts/down.png +0 -0
  58. package/dist/art/drawingboard/parts/grow.png +0 -0
  59. package/dist/art/drawingboard/parts/left-off.png +0 -0
  60. package/dist/art/drawingboard/parts/left-on.png +0 -0
  61. package/dist/art/drawingboard/parts/left.png +0 -0
  62. package/dist/art/drawingboard/parts/menu-underline-left.png +0 -0
  63. package/dist/art/drawingboard/parts/menu-underline-right.png +0 -0
  64. package/dist/art/drawingboard/parts/menu-underline.png +0 -0
  65. package/dist/art/drawingboard/parts/popup-arrow-off.png +0 -0
  66. package/dist/art/drawingboard/parts/popup-arrow.png +0 -0
  67. package/dist/art/drawingboard/parts/popup-corner-off.png +0 -0
  68. package/dist/art/drawingboard/parts/popup-corner.png +0 -0
  69. package/dist/art/drawingboard/parts/progress-arrows.png +0 -0
  70. package/dist/art/drawingboard/parts/radio-disabled.png +0 -0
  71. package/dist/art/drawingboard/parts/radio-on-disabled.png +0 -0
  72. package/dist/art/drawingboard/parts/radio-on-pressed.png +0 -0
  73. package/dist/art/drawingboard/parts/radio-on.png +0 -0
  74. package/dist/art/drawingboard/parts/radio.png +0 -0
  75. package/dist/art/drawingboard/parts/right-off.png +0 -0
  76. package/dist/art/drawingboard/parts/right-on.png +0 -0
  77. package/dist/art/drawingboard/parts/right.png +0 -0
  78. package/dist/art/drawingboard/parts/submenu.png +0 -0
  79. package/dist/art/drawingboard/parts/tab-pressed.png +0 -0
  80. package/dist/art/drawingboard/parts/tab-selected.png +0 -0
  81. package/dist/art/drawingboard/parts/tab.png +0 -0
  82. package/dist/art/drawingboard/parts/thumb-bottom.png +0 -0
  83. package/dist/art/drawingboard/parts/thumb-hgrip.png +0 -0
  84. package/dist/art/drawingboard/parts/thumb-hstretch.png +0 -0
  85. package/dist/art/drawingboard/parts/thumb-left.png +0 -0
  86. package/dist/art/drawingboard/parts/thumb-right.png +0 -0
  87. package/dist/art/drawingboard/parts/thumb-top.png +0 -0
  88. package/dist/art/drawingboard/parts/thumb-vgrip.png +0 -0
  89. package/dist/art/drawingboard/parts/thumb-vstretch.png +0 -0
  90. package/dist/art/drawingboard/parts/title-underline-left.png +0 -0
  91. package/dist/art/drawingboard/parts/title-underline-right.png +0 -0
  92. package/dist/art/drawingboard/parts/title-underline.png +0 -0
  93. package/dist/art/drawingboard/parts/up-off.png +0 -0
  94. package/dist/art/drawingboard/parts/up-on.png +0 -0
  95. package/dist/art/drawingboard/parts/up.png +0 -0
  96. package/dist/art/drawingboard/parts/zoom-on.png +0 -0
  97. package/dist/art/drawingboard/parts/zoom.png +0 -0
  98. package/dist/art/drawingboard/pens/button-bottom.png +0 -0
  99. package/dist/art/drawingboard/pens/button-corners.png +0 -0
  100. package/dist/art/drawingboard/pens/button-default-bottom-2.png +0 -0
  101. package/dist/art/drawingboard/pens/button-default-bottom-3.png +0 -0
  102. package/dist/art/drawingboard/pens/button-default-bottom.png +0 -0
  103. package/dist/art/drawingboard/pens/button-default-corner-bl.png +0 -0
  104. package/dist/art/drawingboard/pens/button-default-corner-br.png +0 -0
  105. package/dist/art/drawingboard/pens/button-default-corner-tl.png +0 -0
  106. package/dist/art/drawingboard/pens/button-default-corner-tr.png +0 -0
  107. package/dist/art/drawingboard/pens/button-default-left-2.png +0 -0
  108. package/dist/art/drawingboard/pens/button-default-left-3.png +0 -0
  109. package/dist/art/drawingboard/pens/button-default-left.png +0 -0
  110. package/dist/art/drawingboard/pens/button-default-right-2.png +0 -0
  111. package/dist/art/drawingboard/pens/button-default-right-3.png +0 -0
  112. package/dist/art/drawingboard/pens/button-default-right.png +0 -0
  113. package/dist/art/drawingboard/pens/button-default-top-2.png +0 -0
  114. package/dist/art/drawingboard/pens/button-default-top-3.png +0 -0
  115. package/dist/art/drawingboard/pens/button-default-top.png +0 -0
  116. package/dist/art/drawingboard/pens/button-held-bottom.png +0 -0
  117. package/dist/art/drawingboard/pens/button-held-corners.png +0 -0
  118. package/dist/art/drawingboard/pens/button-held-left.png +0 -0
  119. package/dist/art/drawingboard/pens/button-held-right.png +0 -0
  120. package/dist/art/drawingboard/pens/button-held-shade-bottom.png +0 -0
  121. package/dist/art/drawingboard/pens/button-held-shade-right.png +0 -0
  122. package/dist/art/drawingboard/pens/button-held-top.png +0 -0
  123. package/dist/art/drawingboard/pens/button-left.png +0 -0
  124. package/dist/art/drawingboard/pens/button-right.png +0 -0
  125. package/dist/art/drawingboard/pens/button-shade-bottom.png +0 -0
  126. package/dist/art/drawingboard/pens/button-shade-right.png +0 -0
  127. package/dist/art/drawingboard/pens/button-top.png +0 -0
  128. package/dist/art/drawingboard/pens/field-bottom.png +0 -0
  129. package/dist/art/drawingboard/pens/field-corners.png +0 -0
  130. package/dist/art/drawingboard/pens/field-left.png +0 -0
  131. package/dist/art/drawingboard/pens/field-right.png +0 -0
  132. package/dist/art/drawingboard/pens/field-top.png +0 -0
  133. package/dist/art/drawingboard/pens/popup-bottom.png +0 -0
  134. package/dist/art/drawingboard/pens/popup-corners.png +0 -0
  135. package/dist/art/drawingboard/pens/popup-disabled-bottom.png +0 -0
  136. package/dist/art/drawingboard/pens/popup-disabled-corners.png +0 -0
  137. package/dist/art/drawingboard/pens/popup-disabled-left.png +0 -0
  138. package/dist/art/drawingboard/pens/popup-disabled-right.png +0 -0
  139. package/dist/art/drawingboard/pens/popup-disabled-top.png +0 -0
  140. package/dist/art/drawingboard/pens/popup-left.png +0 -0
  141. package/dist/art/drawingboard/pens/popup-right.png +0 -0
  142. package/dist/art/drawingboard/pens/popup-top.png +0 -0
  143. package/dist/art/drawingboard/tab-paper.png +0 -0
  144. package/dist/art/drawingboard/track-h-bottom.png +0 -0
  145. package/dist/art/drawingboard/track-h-mid1.png +0 -0
  146. package/dist/art/drawingboard/track-h-mid2.png +0 -0
  147. package/dist/art/drawingboard/track-h-top.png +0 -0
  148. package/dist/art/drawingboard/track-v-left.png +0 -0
  149. package/dist/art/drawingboard/track-v-mid1.png +0 -0
  150. package/dist/art/drawingboard/track-v-mid2.png +0 -0
  151. package/dist/art/drawingboard/track-v-right.png +0 -0
  152. package/dist/art/drawingboard/window-bl-inactive.png +0 -0
  153. package/dist/art/drawingboard/window-bl.png +0 -0
  154. package/dist/art/drawingboard/window-bottom-inactive.png +0 -0
  155. package/dist/art/drawingboard/window-bottom.png +0 -0
  156. package/dist/art/drawingboard/window-br-inactive.png +0 -0
  157. package/dist/art/drawingboard/window-br.png +0 -0
  158. package/dist/art/drawingboard/window-left-inactive.png +0 -0
  159. package/dist/art/drawingboard/window-left.png +0 -0
  160. package/dist/art/drawingboard/window-right-inactive.png +0 -0
  161. package/dist/art/drawingboard/window-right.png +0 -0
  162. package/dist/art/drawingboard/window-tl-inactive.png +0 -0
  163. package/dist/art/drawingboard/window-tl.png +0 -0
  164. package/dist/art/drawingboard/window-top-inactive.png +0 -0
  165. package/dist/art/drawingboard/window-top.png +0 -0
  166. package/dist/art/drawingboard/window-tr-inactive.png +0 -0
  167. package/dist/art/drawingboard/window-tr.png +0 -0
  168. package/dist/art/drawingboard/window-ur-inactive.png +0 -0
  169. package/dist/art/drawingboard/window-ur.png +0 -0
  170. package/dist/clio.css +1939 -155
  171. package/dist/clio.drawingboard.css +3562 -0
  172. package/dist/clio.drawingboard.min.css +2 -0
  173. package/dist/clio.min.css +2 -2
  174. package/dist/clio.platinum.css +802 -107
  175. package/dist/clio.platinum.min.css +2 -2
  176. package/dist/clio.system6.css +544 -32
  177. package/dist/clio.system6.min.css +2 -2
  178. package/dist/clio.system7.css +2165 -0
  179. package/dist/clio.system7.min.css +2 -0
  180. package/dist/components.json +555 -82
  181. package/dist/fonts/ClioSans84.woff2 +0 -0
  182. package/dist/fonts/ClioSans97.woff2 +0 -0
  183. package/dist/fonts/ClioSans97Display.woff2 +0 -0
  184. package/dist/fonts/ClioSans97Exact.woff2 +0 -0
  185. package/dist/fonts/ClioSans97Title.woff2 +0 -0
  186. package/dist/fonts/ClioSans97TitleExact.woff2 +0 -0
  187. package/dist/fonts/ClioText84-9.woff2 +0 -0
  188. package/dist/fonts/ClioText84.woff2 +0 -0
  189. package/llms.txt +5 -4
  190. package/package.json +17 -4
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "clio.css",
3
- "version": "0.2.0",
4
- "description": "CSS library for classic Mac OS interfaces: Macintosh System 6 and Mac OS 8/9 Platinum windows, menus, buttons, scroll bars and dialogs, with every value traced to measured pixels.",
3
+ "version": "0.9.0",
4
+ "description": "CSS library for classic Mac OS interfaces: Macintosh System 6, System 7, Mac OS 8.5 Drawing Board and Mac OS 8/9 Platinum windows, menus, buttons, scroll bars and dialogs, with every value traced to measured pixels.",
5
5
  "homepage": "https://surfine.github.io/clio.css/",
6
6
  "license": "MIT",
7
7
  "eras": [
@@ -12,6 +12,18 @@
12
12
  "default": true,
13
13
  "file": "dist/clio.system6.css"
14
14
  },
15
+ {
16
+ "id": "system7",
17
+ "name": "Macintosh System 7 (colour)",
18
+ "attribute": "data-era=\"system7\"",
19
+ "file": "dist/clio.system7.css"
20
+ },
21
+ {
22
+ "id": "drawingboard",
23
+ "name": "Mac OS 8.5 Drawing Board (beta theme)",
24
+ "attribute": "data-era=\"drawingboard\"",
25
+ "file": "dist/clio.drawingboard.css"
26
+ },
15
27
  {
16
28
  "id": "platinum",
17
29
  "name": "Mac OS 8/9 Platinum",
@@ -21,8 +33,8 @@
21
33
  ],
22
34
  "install": {
23
35
  "npm": "npm install clio.css",
24
- "cdn": "https://unpkg.com/clio.css@0.2.0/dist/clio.css",
25
- "jsdelivr": "https://cdn.jsdelivr.net/npm/clio.css@0.2.0/dist/clio.css"
36
+ "cdn": "https://unpkg.com/clio.css@0.9.0/dist/clio.css",
37
+ "jsdelivr": "https://cdn.jsdelivr.net/npm/clio.css@0.9.0/dist/clio.css"
26
38
  },
27
39
  "evidenceStatuses": {
28
40
  "measured": "read from real pixels of the era",
@@ -36,7 +48,7 @@
36
48
  "id": "window",
37
49
  "bare": true,
38
50
  "name": "Window",
39
- "summary": "A document window: frame, title bar with close and zoom boxes (plus the WindowShade box in Platinum), an optional details bar and a scrolling pane.",
51
+ "summary": "A document window: frame, title bar with close and zoom boxes (plus the WindowShade box in Platinum), an optional details bar and a scrolling pane. System 7 adds colour to the frame and title bar.",
40
52
  "selectors": [
41
53
  ".window",
42
54
  ".window.inactive",
@@ -94,6 +106,27 @@
94
106
  }
95
107
  ],
96
108
  "evidence": [
109
+ {
110
+ "era": "system7",
111
+ "claim": "Title bar: System 6's rows on #eee with six #777 stripes, #ccf light on the top and left inside edges and #99c shade on the bottom and right (the shade owns the corners)",
112
+ "status": "measured",
113
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame hd-window",
114
+ "upstream": "99.1% identical; agrees with AI System 6 internal/evidence/drafts/system-7-reference"
115
+ },
116
+ {
117
+ "era": "system7",
118
+ "claim": "Close and zoom boxes: 11px, sunk #336/#ccf outer ring, raised #ccf/#336 inner ring, #aaa centre, 1px #eee gap; zoom adds a 5px #336 square; held: black square, #99c face and the starburst",
119
+ "status": "measured",
120
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frames hd-window, held-close, held-zoom",
121
+ "upstream": "System 7.5.3 Finder window Infinite HD"
122
+ },
123
+ {
124
+ "era": "system7",
125
+ "claim": "Background window: #555 frame, plain white title bar, #888 title, black drop shadow",
126
+ "status": "measured",
127
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame folder-window",
128
+ "upstream": "99.98% identical"
129
+ },
97
130
  {
98
131
  "era": "system6",
99
132
  "claim": "Title bar: 19 rows from the frame to the rule; 3 rows of paper, six 1px ink stripes on a 2px period, 3 rows of paper, the 1px rule",
@@ -191,6 +224,34 @@
191
224
  "status": "measured",
192
225
  "source": "apps/desktop/styles/65-appearance-themes.css:1757 (N1, P26)",
193
226
  "upstream": "Mac OS 9 native capture 53; GUIdebook active/inactive"
227
+ },
228
+ {
229
+ "era": "drawingboard",
230
+ "claim": "Window frame: the theme's nine Doc Window pictures (6176-6184, active and inactive) round the outline, placed as Mac OS 8.5 places them, the edges tiled from their ends; content on the window paper (ppat 7120) from the content's top-left; the frame is 6px inside the outline on each side",
231
+ "status": "measured",
232
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames date-time and appearance; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
233
+ "upstream": "every piece found 1:1 round the Appearance and Date & Time windows; paper origin agrees in Date & Time and Finder Preferences"
234
+ },
235
+ {
236
+ "era": "drawingboard",
237
+ "claim": "Title bar: 20px on the frame colour then the #555 rule; close and collapse boxes 11px, 4px below the bar's top, flush with the content line",
238
+ "status": "measured",
239
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame appearance",
240
+ "upstream": "close box 1:1 at (166,73), collapse box 1:1 at (621,73)"
241
+ },
242
+ {
243
+ "era": "drawingboard",
244
+ "claim": "Close, zoom and collapse box art, normal and held",
245
+ "status": "measured",
246
+ "source": "the theme file's pxm# pixmaps, decoded by tooling/theme-resources.py and redrawn by tooling/db-art.py",
247
+ "upstream": "WindowLargeCloseBox, WindowLargeZoom, WindowLargeCollapse; each found 1:1 in the capture"
248
+ },
249
+ {
250
+ "era": "drawingboard",
251
+ "claim": "Mac OS sometimes starts a 128px pattern half a tile (64px) earlier, depending on where the window or control sits on screen (the Appearance window, the File menu, the Energy Saver alert, the first Date & Time field, the Themes list's scroll bar); clio.css starts it at the element and offers --clio-db-phase: 64px to match a given screen",
252
+ "status": "adapted",
253
+ "source": "clio.css",
254
+ "upstream": "the rule behind the shift was not found from these captures"
194
255
  }
195
256
  ]
196
257
  },
@@ -230,6 +291,13 @@
230
291
  "html": "<ul class=\"menu-bar\" role=\"menubar\" aria-label=\"Menu bar\">\n <li role=\"none\" class=\"open\">\n <button role=\"menuitem\" aria-haspopup=\"true\" aria-expanded=\"true\">File</button>\n <ul class=\"menu\" role=\"menu\">\n <li role=\"none\"><button role=\"menuitem\">New Folder <kbd>⌘N</kbd></button></li>\n <li role=\"none\"><button role=\"menuitem\">Open <kbd>⌘O</kbd></button></li>\n <li role=\"none\"><button role=\"menuitem\" aria-disabled=\"true\">Print</button></li>\n <li role=\"none\"><button role=\"menuitem\">Close <kbd>⌘W</kbd></button></li>\n <li role=\"separator\"></li>\n <li role=\"none\"><button role=\"menuitemcheckbox\" aria-checked=\"true\">Show Clipboard</button></li>\n </ul>\n </li>\n <li role=\"none\"><button role=\"menuitem\" aria-haspopup=\"true\" aria-expanded=\"false\">Edit</button></li>\n <li role=\"none\"><button role=\"menuitem\" aria-haspopup=\"true\" aria-expanded=\"false\">View</button></li>\n <li role=\"none\"><button role=\"menuitem\" aria-haspopup=\"true\" aria-expanded=\"false\">Special</button></li>\n</ul>",
231
292
  "reserveHeight": 150,
232
293
  "evidence": [
294
+ {
295
+ "era": "system7",
296
+ "claim": "Menus keep System 6's rows and black highlight; disabled items and the separator are solid #888 instead of a dither",
297
+ "status": "measured",
298
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame file-menu",
299
+ "upstream": "separator row 100% identical"
300
+ },
233
301
  {
234
302
  "era": "system6",
235
303
  "claim": "Menu bar: 20 rows with the rule on the last; an open title inverts rows 1–18, about 9px either side of the word",
@@ -239,7 +307,7 @@
239
307
  },
240
308
  {
241
309
  "era": "system6",
242
- "claim": "Menu: hangs from the bar's rule with no top line; 1px ink frame and 1px drop shadow; 16px rows; text 15px in; the highlighted row inverts",
310
+ "claim": "Menu: hangs from the bar's rule with no top line; 1px ink frame and 1px drop shadow; 16px rows; text 13px in; the highlighted row inverts",
243
311
  "status": "measured",
244
312
  "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame file-menu",
245
313
  "upstream": "System 6.0.8 Finder File menu"
@@ -260,10 +328,10 @@
260
328
  },
261
329
  {
262
330
  "era": "system6",
263
- "claim": "Disabled items are drawn through a 50% grey dither; clio.css uses solid #696969",
264
- "status": "adapted",
331
+ "claim": "Disabled items are drawn through QuickDraw's 50% gray pattern, aligned to the screen (ink kept where x + y is odd); clio.css clips the same 2px pattern, fixed to the viewport, to the text (solid #696969 only where background-clip: text is missing)",
332
+ "status": "measured",
265
333
  "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame file-menu",
266
- "upstream": "a dither blurs under browser scaling; solid grey keeps 5.6:1"
334
+ "upstream": "\"Print\" 100% identical (s6-menu-disabled); set --clio-disabled-dither: none for solid #696969"
267
335
  },
268
336
  {
269
337
  "era": "platinum",
@@ -281,17 +349,38 @@
281
349
  },
282
350
  {
283
351
  "era": "platinum",
284
- "claim": "Separator: #888 over white, in an 8px row",
285
- "status": "inferred",
286
- "source": "apps/desktop/styles/65-appearance-themes.css (separator #888/white)",
287
- "upstream": "the line pair is measured; the 8px row height is not"
352
+ "claim": "Separator: a 6px row with #888 on its third line and white on its fourth, the full width of the menu",
353
+ "status": "measured",
354
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame file-menu",
355
+ "upstream": "between Close Window and Get Info"
288
356
  },
289
357
  {
290
358
  "era": "platinum",
291
- "claim": "Check mark and submenu arrow art",
292
- "status": "third-party",
293
- "source": "classic-stylesheets macos9/checkmark.svg, menu-right.svg (MIT)",
294
- "upstream": "nielssp/classic-stylesheets @9ebd2d8"
359
+ "claim": "Menu check mark (9x8, antialiased, recovered from the white-on-#339 chosen item) and the 6x11 submenu arrow, redrawn from Mac OS 9.0",
360
+ "status": "measured",
361
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frames popup-open and file-menu; tooling/p9-art.py",
362
+ "upstream": "replaces the classic-stylesheets art used before 0.8.0"
363
+ },
364
+ {
365
+ "era": "drawingboard",
366
+ "claim": "Menu bar: the theme's 630x27 picture (pxm 6104) tiled from the screen's left, 22 rows shown; menus: paper (ppat 7125) from the inside top-left in a frame of pattern pens (ppat 129-133) tiled from the menu's corner, a 2px pencil shade, fixed pencil pixels where the pens meet; 18px items; the separator is ppat 133",
367
+ "status": "measured",
368
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames file-menu, edit-menu and control-panels-menu; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
369
+ "upstream": "File, Edit, Apple and Control Panels menus agree"
370
+ },
371
+ {
372
+ "era": "drawingboard",
373
+ "claim": "The chosen menu title and item are underlined in pencil instead of inverted",
374
+ "status": "measured",
375
+ "source": "the theme file's pxm# pixmaps, decoded by tooling/theme-resources.py and redrawn by tooling/db-art.py",
376
+ "upstream": "Menu_Title_Underline_Center, Menu_Item_underline_center; the title underline is visible under File in the capture"
377
+ },
378
+ {
379
+ "era": "drawingboard",
380
+ "claim": "Menu item underline: left 16px in, right 15px in, its middle piece tiled (the Appearance pop-up's ends 16px from both sides)",
381
+ "status": "measured",
382
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames control-panels-menu and popup-open",
383
+ "upstream": "Energy Saver in the Control Panels menu"
295
384
  }
296
385
  ]
297
386
  },
@@ -325,12 +414,20 @@
325
414
  "--clio-button-radius",
326
415
  "--clio-button-shadow",
327
416
  "--clio-button-active-bg",
328
- "--clio-button-default-ring",
417
+ "--clio-button-default-width",
418
+ "--clio-button-default-radius",
329
419
  "--clio-control-height"
330
420
  ],
331
421
  "accessibility": "Hover never changes a button: it is pressed only by pointer-down, Space or Enter. Keyboard focus draws a dotted frame (System 6) or a 2px #6666cc ring (Platinum), separate from the default ring.",
332
422
  "html": "<div class=\"field-row\" style=\"gap: 16px\">\n <button>Cancel</button>\n <button class=\"default\">OK</button>\n <button class=\"active\">Pressed</button>\n <button disabled>Eject</button>\n</div>",
333
423
  "evidence": [
424
+ {
425
+ "era": "system7",
426
+ "claim": "Push buttons and the default ring stay black and white, as in System 6",
427
+ "status": "measured",
428
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame page-setup (OK)",
429
+ "upstream": "93.8% identical; a few ring corner pixels differ"
430
+ },
334
431
  {
335
432
  "era": "system6",
336
433
  "claim": "Push button: 20px tall, 1px ink round rectangle with corners of about 4px, paper face, Chicago 12 (AI System 6 uses 7px corners)",
@@ -340,10 +437,17 @@
340
437
  },
341
438
  {
342
439
  "era": "system6",
343
- "claim": "Pressed: the button inverts to ink with paper text",
344
- "status": "inferred",
345
- "source": "not captured",
346
- "upstream": "System 6 button tracking"
440
+ "claim": "Pressed: the whole button inverts to ink with paper text",
441
+ "status": "measured",
442
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame button-pressed (Cancel held in a TeachText alert)",
443
+ "upstream": "System 6.0.8"
444
+ },
445
+ {
446
+ "era": "system6",
447
+ "claim": "Disabled: the frame stays solid ink and the label is drawn through the 50% gray pattern (the menu's pattern, clipped to the label)",
448
+ "status": "measured",
449
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame save-dialog (Eject)",
450
+ "upstream": "Eject; at fractional zoom the pattern can blur, set --clio-disabled-dither: none for solid grey"
347
451
  },
348
452
  {
349
453
  "era": "system6",
@@ -353,11 +457,18 @@
353
457
  "upstream": "agrees with Inside Macintosh, Dialog Manager: PenSize(3,3), InsetRect(-4,-4), FrameRoundRect(16,16)"
354
458
  },
355
459
  {
356
- "era": "both",
460
+ "era": "system6",
461
+ "claim": "Hovering over a button changes nothing; only a press inverts it",
462
+ "status": "measured",
463
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frames locked-alert and button-hover",
464
+ "upstream": "agrees with docs/design/CLASSIC_PLATINUM_FIDELITY.md:210"
465
+ },
466
+ {
467
+ "era": "platinum",
357
468
  "claim": "Hover never changes a push button; pressed only on pointer-down, Space or Enter",
358
469
  "status": "inferred",
359
470
  "source": "docs/design/CLASSIC_PLATINUM_FIDELITY.md:210",
360
- "upstream": "a 1987–1999 Mac had no hover state"
471
+ "upstream": "AI System 6 owner ruling: Platinum carries no hover state"
361
472
  },
362
473
  {
363
474
  "era": "system6",
@@ -393,6 +504,41 @@
393
504
  "status": "measured",
394
505
  "source": "apps/desktop/styles/65-appearance-themes.css (N5)",
395
506
  "upstream": "GUIdebook Open dialog Eject button (button-disabled specimen)"
507
+ },
508
+ {
509
+ "era": "drawingboard",
510
+ "claim": "Push buttons: four pattern pens (ppat 7070-7072, 7079) tiled so their pixel 0 is on the last column and row, the corner pixels they leave, the hatched ButtonFaceCorner (image 0) flush in the lower right of the #cec6b5 face, and a 1px pencil shade right and below; the label 1px lower than Platinum's",
511
+ "status": "measured",
512
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames themes-tab and energy-saver-alert; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
513
+ "upstream": "\"Save Theme…\" and \"Specify Settings\" agree"
514
+ },
515
+ {
516
+ "era": "drawingboard",
517
+ "claim": "Default button: a 3px band of pattern pens (ppat 7085 rows, 7086 columns) whose inner line is the box's edge, plus its corner pixels",
518
+ "status": "measured",
519
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame energy-saver-alert; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
520
+ "upstream": "\"Close Message\""
521
+ },
522
+ {
523
+ "era": "drawingboard",
524
+ "claim": "Held buttons lose the hatch; the foot and right side take other pens (ppat 7126, 7127) tiled from the second column and row",
525
+ "status": "measured",
526
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame button-held; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
527
+ "upstream": "\"Save Theme…\" held"
528
+ },
529
+ {
530
+ "era": "drawingboard",
531
+ "claim": "Disabled buttons: #8c8c8c label on the same face",
532
+ "status": "measured",
533
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame date-time",
534
+ "upstream": "\"Server Options…\""
535
+ },
536
+ {
537
+ "era": "drawingboard",
538
+ "claim": "The pencil overruns at a button's corners: ButtonTopLeft, ButtonTopRight, Button_BotRight, ButtonBotLeft round a plain button and the four *Default pieces round the default one, drawn outside the box",
539
+ "status": "measured",
540
+ "source": "the theme's pxm# pixmaps (tooling/db-art.py); positions from frames themes-tab and energy-saver-alert",
541
+ "upstream": "each piece found 1:1 round \"Save Theme…\" and \"Close Message\""
396
542
  }
397
543
  ]
398
544
  },
@@ -415,6 +561,13 @@
415
561
  "accessibility": "Native input, so keyboard, form and screen-reader behaviour are the browser's. In forced-colours mode the control returns to the system's own drawing.",
416
562
  "html": "<div class=\"field-row-stacked\">\n <label><input type=\"checkbox\" checked> Show warnings</label>\n <label><input type=\"checkbox\"> Use small icons</label>\n <label><input type=\"checkbox\" checked disabled> Locked</label>\n</div>",
417
563
  "evidence": [
564
+ {
565
+ "era": "system7",
566
+ "claim": "Identical to System 6: 12px, X when checked",
567
+ "status": "measured",
568
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame general-controls",
569
+ "upstream": "100% identical, on and off"
570
+ },
418
571
  {
419
572
  "era": "system6",
420
573
  "claim": "A 12px box with a 1px frame; held, the frame thickens to 2px",
@@ -424,10 +577,10 @@
424
577
  },
425
578
  {
426
579
  "era": "system6",
427
- "claim": "Checked draws an X from corner to corner",
428
- "status": "inferred",
429
- "source": "not captured (the Locked box was unchecked)",
430
- "upstream": "System 6 check box"
580
+ "claim": "Checked draws an X from corner to corner of the box",
581
+ "status": "measured",
582
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame get-info-checked (Locked)",
583
+ "upstream": "the art is system.css's checkmark.svg (MIT), which matches"
431
584
  },
432
585
  {
433
586
  "era": "system6",
@@ -445,10 +598,17 @@
445
598
  },
446
599
  {
447
600
  "era": "platinum",
448
- "claim": "Check mark art",
449
- "status": "third-party",
450
- "source": "classic-stylesheets macos9/checkmark.svg (MIT)",
451
- "upstream": "nielssp/classic-stylesheets @9ebd2d8"
601
+ "claim": "Check mark: Mac OS 9's grey-shaded mark inside the frame, overhanging its right edge by two pixels",
602
+ "status": "measured",
603
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame general-controls; redrawn by tooling/p9-art.py",
604
+ "upstream": "Show Desktop when in background; 96.4% identical (the frame 98.6%)"
605
+ },
606
+ {
607
+ "era": "drawingboard",
608
+ "claim": "Check box: the theme's 14x11 pictures; image 0 off, 1 on, 3 mixed, 4/5 pressed, 8/9 disabled",
609
+ "status": "measured",
610
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames general-controls and date-time; the theme file's pxm# pixmaps, decoded by tooling/theme-resources.py and redrawn by tooling/db-art.py",
611
+ "upstream": "off, on and disabled found 1:1 (Show Desktop, Show Launcher, Daylight-Saving Time is in effect)"
452
612
  }
453
613
  ]
454
614
  },
@@ -467,6 +627,13 @@
467
627
  "accessibility": "Native input; group radios with the same name inside a fieldset with a legend.",
468
628
  "html": "<fieldset>\n <legend>Highlight</legend>\n <div class=\"field-row-stacked\">\n <label><input type=\"radio\" name=\"hl\" checked> Lavender</label>\n <label><input type=\"radio\" name=\"hl\"> Graphite</label>\n <label><input type=\"radio\" name=\"hl\" disabled> Other</label>\n </div>\n</fieldset>",
469
629
  "evidence": [
630
+ {
631
+ "era": "system7",
632
+ "claim": "Identical to System 6",
633
+ "status": "measured",
634
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame general-controls",
635
+ "upstream": "100% identical, on and off"
636
+ },
470
637
  {
471
638
  "era": "system6",
472
639
  "claim": "12px ring and 6px dot: the real pixels match system.css's art exactly",
@@ -476,10 +643,17 @@
476
643
  },
477
644
  {
478
645
  "era": "platinum",
479
- "claim": "Radio drawn with CSS gradients: black ring, white to #888 well, 6px black dot",
480
- "status": "adapted",
481
- "source": "apps/desktop/styles/65-appearance-themes.css:291",
482
- "upstream": "AI System 6 later replaced this with art cut from a capture (P19); clio.css ships no cut art"
646
+ "claim": "Radio button: Mac OS 9's shaded 12px ball, off and on; the held states are still drawn with CSS gradients",
647
+ "status": "measured",
648
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame general-controls; redrawn by tooling/p9-art.py",
649
+ "upstream": "Documents group; off and on 100% identical"
650
+ },
651
+ {
652
+ "era": "drawingboard",
653
+ "claim": "Radio button: the theme's 16x12 pictures; image 0 off, 1 on, 2 pressed, 3/4 disabled",
654
+ "status": "measured",
655
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames general-controls and date-time; the theme file's pxm# pixmaps, decoded by tooling/theme-resources.py and redrawn by tooling/db-art.py",
656
+ "upstream": "off and on found 1:1 (Documents, Menu Bar Clock)"
483
657
  }
484
658
  ]
485
659
  },
@@ -505,6 +679,13 @@
505
679
  "accessibility": "Keyboard focus draws a ring around the field in addition to the caret.",
506
680
  "html": "<div class=\"field-row-stacked\" style=\"width: 240px\">\n <label for=\"clio-name\">Name:</label>\n <input id=\"clio-name\" type=\"text\" value=\"Untitled\" style=\"width: 100%\">\n <label for=\"clio-notes\">Notes:</label>\n <textarea id=\"clio-notes\" rows=\"3\" style=\"width: 100%\">Text areas scroll with the era's scroll bar.</textarea>\n</div>",
507
681
  "evidence": [
682
+ {
683
+ "era": "system7",
684
+ "claim": "As System 6: a 1px black frame with the text 3px in",
685
+ "status": "measured",
686
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame numbers (Currency Symbol)",
687
+ "upstream": "System 7.5.3"
688
+ },
508
689
  {
509
690
  "era": "system6",
510
691
  "claim": "1px ink frame, white, text inset 3px",
@@ -525,6 +706,13 @@
525
706
  "status": "measured",
526
707
  "source": "apps/desktop/styles/65-platinum-utility.css:38",
527
708
  "upstream": "Mac OS 9 capture platinum-native/10b-fonts-tab"
709
+ },
710
+ {
711
+ "era": "drawingboard",
712
+ "claim": "Edit text: a 1px line of pattern pens (ppat 7003-7006), the rows tiled from the white's left edge, the left column from its top and the right column from 1px higher; 1px of whatever is behind inside it, then white",
713
+ "status": "measured",
714
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame date-time; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
715
+ "upstream": "both Date & Time fields agree"
528
716
  }
529
717
  ]
530
718
  },
@@ -547,18 +735,18 @@
547
735
  "html": "<div class=\"field-row\">\n <label for=\"clio-font\">Font:</label>\n <select id=\"clio-font\">\n <option>Chicago</option>\n <option selected>Geneva</option>\n <option>New York</option>\n </select>\n</div>",
548
736
  "evidence": [
549
737
  {
550
- "era": "system6",
551
- "claim": "A box with a 1px drop shadow",
552
- "status": "inferred",
553
- "source": "not measured",
554
- "upstream": "System 6 pop-up menu CDEF"
738
+ "era": "system7",
739
+ "claim": "An 18px box with an 11×6 black triangle 5px from the right edge, label 15px in, and a 1px shadow that starts 3px in from the corner",
740
+ "status": "measured",
741
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame numbers (Number Format)",
742
+ "upstream": "100% identical; the triangle is System 7's addition"
555
743
  },
556
744
  {
557
745
  "era": "system6",
558
- "claim": "The down triangle",
559
- "status": "adapted",
560
- "source": "drawn for clio.css",
561
- "upstream": "a System 7 convention, kept so the control reads as a menu"
746
+ "claim": "An 18px rectangle with a 1px frame and a 1px drop shadow and no arrow; the shadow is what marks it as a menu; held, it inverts",
747
+ "status": "measured",
748
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frames save-dialog and popup-held (Standard File folder menu)",
749
+ "upstream": "the down triangle arrived with System 7"
562
750
  },
563
751
  {
564
752
  "era": "platinum",
@@ -569,17 +757,24 @@
569
757
  },
570
758
  {
571
759
  "era": "platinum",
572
- "claim": "The arrow part is drawn with background layers, approximating the measured bevel",
573
- "status": "inferred",
574
- "source": "clio.css",
575
- "upstream": "select has no ::after in CSS"
760
+ "claim": "The arrow part, drawn with background layers: a #aaa divider 20px from the right, a raised box with a white left and top edge and a #aaa then #777 shade, the arrows 7px from the right and 4px down; the field has a white top line and #aaa foot",
761
+ "status": "measured",
762
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame appearance-tab",
763
+ "upstream": "\"Apple platinum\" pop-up, 96.7% identical (p9-popup-end)"
576
764
  },
577
765
  {
578
766
  "era": "platinum",
579
- "claim": "Arrow art",
580
- "status": "third-party",
581
- "source": "classic-stylesheets macos9/dropdown.svg (MIT)",
582
- "upstream": "nielssp/classic-stylesheets @9ebd2d8"
767
+ "claim": "Arrow art (7x10), black, and #888 when disabled",
768
+ "status": "measured",
769
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frames appearance-tab and appearance; tooling/p9-art.py",
770
+ "upstream": "replaces classic-stylesheets dropdown.svg"
771
+ },
772
+ {
773
+ "era": "drawingboard",
774
+ "claim": "Pop-up menu: 20px, four pattern pens (ppat 7095-7098; disabled: their other rows) tiled from the last column and row, the corner pixels they leave, #cec6b5 face; the 7x9 double arrow 5px from the right and 4px down; the hatched ButtonFaceCorner (image 2, disabled image 3) ends 19px from the right",
775
+ "status": "measured",
776
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame appearance; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
777
+ "upstream": "Appearance, Highlight Color and Variation pop-ups"
583
778
  }
584
779
  ]
585
780
  },
@@ -607,11 +802,18 @@
607
802
  "html": "<ul class=\"listbox\" role=\"listbox\" aria-label=\"Documents\" style=\"width: 220px; height: 82px\">\n <li role=\"option\" aria-selected=\"true\">Apple DVD Player</li>\n <li role=\"option\">Apple Video Player</li>\n <li role=\"option\">AppleCD Audio Player</li>\n <li role=\"option\">QuickTime</li>\n <li role=\"option\">Security</li>\n <li role=\"option\">SimpleText</li>\n</ul>",
608
803
  "evidence": [
609
804
  {
610
- "era": "system6",
611
- "claim": "White list, 1px ink frame, 16px rows, selection inverts",
805
+ "era": "system7",
806
+ "claim": "As System 6: a selected row inverts across the list",
612
807
  "status": "inferred",
613
- "source": "not measured",
614
- "upstream": "System 6 Standard File dialog"
808
+ "source": "seen in the Keyboard control panel during capture; not pixel-checked",
809
+ "upstream": "System 7.5.3"
810
+ },
811
+ {
812
+ "era": "system6",
813
+ "claim": "White list, 1px ink frame, 16px rows; a selected row inverts across the whole list width",
814
+ "status": "measured",
815
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frames save-dialog and list-selected (Standard File)",
816
+ "upstream": "System 6.0.8 TeachText Save As"
615
817
  },
616
818
  {
617
819
  "era": "platinum",
@@ -626,6 +828,13 @@
626
828
  "status": "measured",
627
829
  "source": "apps/desktop/styles/65-appearance-themes.css:860 (P10)",
628
830
  "upstream": "Mac OS 9 native list capture 21"
831
+ },
832
+ {
833
+ "era": "drawingboard",
834
+ "claim": "List boxes: a 2px olive #9c9c63 line, 1px of whatever is behind inside it (the pane's paper), white rows, the chosen row #ccf with black text",
835
+ "status": "measured",
836
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame desktop-tab",
837
+ "upstream": "pattern list, lower-left corner"
629
838
  }
630
839
  ]
631
840
  },
@@ -649,6 +858,20 @@
649
858
  "accessibility": "Native scrolling is untouched: wheel, keyboard and touch scroll as usual.",
650
859
  "html": "<div class=\"clio clio-scroll\" style=\"width: 220px; height: 96px; overflow: scroll; border: 1px solid; background: var(--clio-pane-bg); font-family: var(--clio-font-text)\">\n <p style=\"width: 360px; margin: 8px\">The lane, the scroll box and both arrow boxes come from the era. Firefox has no scroll-bar parts, so it gets the era's colours only.</p>\n <p style=\"margin: 8px\">Scroll me.</p>\n</div>",
651
860
  "evidence": [
861
+ {
862
+ "era": "system7",
863
+ "claim": "Arrow boxes and grow box redrawn from the captured pixels (#ddd face, white light, #777 shade, #99c arrows outlined #336)",
864
+ "status": "measured",
865
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame folder-window → tooling/s7-art.py",
866
+ "upstream": "100% identical"
867
+ },
868
+ {
869
+ "era": "system7",
870
+ "claim": "Lane: ltGray pattern in #ddd and #777; scroll box #aaa with #ccf/#336 bevel, a #555 leading edge and a 6×10 grip 3px from it",
871
+ "status": "measured",
872
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame folder-window",
873
+ "upstream": "the real box is a fixed 16 rows; the browser sizes it to the content, so only its first 16 rows match"
874
+ },
652
875
  {
653
876
  "era": "system6",
654
877
  "claim": "Lane: a 1px line and 14px inside; the window frame closes it, so the bar is 15px in CSS",
@@ -679,10 +902,10 @@
679
902
  },
680
903
  {
681
904
  "era": "system6",
682
- "claim": "Left and right arrows are the up and down arrows turned",
683
- "status": "inferred",
684
- "source": "tooling/s6-art.py",
685
- "upstream": "the horizontal arrows were captured only partly"
905
+ "claim": "Left and right arrows: the up arrow turned, apex in the box's first column, tip in its last",
906
+ "status": "measured",
907
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame hd-window (horizontal scroll bar)",
908
+ "upstream": "redrawn as pixels in tooling/s6-art.py"
686
909
  },
687
910
  {
688
911
  "era": "system6",
@@ -704,6 +927,20 @@
704
927
  "status": "measured",
705
928
  "source": "apps/desktop/styles/65-appearance-themes.css:336 (P16), :351 (P17), :364 (P27)",
706
929
  "upstream": "Mac OS 9 native capture 16; GUIdebook Open dialog"
930
+ },
931
+ {
932
+ "era": "drawingboard",
933
+ "claim": "Scroll arrows: the theme's 16x16 boxes, normal, held and disabled, flush with the bar; the grow box is NoGrowBoxRight",
934
+ "status": "measured",
935
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame themes-tab; the theme file's pxm# pixmaps, decoded by tooling/theme-resources.py and redrawn by tooling/db-art.py",
936
+ "upstream": "left and right arrows found 1:1 at (192,297) and (570,297)"
937
+ },
938
+ {
939
+ "era": "drawingboard",
940
+ "claim": "Track: #ece6e4 ruled by pattern pens (ppat 7045-7049: the edges and a double centre line) tiled from the track's start; scroll box from the theme's ends, stretch and grip, whose colours Mac OS passes through 16 bits (5 per channel)",
941
+ "status": "measured",
942
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frames themes-tab and desktop-tab; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
943
+ "upstream": "the Themes list's horizontal bar and the pattern list's vertical bar"
707
944
  }
708
945
  ]
709
946
  },
@@ -746,6 +983,13 @@
746
983
  }
747
984
  ],
748
985
  "evidence": [
986
+ {
987
+ "era": "system7",
988
+ "claim": "Alert frame: 1px black, a raised #ccf/#669 ring, #bbb, a sunken #669/#ccf ring, 1px black (5px, as in System 6)",
989
+ "status": "measured",
990
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame page-setup",
991
+ "upstream": "100% identical. An alert without a colour table keeps System 6's black frame (Monitors & Sound alert); clio.css draws the colour one"
992
+ },
749
993
  {
750
994
  "era": "system6",
751
995
  "claim": "Modal frame: 1px ink, 2px paper, 2px ink, and no drop shadow",
@@ -758,7 +1002,7 @@
758
1002
  "claim": "Plain box: 1px ink frame and a 2px drop shadow",
759
1003
  "status": "inferred",
760
1004
  "source": "not measured",
761
- "upstream": "altDBoxProc"
1005
+ "upstream": "altDBoxProc; none of the 6.0.8 Finder and TeachText dialogs opened for capture (alerts, Standard File, About the Finder) uses it"
762
1006
  },
763
1007
  {
764
1008
  "era": "both",
@@ -773,6 +1017,27 @@
773
1017
  "status": "measured",
774
1018
  "source": "apps/desktop/styles/65-appearance-themes.css:840 (P06)",
775
1019
  "upstream": "GUIdebook Mac OS 9.0 About application (about-alert specimen)"
1020
+ },
1021
+ {
1022
+ "era": "drawingboard",
1023
+ "claim": "Alerts: the theme's eight Alert pictures (6127-6134) round the outline, edges tiled from their ends, on the window paper from 4px inside",
1024
+ "status": "measured",
1025
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame energy-saver-alert; the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
1026
+ "upstream": "every piece found 1:1 round Energy Saver's start-up notice"
1027
+ },
1028
+ {
1029
+ "era": "drawingboard",
1030
+ "claim": "Movable modal dialogs (.modeless-dialog, which is a .window) draw the document window's frame: #222 outline, 4px #cdc6bd frame, #777 inner line, 20px title bar over a #555 rule, the #777 band right and below",
1031
+ "status": "measured",
1032
+ "source": "clio.css capture, Mac OS 8.5 with Drawing Board (npm run capture:drawingboard), frame copy-progress-5",
1033
+ "upstream": "Finder copy window; Movable_Modal pixmaps found 1:1"
1034
+ },
1035
+ {
1036
+ "era": "drawingboard",
1037
+ "claim": "Modal dialogs: the Modal pictures (6135-6142), which have the alert's sizes, placed the same way",
1038
+ "status": "inferred",
1039
+ "source": "the theme file's ppat and pxm# resources, decoded by tooling/theme-resources.py, written by tooling/db-art.py and tooling/db-pens.py",
1040
+ "upstream": "no modal dialog was on screen in the captures"
776
1041
  }
777
1042
  ]
778
1043
  },
@@ -791,12 +1056,19 @@
791
1056
  "accessibility": "A fieldset's legend names the group for screen readers.",
792
1057
  "html": "<fieldset style=\"width: 260px\">\n <legend>Sound</legend>\n <div class=\"field-row\"><label><input type=\"checkbox\" checked> Play system alerts</label></div>\n</fieldset>",
793
1058
  "evidence": [
1059
+ {
1060
+ "era": "system7",
1061
+ "claim": "Native group box: a 1px grey line with the legend on it; the original alternates #777 and #888, drawn #777 here",
1062
+ "status": "measured",
1063
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frames general-controls and numbers",
1064
+ "upstream": "System 7.5.3 control panels"
1065
+ },
794
1066
  {
795
1067
  "era": "system6",
796
- "claim": "1px ink frame with the legend on paper",
797
- "status": "inferred",
798
- "source": "not measured",
799
- "upstream": "System 6 control panels"
1068
+ "claim": "System 6 had no group box; clio.css draws a 1px ink frame with the legend on paper",
1069
+ "status": "adapted",
1070
+ "source": "clio.css",
1071
+ "upstream": "Control Panel divides its panes with plain 1px rules (clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame control-panel)"
800
1072
  },
801
1073
  {
802
1074
  "era": "platinum",
@@ -804,6 +1076,13 @@
804
1076
  "status": "measured",
805
1077
  "source": "apps/desktop/styles/65-appearance-themes.css:909 (P20)",
806
1078
  "upstream": "Mac OS 9 native group box"
1079
+ },
1080
+ {
1081
+ "era": "drawingboard",
1082
+ "claim": "Group boxes: a 1px #777 line (#888 on the bottom and right edge), no bevel",
1083
+ "status": "measured",
1084
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame general-controls",
1085
+ "upstream": "Desktop group"
807
1086
  }
808
1087
  ]
809
1088
  },
@@ -823,12 +1102,19 @@
823
1102
  "accessibility": "Native <progress>; give it a label or aria-label.",
824
1103
  "html": "<div class=\"field-row-stacked\" style=\"width: 260px\">\n <label for=\"clio-copy\">Copying “System Folder”…</label>\n <progress id=\"clio-copy\" max=\"100\" value=\"62\">62%</progress>\n</div>",
825
1104
  "evidence": [
1105
+ {
1106
+ "era": "system7",
1107
+ "claim": "11px, 1px black frame, #ccf track, #444 fill",
1108
+ "status": "measured",
1109
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame copy-progress",
1110
+ "upstream": "100% identical"
1111
+ },
826
1112
  {
827
1113
  "era": "system6",
828
- "claim": "1px ink frame, ink fill",
829
- "status": "inferred",
830
- "source": "not measured",
831
- "upstream": "System 6 Finder copy progress"
1114
+ "claim": "12px tall, 1px ink frame, white track, fill in QuickDraw dkGray (one white dot in four)",
1115
+ "status": "measured",
1116
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame copy-progress (Finder duplicating System Folder)",
1117
+ "upstream": "redrawn as a pattern tile in tooling/s6-art.py"
832
1118
  },
833
1119
  {
834
1120
  "era": "platinum",
@@ -839,10 +1125,31 @@
839
1125
  },
840
1126
  {
841
1127
  "era": "platinum",
842
- "claim": "#bbb track with white/#aaa outer and #888/#ddd inner bevel",
1128
+ "claim": "Frame: 1px black, #aaa outside on the top and left and white on the bottom and right, 10px inside; an indeterminate bar repeats a 16px period of blue and grey stripes",
1129
+ "status": "measured",
1130
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame copy-progress-5; tooling/p9-art.py",
1131
+ "upstream": "Finder copy window, Preparing to copy…"
1132
+ },
1133
+ {
1134
+ "era": "platinum",
1135
+ "claim": "The unfilled track, #bbb with an #888/#ddd inner bevel",
843
1136
  "status": "inferred",
844
1137
  "source": "apps/desktop/styles/65-appearance-themes.css:592",
845
1138
  "upstream": "AI System 6 token, not tagged as measured"
1139
+ },
1140
+ {
1141
+ "era": "drawingboard",
1142
+ "claim": "12px, a #756f66 pencil line with #333 on the left, #ddd6c5 inside; indeterminate bars carry the theme's Indeterminate_Progress_Arrows",
1143
+ "status": "measured",
1144
+ "source": "clio.css capture, Mac OS 8.5 with Drawing Board (npm run capture:drawingboard), frame copy-progress-5; the theme's pxm#",
1145
+ "upstream": "Finder copy window, \"Preparing to copy…\"; the arrows found 1:1"
1146
+ },
1147
+ {
1148
+ "era": "drawingboard",
1149
+ "claim": "The determinate fill stays Platinum's",
1150
+ "status": "inferred",
1151
+ "source": "clio.css",
1152
+ "upstream": "the copy ran too fast to show a determinate bar"
846
1153
  }
847
1154
  ]
848
1155
  },
@@ -866,6 +1173,13 @@
866
1173
  "accessibility": "Use role=tablist, role=tab with aria-selected and aria-controls, and role=tabpanel; arrow keys between tabs are up to your script.",
867
1174
  "html": "<div style=\"width: 320px\">\n <div role=\"tablist\" aria-label=\"Appearance\">\n <button role=\"tab\" aria-selected=\"true\">Appearance</button>\n <button role=\"tab\" aria-selected=\"false\">Fonts</button>\n <button role=\"tab\" aria-selected=\"false\">Sound</button>\n </div>\n <div role=\"tabpanel\">\n <div class=\"field-row\"><label for=\"clio-theme\">Theme:</label>\n <select id=\"clio-theme\"><option>Mac OS Default</option></select>\n </div>\n </div>\n</div>",
868
1175
  "evidence": [
1176
+ {
1177
+ "era": "system7",
1178
+ "claim": "System 7 had no tab control; the System 6 adaptation is used",
1179
+ "status": "adapted",
1180
+ "source": "clio.css",
1181
+ "upstream": "System 7.5.3"
1182
+ },
869
1183
  {
870
1184
  "era": "system6",
871
1185
  "claim": "Boxed labels that join the panel",
@@ -875,10 +1189,104 @@
875
1189
  },
876
1190
  {
877
1191
  "era": "platinum",
878
- "claim": "Tab art: sloped caps, #ccc tabs, the front tab #eee and 2px taller",
879
- "status": "third-party",
880
- "source": "classic-stylesheets macos9/tab*.svg (MIT)",
881
- "upstream": "nielssp/classic-stylesheets @9ebd2d8; AI System 6 measured a 21-row tab (P01, 65-appearance-themes.css:742)"
1192
+ "claim": "Tab art: sloped caps, #ccc tabs, the front tab #eee and 2px taller, drawn by tooling/tab-art.py from the measured geometry",
1193
+ "status": "measured",
1194
+ "source": "tooling/tab-art.py, from AI System 6 specimen selected-tab (GUIdebook Mac OS 9.0 Appearance)",
1195
+ "upstream": "95.7% identical against GUIdebook (selected-tab)"
1196
+ },
1197
+ {
1198
+ "era": "drawingboard",
1199
+ "claim": "Tabs: the theme's left end (6px) and right end (17px, 2px taller) with the right end's first column stretched between; the front tab is the content colour and opens into the panel",
1200
+ "status": "measured",
1201
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame appearance; the theme file's pxm# pixmaps, decoded by tooling/theme-resources.py and redrawn by tooling/db-art.py",
1202
+ "upstream": "NTabLeft and NTabRight found 1:1 at (244,96) and (327,94)"
1203
+ }
1204
+ ]
1205
+ },
1206
+ {
1207
+ "id": "control-strip",
1208
+ "name": "Control Strip",
1209
+ "summary": "The Control Strip of System 7.5 to Mac OS 9: module buttons with menu triangles, scroll arrows and a tab that folds it away. Markup matches AI System 6's.",
1210
+ "selectors": [
1211
+ ".control-strip",
1212
+ ".control-strip.is-collapsed",
1213
+ ".control-strip-scroll",
1214
+ ".control-strip-scroll-back",
1215
+ ".control-strip-scroll-forward",
1216
+ ".control-strip-modules",
1217
+ ".control-strip-module-track",
1218
+ ".control-strip-module",
1219
+ ".control-strip-handle"
1220
+ ],
1221
+ "tokens": [
1222
+ "--clio-strip-height",
1223
+ "--clio-strip-bg",
1224
+ "--clio-strip-line",
1225
+ "--clio-strip-cell-shadow",
1226
+ "--clio-strip-sunken-shadow",
1227
+ "--clio-strip-pressed-bg",
1228
+ "--clio-strip-pressed-shadow",
1229
+ "--clio-strip-module-width",
1230
+ "--clio-strip-handle"
1231
+ ],
1232
+ "accessibility": "role=toolbar on .control-strip-modules with an aria-label; every module and arrow is a <button> with an aria-label; a module that opens a menu carries aria-haspopup=\"menu\" and aria-expanded. Disable the scroll arrows when there is nothing to scroll. Folding (.is-collapsed) and positioning are up to your script.",
1233
+ "html": "<div class=\"control-strip\">\n <button class=\"control-strip-scroll control-strip-scroll-back\" disabled aria-label=\"Scroll back\"></button>\n <div class=\"control-strip-modules\" role=\"toolbar\" aria-label=\"Control Strip\">\n <div class=\"control-strip-module-track\">\n <button class=\"control-strip-module\" aria-haspopup=\"menu\" aria-expanded=\"false\" aria-label=\"Monitor bit depth\"><svg viewBox='0 0 16 16' aria-hidden='true'><rect x='2' y='3' width='12' height='9' fill='none' stroke='currentColor'/><rect x='4' y='5' width='8' height='5' fill='#ff0000'/><rect x='6' y='12' width='4' height='2' fill='currentColor'/></svg></button>\n <button class=\"control-strip-module\" aria-haspopup=\"menu\" aria-expanded=\"false\" aria-label=\"Sound volume\"><svg viewBox='0 0 16 16' aria-hidden='true'><rect x='2' y='3' width='12' height='9' fill='none' stroke='currentColor'/><rect x='4' y='5' width='8' height='5' fill='currentColor'/><rect x='6' y='12' width='4' height='2' fill='currentColor'/></svg></button>\n <button class=\"control-strip-module\" aria-haspopup=\"menu\" aria-expanded=\"false\" aria-label=\"File sharing\"><svg viewBox='0 0 16 16' aria-hidden='true'><rect x='2' y='3' width='12' height='9' fill='none' stroke='currentColor'/><rect x='4' y='5' width='8' height='5' fill='#3366cc'/><rect x='6' y='12' width='4' height='2' fill='currentColor'/></svg></button>\n </div>\n </div>\n <button class=\"control-strip-scroll control-strip-scroll-forward\" disabled aria-label=\"Scroll forward\"></button>\n <button class=\"control-strip-handle\" aria-label=\"Collapse Control Strip\"></button>\n</div>",
1234
+ "variants": [
1235
+ {
1236
+ "name": "Folded",
1237
+ "note": "With .is-collapsed only the tab shows.",
1238
+ "html": "<div class=\"control-strip is-collapsed\"><button class=\"control-strip-handle\" aria-label=\"Expand Control Strip\"></button></div>"
1239
+ }
1240
+ ],
1241
+ "evidence": [
1242
+ {
1243
+ "era": "platinum",
1244
+ "claim": "24px: 1px black lines round every cell; #c0c0c0 cells with a #c0c0c0 then white light and a #a0a0a0 then #808080 shade; an end cap, 13px scroll cells (sunken while there is nothing to scroll), 30px modules with the 16px icon 2px in and a 4x7 menu triangle 4px from the right, then 2px of black and the tab",
1245
+ "status": "measured",
1246
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame strip-expanded",
1247
+ "upstream": "Finder desktop; start of the strip 89.5% identical"
1248
+ },
1249
+ {
1250
+ "era": "platinum",
1251
+ "claim": "Held module: #808080 face, 2px #404040 light and 2px #c0c0c0 shade",
1252
+ "status": "measured",
1253
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:platinum), frame strip-slider",
1254
+ "upstream": "Sound module held"
1255
+ },
1256
+ {
1257
+ "era": "platinum",
1258
+ "claim": "End-cap icon, scroll arrows, menu triangle, the tab and the folded tab",
1259
+ "status": "measured",
1260
+ "source": "tooling/p9-art.py, redrawn from frames strip-expanded and strip-collapsed",
1261
+ "upstream": "tab and folded tab 100% identical"
1262
+ },
1263
+ {
1264
+ "era": "drawingboard",
1265
+ "claim": "The Control Strip is not themed: Mac OS 8.5 under Drawing Board draws it exactly as Mac OS 9 does",
1266
+ "status": "measured",
1267
+ "source": "clio.css capture, Mac OS 8.5 with Drawing Board (npm run capture:drawingboard), frame finder",
1268
+ "upstream": "same cells, bevels and tab, other modules"
1269
+ },
1270
+ {
1271
+ "era": "system6",
1272
+ "claim": "System 6 had no Control Strip: drawn at the Mac OS 9 geometry in ink and paper, with 1-bit arrows, triangle and tab drawn for clio.css",
1273
+ "status": "adapted",
1274
+ "source": "clio.css",
1275
+ "upstream": "AI System 6 shows its Control Strip in every era"
1276
+ },
1277
+ {
1278
+ "era": "system7",
1279
+ "claim": "System 7.5.3 draws the Mac OS 9 strip in System 7 greys: #ccc cells, white light, #aaa then #888 shade, idle scroll cells sunken #888/white; end cap, arrows, triangle and tab identical pixel for pixel",
1280
+ "status": "measured",
1281
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), frame folder-window",
1282
+ "upstream": "Finder desktop"
1283
+ },
1284
+ {
1285
+ "era": "system7",
1286
+ "claim": "Held module in System 7 greys (#888 face, #555 light, #ccc shade)",
1287
+ "status": "inferred",
1288
+ "source": "clio.css, from Mac OS 9's held module",
1289
+ "upstream": "not captured in 7.5.3"
882
1290
  }
883
1291
  ]
884
1292
  },
@@ -903,6 +1311,13 @@
903
1311
  "accessibility": "Make each icon a <button> (or give it role=button and tabindex=0) with its name as the label.",
904
1312
  "html": "<div class=\"desktop\" style=\"min-height: 0; padding: 16px; display: flex; gap: 12px\">\n <button class=\"icon\" aria-pressed=\"false\">\n <svg viewBox=\"0 0 32 32\" aria-hidden=\"true\"><rect x=\"4\" y=\"6\" width=\"24\" height=\"20\" fill=\"#fff\" stroke=\"#000\"/><rect x=\"7\" y=\"9\" width=\"18\" height=\"11\" fill=\"#000\"/></svg>\n <span>Macintosh HD</span>\n </button>\n <button class=\"icon selected\" aria-pressed=\"true\">\n <svg viewBox=\"0 0 32 32\" aria-hidden=\"true\"><path d=\"M5 9h9l2 2h11v15H5z\" fill=\"#fff\" stroke=\"#000\"/></svg>\n <span>Documents</span>\n </button>\n</div>",
905
1313
  "evidence": [
1314
+ {
1315
+ "era": "system7",
1316
+ "claim": "The desktop is a 1px #666/#aaa checker",
1317
+ "status": "measured",
1318
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), every frame",
1319
+ "upstream": "agrees with AI System 6 system-7-reference"
1320
+ },
906
1321
  {
907
1322
  "era": "system6",
908
1323
  "claim": "The desktop is a 1px 50% checker",
@@ -930,6 +1345,13 @@
930
1345
  "status": "inferred",
931
1346
  "source": "apps/desktop/styles/65-appearance-themes.css:85",
932
1347
  "upstream": "base colour of AI System 6's azul tile, generated from a 512 Pixels capture; the tile is not shipped"
1348
+ },
1349
+ {
1350
+ "era": "drawingboard",
1351
+ "claim": "Desktop and icons are unchanged from Platinum; the theme's desktop pictures are not reproduced",
1352
+ "status": "adapted",
1353
+ "source": "clio.css",
1354
+ "upstream": "scen 'Drawing Board on a Grid' / 'on Parchment' are Apple artwork"
933
1355
  }
934
1356
  ]
935
1357
  },
@@ -941,6 +1363,7 @@
941
1363
  ".clio",
942
1364
  ".text",
943
1365
  ".heading",
1366
+ ".display",
944
1367
  "[data-era=system6]",
945
1368
  "[data-era=platinum]"
946
1369
  ],
@@ -949,27 +1372,63 @@
949
1372
  "--clio-paper",
950
1373
  "--clio-font-chrome",
951
1374
  "--clio-font-text",
1375
+ "--clio-font-display",
952
1376
  "--clio-font-size",
953
1377
  "--clio-selection-bg",
954
1378
  "--clio-focus-outline"
955
1379
  ],
956
1380
  "accessibility": "Text colours keep at least 4.5:1 on their grounds; disabled text keeps 3:1 or more.",
957
- "html": "<div class=\"clio\" style=\"padding: 12px; background: var(--clio-pane-bg)\">\n <h2 class=\"heading\">Chicago is the system font</h2>\n <p class=\"text\">Geneva is the application font. Every value is a --clio-* custom property you can override on any element.</p>\n</div>",
1381
+ "html": "<div class=\"clio\" style=\"padding: 12px; background: var(--clio-pane-bg)\">\n <h2 class=\"heading\">Clio Sans '84 is the system font</h2>\n <p class=\"text\">Clio Text '84 (Geneva) is the application font. Every value is a --clio-* custom property you can override on any element.</p>\n <p class=\"display\" style=\"font-size: 28px; line-height: 34px; margin: 0\">Display: any other size</p>\n</div>",
958
1382
  "evidence": [
1383
+ {
1384
+ "era": "system7",
1385
+ "claim": "System 7 keeps System 6's fonts: Clio Sans '84 for chrome, Clio Text '84 for text",
1386
+ "status": "measured",
1387
+ "source": "clio.css capture, System 7.5.3 in Infinite Mac (npm run capture:system7), title bar text",
1388
+ "upstream": "the title Infinite HD matches pixel for pixel"
1389
+ },
1390
+ {
1391
+ "era": "system6",
1392
+ "claim": "Chrome text is Clio Sans '84: Chicago 12 rebuilt pixel for pixel (104 Key Caps characters, space, |, ⌘ and ✓), ascent 11, descent 3, drawn without antialiasing",
1393
+ "status": "measured",
1394
+ "source": "clio.css capture, System 6.0.8 Key Caps (npm run capture:keycaps → tooling/extract-glyphs.py → fonts-src/clio-sans-84.txt)",
1395
+ "upstream": "title bar 100% and default OK button 99.7% identical to the real screen"
1396
+ },
1397
+ {
1398
+ "era": "system6",
1399
+ "claim": "Application text is Clio Text '84 (Geneva 12) and small text Clio Text '84 9 (Geneva 9: info line, icon names, status), rebuilt the same way and drawn without antialiasing",
1400
+ "status": "measured",
1401
+ "source": "clio.css capture, System 6.0.8 Key Caps (Geneva 12) and Get Info comments (Geneva 9) → fonts-src/clio-text-84.txt, clio-text-84-9.txt",
1402
+ "upstream": "TeachText's first line and the Finder info line are 100% identical to the real screen"
1403
+ },
959
1404
  {
960
1405
  "era": "system6",
961
- "claim": "ChicagoFLF, a public-domain revival of Chicago, for chrome",
1406
+ "claim": "ChicagoFLF stays in the stack as the outline fallback for sizes that are not multiples of 12px",
962
1407
  "status": "third-party",
963
1408
  "source": "vendor/system.css-reference/fonts/ChicagoFLF.woff2",
964
1409
  "upstream": "Robin Casady's ChicagoFLF (public domain), as shipped by system.css"
965
1410
  },
966
1411
  {
967
1412
  "era": "platinum",
968
- "claim": "Charcoal when installed; otherwise Asap (OFL) at width 113 for text and 123 for titles, weights 400/600/700",
1413
+ "claim": "Charcoal when installed; Asap (OFL) as the last fallback at width 113 for text and 123 for titles, weights 400/600/700",
969
1414
  "status": "measured",
970
1415
  "source": "apps/desktop/assets/fonts/platinum/README.md; 65-appearance-themes.css:25",
971
1416
  "upstream": "Asap matched to a measured Charcoal sample's x-height and advance width"
972
1417
  },
1418
+ {
1419
+ "era": "platinum",
1420
+ "claim": "Clio Sans '97 Display (.display, --clio-font-display): Charcoal's outlines traced with potrace from Mac OS 9.0 drawing every character at 72 points in Stickies, for sizes other than 12px and its multiples",
1421
+ "status": "measured",
1422
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:charcoal-large → tooling/trace-outline.py)",
1423
+ "upstream": "at 72px the ink overlaps the capture's by 90.3% (the rest is antialiased edge)"
1424
+ },
1425
+ {
1426
+ "era": "platinum",
1427
+ "claim": "Clio Sans '97: Charcoal 12 rebuilt pixel for pixel from Mac OS 9.0 Key Caps (107 glyphs, 3px space from the Finder title and the Apple menu, command key from the File menu), used when Charcoal is not installed, drawn unsmoothed",
1428
+ "status": "measured",
1429
+ "source": "clio.css capture, Mac OS 9.0 in Infinite Mac (npm run capture:keycaps -- charcoal), fonts-src/clio-sans-97.txt",
1430
+ "upstream": "GUIdebook selected tab 80.5% to 95.7%, disabled button 88.2% to 96.9%"
1431
+ },
973
1432
  {
974
1433
  "era": "platinum",
975
1434
  "claim": "Palette #fff #ddd #ccc #999 #777 #000, accent #333399, lavender #ccccff",
@@ -979,10 +1438,24 @@
979
1438
  },
980
1439
  {
981
1440
  "era": "system6",
982
- "claim": "Disabled text #696969 instead of a 50% dither",
983
- "status": "adapted",
984
- "source": "apps/desktop/styles/00-foundation.css (shade-dark)",
985
- "upstream": "5.6:1 on white; a dither blurs under browser scaling"
1441
+ "claim": "Disabled text (menu items, button and control labels) through the screen-aligned 50% gray pattern",
1442
+ "status": "measured",
1443
+ "source": "clio.css capture, System 6.0.8 in Infinite Mac (npm run capture:system6), frame file-menu",
1444
+ "upstream": "--clio-disabled-dither: none gives solid #696969 (5.6:1 on white)"
1445
+ },
1446
+ {
1447
+ "era": "drawingboard",
1448
+ "claim": "Chrome text is #313131; titles and labels are Charcoal, as in Platinum",
1449
+ "status": "measured",
1450
+ "source": "clio.css capture, Mac OS 8.5 with the 8.5b6 Drawing Board theme in Infinite Mac (npm run capture:drawingboard), frame appearance",
1451
+ "upstream": "tab and title text ink"
1452
+ },
1453
+ {
1454
+ "era": "both",
1455
+ "claim": "Window titles and push button labels: each of Charcoal's 16 antialiasing levels takes the exact colour the real screen shows for that text colour on that background (Platinum titles on #ccc, buttons on #ddd, held buttons white on #666, disabled; Drawing Board buttons #333 on #cec6b5 with #313131 solid pixels), via Clio Sans '97 Exact palettes",
1456
+ "status": "measured",
1457
+ "source": "clio.css captures of Mac OS 9.0 and Mac OS 8.5 in Infinite Mac; tooling/aa-palettes.py",
1458
+ "upstream": "Appearance title bar, Set Desktop normal and held, Save Theme…"
986
1459
  }
987
1460
  ]
988
1461
  }