hokusai-zero 0.1.3 → 0.1.4

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +4 -0
  4. data/README.md +2 -0
  5. data/ast/src/core/hml.c +9 -9
  6. data/ast/src/core/text.c +1 -3
  7. data/ast/test/text.c +3 -3
  8. data/docs.sh +29 -0
  9. data/ext/extconf.rb +50 -14
  10. data/grammar/corpus/1_document.txt +24 -0
  11. data/grammar/corpus/6_styles.txt +23 -0
  12. data/grammar/grammar.js +4 -4
  13. data/grammar/src/grammar.json +19 -19
  14. data/grammar/src/parser.c +1904 -1956
  15. data/grammar/test.nml +10 -8
  16. data/hokusai.gemspec +2 -1
  17. data/ui/examples/assets/Delius-Regular.ttf +0 -0
  18. data/ui/examples/assets/DoHyeon.ttf +0 -0
  19. data/ui/examples/assets/Inter-Regular.ttf +0 -0
  20. data/ui/examples/assets/ernest.gif +0 -0
  21. data/ui/examples/assets/icons/audio-x-generic.png +0 -0
  22. data/ui/examples/assets/icons/image-x-generic.png +0 -0
  23. data/ui/examples/assets/icons/media-playback-pause.png +0 -0
  24. data/ui/examples/assets/icons/media-playback-start.png +0 -0
  25. data/ui/examples/assets/icons/media-playback-stop.png +0 -0
  26. data/ui/examples/assets/icons/package-x-generic.png +0 -0
  27. data/ui/examples/assets/icons/text-x-generic.png +0 -0
  28. data/ui/examples/assets/icons/video-x-generic.png +0 -0
  29. data/ui/examples/buddy.rb +16 -14
  30. data/ui/examples/clock.rb +38 -36
  31. data/ui/examples/counter.rb +100 -98
  32. data/ui/examples/dynamic.rb +115 -113
  33. data/ui/examples/foobar.rb +189 -187
  34. data/ui/examples/forum/file.rb +54 -0
  35. data/ui/examples/forum/music.rb +76 -0
  36. data/ui/examples/forum/post.rb +146 -0
  37. data/ui/examples/forum.rb +198 -0
  38. data/ui/examples/spreadsheet/csv.rb +261 -0
  39. data/ui/examples/spreadsheet.rb +138 -0
  40. data/ui/examples/stock.rb +86 -92
  41. data/ui/examples/stock_decider/option.rb +1 -1
  42. data/ui/examples/tic_tac_toe.rb +193 -191
  43. data/ui/lib/lib_hokusai.rb +0 -1
  44. data/ui/src/hokusai/ast.rb +42 -43
  45. data/ui/src/hokusai/backends/raylib/font.rb +1 -2
  46. data/ui/src/hokusai/backends/raylib.rb +16 -7
  47. data/ui/src/hokusai/backends/sdl2/font.rb +13 -9
  48. data/ui/src/hokusai/backends/sdl2.rb +5 -5
  49. data/ui/src/hokusai/block.rb +7 -0
  50. data/ui/src/hokusai/blocks/hblock.rb +2 -2
  51. data/ui/src/hokusai/blocks/image.rb +5 -1
  52. data/ui/src/hokusai/blocks/input.rb +17 -0
  53. data/ui/src/hokusai/blocks/label.rb +5 -2
  54. data/ui/src/hokusai/blocks/text.rb +10 -5
  55. data/ui/src/hokusai/blocks/titlebar/osx.rb +4 -4
  56. data/ui/src/hokusai/blocks/variable.rb +33 -0
  57. data/ui/src/hokusai/blocks/vblock.rb +1 -1
  58. data/ui/src/hokusai/commands/rect.rb +4 -4
  59. data/ui/src/hokusai/commands.rb +33 -31
  60. data/ui/src/hokusai/diff.rb +11 -0
  61. data/ui/src/hokusai/event.rb +19 -5
  62. data/ui/src/hokusai/events/mouse.rb +9 -1
  63. data/ui/src/hokusai/font.rb +60 -0
  64. data/ui/src/hokusai/meta.rb +10 -16
  65. data/ui/src/hokusai/node.rb +1 -1
  66. data/ui/src/hokusai/painter.rb +1 -2
  67. data/ui/src/hokusai/util/clamping_iterator.rb +5 -6
  68. data/ui/src/hokusai.rb +36 -4
  69. metadata +37 -3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hokusai-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - skinnyjames
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-03 00:00:00.000000000 Z
11
+ date: 2025-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.2.3
69
+ - !ruby/object:Gem::Dependency
70
+ name: memory_profiler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description:
70
84
  email: zero@skinnyjames.net
71
85
  executables: []
@@ -104,6 +118,7 @@ files:
104
118
  - ast/test/hokusai.c
105
119
  - ast/test/parser.c
106
120
  - ast/test/text.c
121
+ - docs.sh
107
122
  - ext/extconf.rb
108
123
  - grammar/Cargo.lock
109
124
  - grammar/Cargo.toml
@@ -129,19 +144,37 @@ files:
129
144
  - grammar/src/tree_sitter/scanner.h
130
145
  - grammar/test.nml
131
146
  - hokusai.gemspec
147
+ - ui/examples/assets/Delius-Regular.ttf
132
148
  - ui/examples/assets/DigitalDisplay.ttf
149
+ - ui/examples/assets/DoHyeon.ttf
150
+ - ui/examples/assets/Inter-Regular.ttf
133
151
  - ui/examples/assets/OpenSans-Regular.ttf
134
152
  - ui/examples/assets/addy.png
135
153
  - ui/examples/assets/baby_sean.png
154
+ - ui/examples/assets/ernest.gif
136
155
  - ui/examples/assets/football-troll.png
137
156
  - ui/examples/assets/gear.png
138
157
  - ui/examples/assets/icecold.ttf
158
+ - ui/examples/assets/icons/audio-x-generic.png
159
+ - ui/examples/assets/icons/image-x-generic.png
160
+ - ui/examples/assets/icons/media-playback-pause.png
161
+ - ui/examples/assets/icons/media-playback-start.png
162
+ - ui/examples/assets/icons/media-playback-stop.png
163
+ - ui/examples/assets/icons/package-x-generic.png
164
+ - ui/examples/assets/icons/text-x-generic.png
165
+ - ui/examples/assets/icons/video-x-generic.png
139
166
  - ui/examples/assets/science-troll.png
140
167
  - ui/examples/buddy.rb
141
168
  - ui/examples/clock.rb
142
169
  - ui/examples/counter.rb
143
170
  - ui/examples/dynamic.rb
144
171
  - ui/examples/foobar.rb
172
+ - ui/examples/forum.rb
173
+ - ui/examples/forum/file.rb
174
+ - ui/examples/forum/music.rb
175
+ - ui/examples/forum/post.rb
176
+ - ui/examples/spreadsheet.rb
177
+ - ui/examples/spreadsheet/csv.rb
145
178
  - ui/examples/stock.rb
146
179
  - ui/examples/stock_decider/option.rb
147
180
  - ui/examples/tic_tac_toe.rb
@@ -207,6 +240,7 @@ files:
207
240
  - ui/src/hokusai/blocks/text.rb
208
241
  - ui/src/hokusai/blocks/titlebar/osx.rb
209
242
  - ui/src/hokusai/blocks/toggle.rb
243
+ - ui/src/hokusai/blocks/variable.rb
210
244
  - ui/src/hokusai/blocks/vblock.rb
211
245
  - ui/src/hokusai/commands.rb
212
246
  - ui/src/hokusai/commands/base.rb
@@ -257,7 +291,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
291
  - !ruby/object:Gem::Version
258
292
  version: '0'
259
293
  requirements: []
260
- rubygems_version: 3.5.22
294
+ rubygems_version: 3.5.18
261
295
  signing_key:
262
296
  specification_version: 4
263
297
  summary: A Ruby library for writing GUI applications