create-asciitorium 0.1.34 → 0.1.36

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 (46) hide show
  1. package/README.md +4 -4
  2. package/dist/index.js +2 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/templates/base/index.html +1 -1
  5. package/dist/templates/base/package.json +1 -1
  6. package/dist/templates/base/public/art/ART-DESIGN-SPEC.md +375 -0
  7. package/dist/templates/base/public/art/README.md +115 -0
  8. package/dist/templates/base/public/art/asciitorium.art +111 -0
  9. package/dist/templates/base/public/art/borders/bubbles.art +16 -0
  10. package/dist/templates/base/public/art/borders/dna.art +9 -0
  11. package/dist/templates/base/public/art/castle.art +4 -0
  12. package/dist/templates/base/public/art/computer.art +17 -0
  13. package/dist/templates/base/public/art/font/pencil.art +168 -0
  14. package/dist/templates/base/public/art/maps/README.md +251 -0
  15. package/dist/templates/base/public/art/maps/example/README.md +62 -0
  16. package/dist/templates/base/public/art/maps/example/legend.json +29 -0
  17. package/dist/templates/base/public/art/maps/example/map.art +21 -0
  18. package/dist/templates/base/public/art/materials/README.md +279 -0
  19. package/dist/templates/base/public/art/materials/bone.art +11 -0
  20. package/dist/templates/base/public/art/materials/door-wooden.art +154 -0
  21. package/dist/templates/base/public/art/materials/wall-brick.art +128 -0
  22. package/dist/templates/base/public/art/materials/wall-wireframe.art +128 -0
  23. package/dist/templates/base/public/art/mazes/example.art +21 -0
  24. package/dist/templates/base/public/art/sounds/door-close.mp3 +0 -0
  25. package/dist/templates/base/public/art/sounds/door-open.mp3 +0 -0
  26. package/dist/templates/base/public/art/sounds/taps.mp3 +0 -0
  27. package/dist/templates/base/public/art/sprites/asciitorium.art +6 -0
  28. package/dist/templates/base/public/art/sprites/balloon.art +126 -0
  29. package/dist/templates/base/public/art/sprites/beating-heart.art +49 -0
  30. package/dist/templates/base/public/art/sprites/castle.art +4 -0
  31. package/dist/templates/base/public/art/sprites/component-icon.art +6 -0
  32. package/dist/templates/base/public/art/sprites/eyes.art +61 -0
  33. package/dist/templates/base/public/art/sprites/firework.art +58 -0
  34. package/dist/templates/base/public/art/sprites/heart.art +5 -0
  35. package/dist/templates/base/public/art/sprites/multi-select-test.art +6 -0
  36. package/dist/templates/base/public/art/sprites/nav-basics.art +5 -0
  37. package/dist/templates/base/public/art/sprites/pyramid.art +5 -0
  38. package/dist/templates/base/public/art/sprites/tatooene.art +5 -0
  39. package/dist/templates/base/public/art/sprites/welcome.art +7 -0
  40. package/dist/templates/base/public/art/tatooene.txt +5 -0
  41. package/dist/templates/base/public/index.css +41 -0
  42. package/dist/templates/base/public/logo.png +0 -0
  43. package/dist/templates/base/scripts/gen-figlet-art.js +2 -2
  44. package/dist/templates/base/scripts/map-builder.js +294 -0
  45. package/dist/templates/base/src/main.tsx +22 -79
  46. package/package.json +1 -1
@@ -0,0 +1,21 @@
1
+ ╭───────────────────────────────────┬───╮
2
+ │ │ │
3
+ │ ╷ ╭───────────────┬───────╮ ╰─o─┤
4
+ │ │ │ │ │ │
5
+ │ │ ╵ ╶───────╮ ├─o─╮ ╰───╮ │
6
+ │ │ │ │ │ │ │
7
+ │ ╰───────┬───────╯ ├───┤ ╭───╯ │
8
+ │ │ │ │ │ │
9
+ ├───────────╯ ╭───────┴─o─┤ │ ╶───┤
10
+ │ │ │ │ │
11
+ │ ╭───╴ ╭───╯ ╭───────╯ ├───╮ │
12
+ │ │ │ │ │ │ │
13
+ │ ╰───┬─o─┤ ╭───┤ ╶───╮ ├─o─┤ │
14
+ │ │ │ │ │ │ │ │ │
15
+ ├───╮ ╰───╯ ├─o─╯ ╷ │ ╵ │ │
16
+ │ │ │ │ │ │ │
17
+ ├─o─┴───────────┤ ╭───╯ ├───────┤ │
18
+ │ │ │ │ │ │
19
+ │ ╶───╮ ╶───╯ │ ╶───╯ ╷ ╵ │
20
+ │ │ │ │ │
21
+ ╰───────┴───────────┴───────────┴───────╯
@@ -0,0 +1,6 @@
1
+ █████╗ ███████╗ ██████╗██╗██╗████████╗ ██████╗ ██████╗ ██╗██╗ ██╗███╗ ███╗
2
+ ██╔══██╗██╔════╝██╔════╝██║██║╚══██╔══╝██╔═══██╗██╔══██╗██║██║ ██║████╗ ████║
3
+ ███████║███████╗██║ ██║██║ ██║ ██║ ██║██████╔╝██║██║ ██║██╔████╔██║
4
+ ██╔══██║╚════██║██║ ██║██║ ██║ ██║ ██║██╔══██╗██║██║ ██║██║╚██╔╝██║
5
+ ██║ ██║███████║╚██████╗██║██║ ██║ ╚██████╔╝██║ ██║██║╚██████╔╝██║ ╚═╝ ██║
6
+ ╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝
@@ -0,0 +1,126 @@
1
+ § {"kind":"sprite","loop":true,"default-frame-rate":200}
2
+ ¶ {"duration":3000}
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
+ ¶ {"duration":3000}
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
+ █▒█████
@@ -0,0 +1,49 @@
1
+ § {"kind":"sprite","loop":true,"default-frame-rate":100}
2
+ ¶ {"duration":1000}
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
+ ▀▀
@@ -0,0 +1,4 @@
1
+ █▄█▄█ █▄█▄█
2
+ █▄█▄█▄█▄█▐█┼█▌█▄█▄█▄█▄█▐█┼█▌█▄█▄█▄█▄█
3
+ ███┼██┼██▐███▌█┼█╔═╗█┼█▐███▌███┼█████
4
+ █████████▐███▌███║▓║███▐███▌█████████
@@ -0,0 +1,6 @@
1
+ ┌─╮
2
+ ╭─┐ │ │
3
+ │ │ └─┘
4
+ ├─┼─┐
5
+ │ │ │
6
+ ╰─┴─╯
@@ -0,0 +1,61 @@
1
+ § {"kind":"sprite","loop":true,"default-frame-rate":25}
2
+ ¶ {"duration":6000}
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
+ ▀▄▄▄▀ ▀▄▄▄▀
@@ -0,0 +1,58 @@
1
+ § {"kind":"sprite","loop":false,"default-frame-rate":100,"transparent":" "}
2
+
3
+
4
+
5
+
6
+ o
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
+
@@ -0,0 +1,5 @@
1
+ ▄█▀█▄ ▄███▄
2
+ ▐█░██████████▌
3
+ ██▒█████████
4
+ ▀████████▀
5
+ ▀██▀
@@ -0,0 +1,6 @@
1
+ [ ] Art
2
+ > [ ] Button
3
+ [ ] Form
4
+ [X] Selected Form
5
+ [ ] Modal
6
+ [ ] Dungeon Crawler
@@ -0,0 +1,5 @@
1
+ ╭───────╮ ╭───────────╮ ╭────╮
2
+ │ │ │ │ │ │
3
+ │ Tab │ + │ Shift │ │ F1 │
4
+ │ │ │ │ │ │
5
+ ╰───────╯ ╰───────────╯, ╰────╯
@@ -0,0 +1,5 @@
1
+ ▄█▀▄
2
+ ▄██▀▀▀▀▄
3
+ ▄███▀▀▀▀▀▀▀▄
4
+ ▄████▀▀▀▀▀▀▀▀▀▀▄
5
+ ▄█████▀▀▀▀▀▀▀▀▀▀▀▀▀▄
@@ -0,0 +1,5 @@
1
+ ▄▀█▀█▀▄
2
+ ▀▀▀▀▀▀▀▀▀
3
+ ▄ ░░░░░▄
4
+ █ ▄ ▄ ▐▌▌░░░░░▌▌
5
+ ▌▄█▐▌▐█▐▐▌█▌█▌█░░░░░▌▌
@@ -0,0 +1,7 @@
1
+ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
2
+ ░░░ ░░░ ░ ░ ░░░░ ░░ ░░ ░░░ ░ ░ ░░░░
3
+ ▒▒▒ ▒ ▒ ▒ ▒▒▒ ▒▒▒ ▒▒ ▒ ▒▒ ▒ ▒ ▒ ▒▒▒ ▒▒▒▒
4
+ ▓▓▓ ▓ ▓▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓ ▓ ▓▓ ▓▓▓▓
5
+ ▓▓▓ ▓ ▓ ▓▓▓ ▓▓▓ ▓▓ ▓ ▓▓ ▓ ▓ ▓ ▓ ▓▓▓▓▓▓▓▓
6
+ ███ ███ █ █ ██ ██ ██ ███ █ █ ████
7
+ ████████████████████████████████████████████████████
@@ -0,0 +1,5 @@
1
+ ▄▀█▀█▀▄
2
+ ▀▀▀▀▀▀▀▀▀
3
+ ▄ ░░░░░▄
4
+ █ ▄ ▄ ▐▌▌░░░░░▌▌
5
+ ▌▄█▐▌▐█▐▐▌█▌█▌█░░░░░▌▌
@@ -0,0 +1,41 @@
1
+ body {
2
+ font-family:
3
+ 'Courier New', 'Courier', 'Menlo', 'Monaco', 'Consolas', monospace;
4
+ margin: 0;
5
+ padding: 0;
6
+ background: black;
7
+ color: #2cd03a;
8
+
9
+ /* Center the screen horizontally, align to top vertically */
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: flex-start;
13
+ min-height: 100vh; /* Full viewport height */
14
+ width: 100vw; /* Full viewport width */
15
+ overflow: hidden; /* Prevent body scrollbars */
16
+ padding-top: 1rem; /* Small top margin */
17
+ }
18
+
19
+ #screen {
20
+ /* Use viewport dimensions for responsive sizing */
21
+ width: 98vw;
22
+ height: calc(100vh - 1rem); /* Full height minus body padding */
23
+ margin: 0;
24
+ padding: 0;
25
+ overflow: hidden; /* Hide scrollbars for clean appearance */
26
+
27
+ /* Ensure monospace font for proper character sizing */
28
+ font-family:
29
+ 'Courier New', 'Courier', 'Menlo', 'Monaco', 'Consolas', monospace;
30
+ font-size: 16px; /* Base font size for character measurement */
31
+ line-height: 1.1; /* Tight line spacing for ASCII art */
32
+
33
+ /* Center text content horizontally */
34
+ text-align: center;
35
+ white-space: pre; /* Preserve spaces and newlines */
36
+ }
37
+
38
+ .inverted {
39
+ background-color: #3fff00;
40
+ color: black;
41
+ }
@@ -23,13 +23,13 @@ figlet.text(phrase, { font }, (err, data) => {
23
23
  const outputPath = path.join(
24
24
  __dirname,
25
25
  '../public/art',
26
- `${safeFilename}.txt`
26
+ `${safeFilename}.art`
27
27
  );
28
28
 
29
29
  fs.ensureDirSync(path.dirname(outputPath));
30
30
  fs.writeFileSync(outputPath, data);
31
31
 
32
- console.log(`✅ Generated: art/${safeFilename}.txt`);
32
+ console.log(`✅ Generated: art/${safeFilename}.art`);
33
33
  });
34
34
 
35
35
  const __dirname = path.dirname(fileURLToPath(import.meta.url));