glaze 0.1.1 → 0.1.2
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.
- checksums.yaml +4 -4
- data/.codespellignore +1 -0
- data/.yamllint +16 -0
- data/CHANGELOG.md +6 -1
- data/exe/glaze +3 -1
- data/lib/glaze/version.rb +1 -1
- data/lib/glaze.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 02a2d488f5bfb897c5a7f9601c2f59aae727683d21546fc2818015955ac0b516
|
|
4
|
+
data.tar.gz: 5d4a73208421209319ce504eadf9b56c29abe16dbafcdb629a9fa272502c126d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '08df158ff5871893382126bb719254fc5e2d61d6f87d27cdee72a978686faad4d3a881db4b55a53f24203cb1d5f902dd200618190621f7b0cc83c4ea1b7c82ac'
|
|
7
|
+
data.tar.gz: 3bddc9b1dd2782c83fe40b811e83673dd7e229810866c0899a759eb9f5b4400aa13cbb421414241ba1c84893b37294c9afb18fee0142a437e715d68704a6fe4f
|
data/.codespellignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
WRONLY
|
data/.yamllint
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.2] - 2026-09-26
|
|
4
|
+
|
|
5
|
+
- Prevent `glaze new` from overwriting an existing shader.
|
|
6
|
+
- Reject non-finite shader uniform defaults.
|
|
7
|
+
|
|
3
8
|
## [0.1.1] - 2026-09-25
|
|
4
9
|
|
|
5
|
-
-
|
|
10
|
+
- Make the shared WebGPU runner available in the installed gem.
|
|
6
11
|
- Stream recorded shader frames to GIF or APNG with the optional Flipbook gem.
|
|
7
12
|
|
|
8
13
|
## [0.1.0] - 2026-09-23
|
data/exe/glaze
CHANGED
|
@@ -12,7 +12,9 @@ when "new"
|
|
|
12
12
|
raise ArgumentError, "shader name must contain only letters, digits and underscores" unless name.match?(/\A[a-zA-Z][a-zA-Z0-9_]*\z/)
|
|
13
13
|
path = File.join("shaders", "#{name}.rb")
|
|
14
14
|
FileUtils.mkdir_p(File.dirname(path))
|
|
15
|
-
File.
|
|
15
|
+
File.open(path, File::WRONLY | File::CREAT | File::EXCL) do |file|
|
|
16
|
+
file.write("Glaze.shader :#{name} do\n fragment do |frag_coord, resolution, u|\n uv = frag_coord / resolution\n vec3(uv.x, uv.y, 0.2)\n end\nend\n")
|
|
17
|
+
end
|
|
16
18
|
puts path
|
|
17
19
|
when "run"
|
|
18
20
|
path = ARGV.first&.start_with?("-") ? nil : ARGV.shift
|
data/lib/glaze/version.rb
CHANGED
data/lib/glaze.rb
CHANGED
|
@@ -57,6 +57,7 @@ module Glaze
|
|
|
57
57
|
case type
|
|
58
58
|
when :float
|
|
59
59
|
raise TypeError, "float uniform default must be numeric" unless default.is_a?(Numeric)
|
|
60
|
+
raise ArgumentError, "float uniform default must be finite" unless default.real? && default.to_f.finite?
|
|
60
61
|
when :int
|
|
61
62
|
raise TypeError, "int uniform default must be an integer" unless default.is_a?(Integer)
|
|
62
63
|
when :bool
|
|
@@ -66,6 +67,7 @@ module Glaze
|
|
|
66
67
|
raise TypeError, "vector uniform default must be an array" unless default.is_a?(Array)
|
|
67
68
|
raise ArgumentError, "vector uniform default has the wrong length" unless default.length == size
|
|
68
69
|
raise TypeError, "vector uniform default must be numeric" unless default.all? { |value| value.is_a?(Numeric) }
|
|
70
|
+
raise ArgumentError, "vector uniform default must be finite" unless default.all? { |value| value.real? && value.to_f.finite? }
|
|
69
71
|
end
|
|
70
72
|
if range
|
|
71
73
|
raise ArgumentError, "uniform range is only valid for numeric uniforms" unless %i[float int].include?(type)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: glaze
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yudai Takada
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-09-
|
|
11
|
+
date: 2026-09-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tessel
|
|
@@ -72,6 +72,8 @@ executables:
|
|
|
72
72
|
extensions: []
|
|
73
73
|
extra_rdoc_files: []
|
|
74
74
|
files:
|
|
75
|
+
- ".codespellignore"
|
|
76
|
+
- ".yamllint"
|
|
75
77
|
- CHANGELOG.md
|
|
76
78
|
- LICENSE.txt
|
|
77
79
|
- README.md
|