zaniah 0.1.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 (166) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +70 -0
  5. data/assets/fonts/Abel-Regular.ttf +0 -0
  6. data/assets/fonts/OFL.txt +93 -0
  7. data/docs/adr/000-template.md +24 -0
  8. data/docs/adr/001-native-gpu-backends.md +36 -0
  9. data/docs/adr/002-objective-c-aggregates.md +34 -0
  10. data/docs/adr/003-fiddle-call-boundary.md +33 -0
  11. data/docs/adr/README.md +10 -0
  12. data/docs/native.md +66 -0
  13. data/docs/process_pool.md +67 -0
  14. data/docs/text.md +90 -0
  15. data/docs/vector_and_list.md +52 -0
  16. data/examples/ffi_bench.rb +16 -0
  17. data/examples/linux_smoke.rb +53 -0
  18. data/examples/mac_event_check.rb +61 -0
  19. data/examples/mac_poll_bench.rb +24 -0
  20. data/examples/metal_state_check.rb +72 -0
  21. data/examples/native_bench.rb +18 -0
  22. data/examples/native_drop.rb +82 -0
  23. data/examples/native_font.rb +15 -0
  24. data/examples/native_ime.rb +50 -0
  25. data/examples/native_smoke.rb +75 -0
  26. data/examples/native_text_bench.rb +83 -0
  27. data/examples/native_watch.rb +25 -0
  28. data/examples/vulkan_triangle.rb +20 -0
  29. data/examples/word_count_worker.rb +8 -0
  30. data/lib/zaniah/anchored.rb +10 -0
  31. data/lib/zaniah/app.rb +130 -0
  32. data/lib/zaniah/bounds.rb +22 -0
  33. data/lib/zaniah/canvas.rb +15 -0
  34. data/lib/zaniah/color.rb +35 -0
  35. data/lib/zaniah/configuration.rb +5 -0
  36. data/lib/zaniah/corners.rb +7 -0
  37. data/lib/zaniah/data_compat.rb +25 -0
  38. data/lib/zaniah/device_pixels.rb +7 -0
  39. data/lib/zaniah/div.rb +5 -0
  40. data/lib/zaniah/edges.rb +7 -0
  41. data/lib/zaniah/element.rb +106 -0
  42. data/lib/zaniah/entity.rb +9 -0
  43. data/lib/zaniah/entity_context.rb +17 -0
  44. data/lib/zaniah/error.rb +5 -0
  45. data/lib/zaniah/ffi/com.rb +24 -0
  46. data/lib/zaniah/ffi/library.rb +29 -0
  47. data/lib/zaniah/ffi/objc.rb +86 -0
  48. data/lib/zaniah/ffi/struct/signature.rb +46 -0
  49. data/lib/zaniah/ffi/struct.rb +61 -0
  50. data/lib/zaniah/ffi/wayland.rb +140 -0
  51. data/lib/zaniah/frame_context.rb +14 -0
  52. data/lib/zaniah/geometry.rb +16 -0
  53. data/lib/zaniah/gpu/buffer.rb +23 -0
  54. data/lib/zaniah/gpu/frame_encoder.rb +43 -0
  55. data/lib/zaniah/gpu/instance_packing.rb +53 -0
  56. data/lib/zaniah/gpu/metal.rb +209 -0
  57. data/lib/zaniah/gpu/open_gl.rb +210 -0
  58. data/lib/zaniah/gpu/pipeline.rb +7 -0
  59. data/lib/zaniah/gpu/software.rb +126 -0
  60. data/lib/zaniah/gpu/texture.rb +33 -0
  61. data/lib/zaniah/gpu/vulkan.rb +233 -0
  62. data/lib/zaniah/gpu.rb +18 -0
  63. data/lib/zaniah/hsla.rb +14 -0
  64. data/lib/zaniah/image.rb +19 -0
  65. data/lib/zaniah/input/action_registry.rb +12 -0
  66. data/lib/zaniah/input/composition.rb +7 -0
  67. data/lib/zaniah/input/context_predicate.rb +87 -0
  68. data/lib/zaniah/input/dispatcher.rb +59 -0
  69. data/lib/zaniah/input/file_drop.rb +7 -0
  70. data/lib/zaniah/input/focus_handle.rb +24 -0
  71. data/lib/zaniah/input/key_down.rb +7 -0
  72. data/lib/zaniah/input/key_up.rb +7 -0
  73. data/lib/zaniah/input/keymap/binding.rb +9 -0
  74. data/lib/zaniah/input/keymap.rb +55 -0
  75. data/lib/zaniah/input/keystroke.rb +20 -0
  76. data/lib/zaniah/input/mouse_down.rb +7 -0
  77. data/lib/zaniah/input/mouse_move.rb +7 -0
  78. data/lib/zaniah/input/mouse_up.rb +7 -0
  79. data/lib/zaniah/input/scroll_wheel.rb +7 -0
  80. data/lib/zaniah/input/text_input.rb +7 -0
  81. data/lib/zaniah/input.rb +17 -0
  82. data/lib/zaniah/layout/available_space.rb +11 -0
  83. data/lib/zaniah/layout/engine.rb +214 -0
  84. data/lib/zaniah/layout/node.rb +36 -0
  85. data/lib/zaniah/layout/style.rb +19 -0
  86. data/lib/zaniah/layout/tree.rb +16 -0
  87. data/lib/zaniah/layout.rb +11 -0
  88. data/lib/zaniah/length.rb +14 -0
  89. data/lib/zaniah/length_units.rb +9 -0
  90. data/lib/zaniah/list/height_index.rb +68 -0
  91. data/lib/zaniah/list.rb +101 -0
  92. data/lib/zaniah/overlay.rb +10 -0
  93. data/lib/zaniah/platform/display.rb +7 -0
  94. data/lib/zaniah/platform/file_event.rb +7 -0
  95. data/lib/zaniah/platform/headless/window.rb +185 -0
  96. data/lib/zaniah/platform/linux/appearance_aware.rb +60 -0
  97. data/lib/zaniah/platform/linux/displays.rb +55 -0
  98. data/lib/zaniah/platform/linux/free_type.rb +80 -0
  99. data/lib/zaniah/platform/linux/watcher.rb +70 -0
  100. data/lib/zaniah/platform/linux/wayland_display_discovery.rb +60 -0
  101. data/lib/zaniah/platform/linux/wayland_window.rb +369 -0
  102. data/lib/zaniah/platform/linux/window.rb +418 -0
  103. data/lib/zaniah/platform/linux.rb +3 -0
  104. data/lib/zaniah/platform/mac/app.rb +67 -0
  105. data/lib/zaniah/platform/mac/core_text.rb +94 -0
  106. data/lib/zaniah/platform/mac/displays.rb +23 -0
  107. data/lib/zaniah/platform/mac/watcher.rb +63 -0
  108. data/lib/zaniah/platform/mac/window.rb +298 -0
  109. data/lib/zaniah/platform/mac.rb +19 -0
  110. data/lib/zaniah/platform/tui/input_decoder.rb +145 -0
  111. data/lib/zaniah/platform/tui/text_renderer.rb +40 -0
  112. data/lib/zaniah/platform/tui/window.rb +91 -0
  113. data/lib/zaniah/platform/windows/terminal.rb +127 -0
  114. data/lib/zaniah/platform/windows/watcher.rb +91 -0
  115. data/lib/zaniah/platform/windows/window.rb +407 -0
  116. data/lib/zaniah/platform/windows.rb +3 -0
  117. data/lib/zaniah/platform.rb +34 -0
  118. data/lib/zaniah/png.rb +118 -0
  119. data/lib/zaniah/point.rb +8 -0
  120. data/lib/zaniah/process_pool/worker.rb +7 -0
  121. data/lib/zaniah/process_pool.rb +239 -0
  122. data/lib/zaniah/process_wire.rb +127 -0
  123. data/lib/zaniah/quad_packer.rb +15 -0
  124. data/lib/zaniah/scene/sprite_batch.rb +7 -0
  125. data/lib/zaniah/scene.rb +167 -0
  126. data/lib/zaniah/scene_renderer.rb +8 -0
  127. data/lib/zaniah/size.rb +5 -0
  128. data/lib/zaniah/subscription.rb +14 -0
  129. data/lib/zaniah/svg/path.rb +134 -0
  130. data/lib/zaniah/svg/rasterizable.rb +186 -0
  131. data/lib/zaniah/svg.rb +295 -0
  132. data/lib/zaniah/task/cancelled.rb +7 -0
  133. data/lib/zaniah/task/timeout.rb +7 -0
  134. data/lib/zaniah/task.rb +51 -0
  135. data/lib/zaniah/task_executor.rb +105 -0
  136. data/lib/zaniah/text.rb +24 -0
  137. data/lib/zaniah/text_system/atlas/entry.rb +9 -0
  138. data/lib/zaniah/text_system/atlas.rb +102 -0
  139. data/lib/zaniah/text_system/atlas_cache.rb +146 -0
  140. data/lib/zaniah/text_system/font_db/face.rb +9 -0
  141. data/lib/zaniah/text_system/font_db.rb +193 -0
  142. data/lib/zaniah/text_system/glyph.rb +7 -0
  143. data/lib/zaniah/text_system/line_layout.rb +20 -0
  144. data/lib/zaniah/text_system/renderer.rb +196 -0
  145. data/lib/zaniah/text_system/shaper.rb +430 -0
  146. data/lib/zaniah/text_system/typesetter/copy_error.rb +9 -0
  147. data/lib/zaniah/text_system/typesetter.rb +168 -0
  148. data/lib/zaniah/text_system.rb +9 -0
  149. data/lib/zaniah/unicode.rb +13 -0
  150. data/lib/zaniah/uniform_list.rb +30 -0
  151. data/lib/zaniah/version.rb +5 -0
  152. data/lib/zaniah/view.rb +13 -0
  153. data/lib/zaniah.rb +29 -0
  154. data/sig/app.rbs +80 -0
  155. data/sig/elements.rbs +129 -0
  156. data/sig/gpu.rbs +108 -0
  157. data/sig/input.rbs +114 -0
  158. data/sig/layout.rbs +53 -0
  159. data/sig/native.rbs +88 -0
  160. data/sig/platform.rbs +94 -0
  161. data/sig/scene.rbs +52 -0
  162. data/sig/shaper.rbs +8 -0
  163. data/sig/text.rbs +137 -0
  164. data/sig/zaniah.rbs +120 -0
  165. data/tools/check_dependencies.rb +52 -0
  166. metadata +249 -0
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Shared packaging gate. Optional argument: a standalone installed-gem smoke.
4
+ require "tmpdir"
5
+ require "open3"
6
+ require "rubygems/package"
7
+ require "rbconfig"
8
+
9
+ root = File.expand_path("..", __dir__)
10
+ entry = File.basename(root)
11
+ smoke = ARGV.first && File.expand_path(ARGV.fetch(0))
12
+ abort "Usage: ruby tools/check_dependencies.rb [smoke.rb]" if ARGV.length > 1 || (smoke && !File.file?(smoke))
13
+ specification = Gem::Specification.load(File.join(root, "#{entry}.gemspec"))
14
+ dependencies = specification.runtime_dependencies.map(&:name).sort
15
+ abort "unexpected runtime gem dependencies" unless dependencies == %w[alhena rexml unicode-display_width]
16
+ abort "native extension declaration" unless specification.extensions.empty?
17
+ abort "packaged native binary" if specification.files.any? { |path| path.match?(/\.(?:so|bundle|dll|dylib|a|o)\z/i) }
18
+ abort "packaged vendor directory" if specification.files.any? { |path| path.start_with?("vendor/") }
19
+ %w[LICENSE.txt CHANGELOG.md].each do |path|
20
+ abort "missing packaged #{path}" unless specification.files.include?(path)
21
+ end
22
+ specification.files.grep(/\.(?:ttf|otf|ttc)\z/i).each do |font|
23
+ directory = File.dirname(font)
24
+ abort "font license not packaged: #{font}" unless specification.files.any? { |path| File.dirname(path) == directory && File.basename(path).match?(/(?:OFL|LICENSE|COPYING)/i) }
25
+ end
26
+ Dir.mktmpdir("#{entry}-install-") do |directory|
27
+ artifact = File.join(directory, "#{entry}.gem")
28
+ Dir.chdir(root) { Gem::Package.build(specification, false, false, artifact) }
29
+ installation = File.join(directory, "gems")
30
+ gem_command = File.join(RbConfig::CONFIG.fetch("bindir"), "gem")
31
+ environment = {"GEM_HOME" => installation, "GEM_PATH" => ([installation] + Gem.path).join(File::PATH_SEPARATOR), "RUBYLIB" => nil,
32
+ "RUBYOPT" => nil, "BUNDLE_GEMFILE" => nil, "BUNDLE_BIN_PATH" => nil}
33
+ output, status = Open3.capture2e(environment, Gem.ruby, gem_command, "install", "--local", "--ignore-dependencies", "--no-document", "--install-dir", installation, artifact, chdir: directory)
34
+ abort output unless status.success?
35
+ installed = File.join(installation, "gems", "#{entry}-#{specification.version}")
36
+ script = <<~RUBY
37
+ require #{entry.inspect}
38
+ actual = $LOADED_FEATURES.find { |path| path.end_with?(#{"/lib/#{entry}.rb".inspect}) }
39
+ raise "loaded outside clean installation: " + actual.to_s unless actual && File.realpath(actual).start_with?(#{File.realpath(installed).inspect} + File::SEPARATOR)
40
+ load #{smoke.inspect} if #{!smoke.nil?}
41
+ raise "headless/default providers imported Fiddle" if defined?(Fiddle)
42
+ missing = #{dependencies.inspect} - Gem.loaded_specs.keys
43
+ raise "runtime dependencies not loaded: " + missing.join(", ") unless missing.empty?
44
+ source = #{File.join(root, "lib").inspect} + File::SEPARATOR
45
+ leaked = $LOADED_FEATURES.select { |path| path.start_with?(source) }
46
+ raise "workspace library leaked into installed runtime: " + leaked.join(", ") unless leaked.empty?
47
+ puts "isolated install: #{entry} #{specification.version}, runtime dependencies: #{dependencies.join(', ')}, native bridge imports 0"
48
+ RUBY
49
+ output, status = Open3.capture2e(environment, Gem.ruby, "-e", script, chdir: directory)
50
+ abort output unless status.success?
51
+ puts output
52
+ end
metadata ADDED
@@ -0,0 +1,249 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zaniah
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - ydah
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: alhena
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 0.1.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.1.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: rexml
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.4'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.4'
40
+ - !ruby/object:Gem::Dependency
41
+ name: unicode-display_width
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.2'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.2'
54
+ email:
55
+ - t.yudai92@gmail.com
56
+ executables: []
57
+ extensions: []
58
+ extra_rdoc_files: []
59
+ files:
60
+ - CHANGELOG.md
61
+ - LICENSE.txt
62
+ - README.md
63
+ - assets/fonts/Abel-Regular.ttf
64
+ - assets/fonts/OFL.txt
65
+ - docs/adr/000-template.md
66
+ - docs/adr/001-native-gpu-backends.md
67
+ - docs/adr/002-objective-c-aggregates.md
68
+ - docs/adr/003-fiddle-call-boundary.md
69
+ - docs/adr/README.md
70
+ - docs/native.md
71
+ - docs/process_pool.md
72
+ - docs/text.md
73
+ - docs/vector_and_list.md
74
+ - examples/ffi_bench.rb
75
+ - examples/linux_smoke.rb
76
+ - examples/mac_event_check.rb
77
+ - examples/mac_poll_bench.rb
78
+ - examples/metal_state_check.rb
79
+ - examples/native_bench.rb
80
+ - examples/native_drop.rb
81
+ - examples/native_font.rb
82
+ - examples/native_ime.rb
83
+ - examples/native_smoke.rb
84
+ - examples/native_text_bench.rb
85
+ - examples/native_watch.rb
86
+ - examples/vulkan_triangle.rb
87
+ - examples/word_count_worker.rb
88
+ - lib/zaniah.rb
89
+ - lib/zaniah/anchored.rb
90
+ - lib/zaniah/app.rb
91
+ - lib/zaniah/bounds.rb
92
+ - lib/zaniah/canvas.rb
93
+ - lib/zaniah/color.rb
94
+ - lib/zaniah/configuration.rb
95
+ - lib/zaniah/corners.rb
96
+ - lib/zaniah/data_compat.rb
97
+ - lib/zaniah/device_pixels.rb
98
+ - lib/zaniah/div.rb
99
+ - lib/zaniah/edges.rb
100
+ - lib/zaniah/element.rb
101
+ - lib/zaniah/entity.rb
102
+ - lib/zaniah/entity_context.rb
103
+ - lib/zaniah/error.rb
104
+ - lib/zaniah/ffi/com.rb
105
+ - lib/zaniah/ffi/library.rb
106
+ - lib/zaniah/ffi/objc.rb
107
+ - lib/zaniah/ffi/struct.rb
108
+ - lib/zaniah/ffi/struct/signature.rb
109
+ - lib/zaniah/ffi/wayland.rb
110
+ - lib/zaniah/frame_context.rb
111
+ - lib/zaniah/geometry.rb
112
+ - lib/zaniah/gpu.rb
113
+ - lib/zaniah/gpu/buffer.rb
114
+ - lib/zaniah/gpu/frame_encoder.rb
115
+ - lib/zaniah/gpu/instance_packing.rb
116
+ - lib/zaniah/gpu/metal.rb
117
+ - lib/zaniah/gpu/open_gl.rb
118
+ - lib/zaniah/gpu/pipeline.rb
119
+ - lib/zaniah/gpu/software.rb
120
+ - lib/zaniah/gpu/texture.rb
121
+ - lib/zaniah/gpu/vulkan.rb
122
+ - lib/zaniah/hsla.rb
123
+ - lib/zaniah/image.rb
124
+ - lib/zaniah/input.rb
125
+ - lib/zaniah/input/action_registry.rb
126
+ - lib/zaniah/input/composition.rb
127
+ - lib/zaniah/input/context_predicate.rb
128
+ - lib/zaniah/input/dispatcher.rb
129
+ - lib/zaniah/input/file_drop.rb
130
+ - lib/zaniah/input/focus_handle.rb
131
+ - lib/zaniah/input/key_down.rb
132
+ - lib/zaniah/input/key_up.rb
133
+ - lib/zaniah/input/keymap.rb
134
+ - lib/zaniah/input/keymap/binding.rb
135
+ - lib/zaniah/input/keystroke.rb
136
+ - lib/zaniah/input/mouse_down.rb
137
+ - lib/zaniah/input/mouse_move.rb
138
+ - lib/zaniah/input/mouse_up.rb
139
+ - lib/zaniah/input/scroll_wheel.rb
140
+ - lib/zaniah/input/text_input.rb
141
+ - lib/zaniah/layout.rb
142
+ - lib/zaniah/layout/available_space.rb
143
+ - lib/zaniah/layout/engine.rb
144
+ - lib/zaniah/layout/node.rb
145
+ - lib/zaniah/layout/style.rb
146
+ - lib/zaniah/layout/tree.rb
147
+ - lib/zaniah/length.rb
148
+ - lib/zaniah/length_units.rb
149
+ - lib/zaniah/list.rb
150
+ - lib/zaniah/list/height_index.rb
151
+ - lib/zaniah/overlay.rb
152
+ - lib/zaniah/platform.rb
153
+ - lib/zaniah/platform/display.rb
154
+ - lib/zaniah/platform/file_event.rb
155
+ - lib/zaniah/platform/headless/window.rb
156
+ - lib/zaniah/platform/linux.rb
157
+ - lib/zaniah/platform/linux/appearance_aware.rb
158
+ - lib/zaniah/platform/linux/displays.rb
159
+ - lib/zaniah/platform/linux/free_type.rb
160
+ - lib/zaniah/platform/linux/watcher.rb
161
+ - lib/zaniah/platform/linux/wayland_display_discovery.rb
162
+ - lib/zaniah/platform/linux/wayland_window.rb
163
+ - lib/zaniah/platform/linux/window.rb
164
+ - lib/zaniah/platform/mac.rb
165
+ - lib/zaniah/platform/mac/app.rb
166
+ - lib/zaniah/platform/mac/core_text.rb
167
+ - lib/zaniah/platform/mac/displays.rb
168
+ - lib/zaniah/platform/mac/watcher.rb
169
+ - lib/zaniah/platform/mac/window.rb
170
+ - lib/zaniah/platform/tui/input_decoder.rb
171
+ - lib/zaniah/platform/tui/text_renderer.rb
172
+ - lib/zaniah/platform/tui/window.rb
173
+ - lib/zaniah/platform/windows.rb
174
+ - lib/zaniah/platform/windows/terminal.rb
175
+ - lib/zaniah/platform/windows/watcher.rb
176
+ - lib/zaniah/platform/windows/window.rb
177
+ - lib/zaniah/png.rb
178
+ - lib/zaniah/point.rb
179
+ - lib/zaniah/process_pool.rb
180
+ - lib/zaniah/process_pool/worker.rb
181
+ - lib/zaniah/process_wire.rb
182
+ - lib/zaniah/quad_packer.rb
183
+ - lib/zaniah/scene.rb
184
+ - lib/zaniah/scene/sprite_batch.rb
185
+ - lib/zaniah/scene_renderer.rb
186
+ - lib/zaniah/size.rb
187
+ - lib/zaniah/subscription.rb
188
+ - lib/zaniah/svg.rb
189
+ - lib/zaniah/svg/path.rb
190
+ - lib/zaniah/svg/rasterizable.rb
191
+ - lib/zaniah/task.rb
192
+ - lib/zaniah/task/cancelled.rb
193
+ - lib/zaniah/task/timeout.rb
194
+ - lib/zaniah/task_executor.rb
195
+ - lib/zaniah/text.rb
196
+ - lib/zaniah/text_system.rb
197
+ - lib/zaniah/text_system/atlas.rb
198
+ - lib/zaniah/text_system/atlas/entry.rb
199
+ - lib/zaniah/text_system/atlas_cache.rb
200
+ - lib/zaniah/text_system/font_db.rb
201
+ - lib/zaniah/text_system/font_db/face.rb
202
+ - lib/zaniah/text_system/glyph.rb
203
+ - lib/zaniah/text_system/line_layout.rb
204
+ - lib/zaniah/text_system/renderer.rb
205
+ - lib/zaniah/text_system/shaper.rb
206
+ - lib/zaniah/text_system/typesetter.rb
207
+ - lib/zaniah/text_system/typesetter/copy_error.rb
208
+ - lib/zaniah/unicode.rb
209
+ - lib/zaniah/uniform_list.rb
210
+ - lib/zaniah/version.rb
211
+ - lib/zaniah/view.rb
212
+ - sig/app.rbs
213
+ - sig/elements.rbs
214
+ - sig/gpu.rbs
215
+ - sig/input.rbs
216
+ - sig/layout.rbs
217
+ - sig/native.rbs
218
+ - sig/platform.rbs
219
+ - sig/scene.rbs
220
+ - sig/shaper.rbs
221
+ - sig/text.rbs
222
+ - sig/zaniah.rbs
223
+ - tools/check_dependencies.rb
224
+ homepage: https://github.com/noxdea/zaniah
225
+ licenses:
226
+ - MIT
227
+ metadata:
228
+ source_code_uri: https://github.com/noxdea/zaniah
229
+ changelog_uri: https://github.com/noxdea/zaniah/blob/main/CHANGELOG.md
230
+ allowed_push_host: https://rubygems.org
231
+ rubygems_mfa_required: 'true'
232
+ rdoc_options: []
233
+ require_paths:
234
+ - lib
235
+ required_ruby_version: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '3.1'
240
+ required_rubygems_version: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ requirements: []
246
+ rubygems_version: 4.0.19
247
+ specification_version: 4
248
+ summary: A pure Ruby UI framework with native and headless rendering
249
+ test_files: []