goblins 0.1.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0fff3d61d962744105a99ce3316871afe27c4ea0b0b363d46551f7d3b5691df0
4
- data.tar.gz: bf0133051b43b8afefaa9c4fb825773fa7250ac3eb42db262cd6282426ff1c81
3
+ metadata.gz: bc5f809aece1ae4f64d98c4a4ccce5375107ca8729b9f2d294da5d83a1e3f028
4
+ data.tar.gz: d66b90e96129a852751544cdc7d3b2c0dfc94916eaff501cf7f925c8428619f4
5
5
  SHA512:
6
- metadata.gz: 7942e448693fe68fe28f6c142f43b2295d3b3957cf50a677e02c4afc9d241f9b4f6fe6f4fd3999a44e067bd9714295f8a2ebf1ba4abd199c5c58be1ee39c142b
7
- data.tar.gz: 9b5a4ca431116e9288072f0379bb2660173cceb73793aadb8db0ca3ad9789e0d5d7d6f46d895b013892297bddd6bffb8ddbafeb2ccaaf1711013156904ea5513
6
+ metadata.gz: eecd66a046b4ef91f2eaaa92a80f4e78974a266123e9ece164cd3cf5a71d8f575b609ed405fbb11675e83c2f6f8fc4144a81ba559df83561dc764dce6ab30e5b
7
+ data.tar.gz: 457b7b2c1845eff2a7b30dc09ac5ad05cf845e54e9308c764f3d5babc30bad0101cfded8b2172bdbbe204de77f9b4df5f2e88b92bb771964747200aa17263bf2
data/README.md CHANGED
@@ -1,11 +1,14 @@
1
- # Goblins & Lil'Goblins (Pixel Monster Avatars)
1
+ The Do-It-Yourself (DIY) [Factory of Modern Originals (FoMO)](https://github.com/profilepic/originals) Presents
2
2
 
3
- goblins - generate your own 24×24 goblins or 20×20 lil'goblins (pixel) monster avatars images (off chain) from text attributes (via built-in spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
4
3
 
4
+ # Goblins & Lil' Goblins (Pixel Monster Avatars)
5
5
 
6
+ Yes, you can! Generate your own 24×24 goblins or 20×20 lil' goblins (pixel) monster avatars images (off-blockchain) from text attributes (via built-in spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
6
7
 
7
- * home :: [github.com/pixelartexchange/pixelart](https://github.com/pixelartexchange/pixelart)
8
- * bugs :: [github.com/pixelartexchange/pixelart/issues](https://github.com/pixelartexchange/pixelart/issues)
8
+
9
+
10
+ * home :: [github.com/profilepic/text-to-image](https://github.com/profilepic/text-to-image)
11
+ * bugs :: [github.com/profilepic/text-to-image/issues](https://github.com/profilepic/text-to-image/issues)
9
12
  * gem :: [rubygems.org/gems/goblins](https://rubygems.org/gems/goblins)
10
13
  * rdoc :: [rubydoc.info/gems/goblins](http://rubydoc.info/gems/goblins)
11
14
 
@@ -41,15 +44,15 @@ goblin.zoom(4).save( "goblin3@4x.png" )
41
44
 
42
45
  Voila!
43
46
 
44
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblin1.png)
45
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblin2.png)
46
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblin3.png)
47
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblin1.png)
48
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblin2.png)
49
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblin3.png)
47
50
 
48
51
  In 4x:
49
52
 
50
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblin1@4x.png)
51
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblin2@4x.png)
52
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblin3@4x.png)
53
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblin1@4x.png)
54
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblin2@4x.png)
55
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblin3@4x.png)
53
56
 
54
57
 
55
58
 
@@ -77,15 +80,15 @@ lilgoblin.zoom(4).save( "lilgoblin3@4x.png" )
77
80
 
78
81
  Voila!
79
82
 
80
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/lilgoblin1.png)
81
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/lilgoblin2.png)
82
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/lilgoblin3.png)
83
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/lilgoblin1.png)
84
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/lilgoblin2.png)
85
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/lilgoblin3.png)
83
86
 
84
87
  In 4x:
85
88
 
86
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/lilgoblin1@4x.png)
87
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/lilgoblin2@4x.png)
88
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/lilgoblin3@4x.png)
89
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/lilgoblin1@4x.png)
90
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/lilgoblin2@4x.png)
91
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/lilgoblin3@4x.png)
89
92
 
90
93
 
91
94
 
@@ -94,12 +97,39 @@ In 4x:
94
97
  Is ugly the new beau / belle? Yes, you can. Design your own goblin (pixel) monsters.
95
98
 
96
99
 
97
- ![](https://github.com/pixelartexchange/pixelart/raw/master/goblins/i/goblins_originals-24x24@4x.png)
100
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/i/goblins_originals-24x24@4x.png)
101
+
102
+ To get you started find a series of original 1/1 goblin monsters (see above in 4x zoom) and a script to (auto-)generate some variants (with horns, cap forward, hoodies, golden earrings, & more) in the [goblins/sandbox »](https://github.com/profilepic/text-to-image/tree/master/goblins/sandbox)
103
+
104
+
105
+
106
+
107
+
108
+
109
+ ## Appendix - All Built-In Spritesheet Attributes
110
+
111
+ **Goblins (24x24px)**
112
+
113
+ See the [spritesheet-24x24.csv](https://github.com/profilepic/text-to-image/blob/master/goblins/config/spritesheet-24x24.csv) dataset for all attribute names (w/ categories).
114
+
115
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/config/spritesheet-24x24.png)
116
+
117
+ (Source: [goblins/spritesheet-24x24.png](https://github.com/profilepic/text-to-image/blob/master/goblins/config/spritesheet-24x24.png))
118
+
119
+
120
+ **Lil' Goblins (20x20px)**
121
+
122
+
123
+ See the [spritesheet-20x20.csv](https://github.com/profilepic/text-to-image/blob/master/goblins/config/spritesheet-20x20.csv) dataset for all attribute names (w/ categories).
124
+
125
+ ![](https://github.com/profilepic/text-to-image/raw/master/goblins/config/spritesheet-20x20.png)
126
+
127
+ (Source: [goblins/spritesheet-20x20.png](https://github.com/profilepic/text-to-image/blob/master/goblins/config/spritesheet-20x20.png))
98
128
 
99
- To get you started find a series of original 1/1 goblin monsters (see above in 4x zoom) and a script to (auto-)generate some variants (with horns, cap forward, hoodies, golden earrings, & more) in the [**goblins/sandbox »**](https://github.com/pixelartexchange/pixelart/tree/master/goblins/sandbox)
100
129
 
101
130
 
102
131
 
103
132
  ## Questions? Comments?
104
133
 
105
- Post them on the [CryptoPunksDev reddit](https://old.reddit.com/r/CryptoPunksDev). Thanks.
134
+ Post them on the [D.I.Y. Punk (Pixel) Art reddit](https://old.reddit.com/r/DIYPunkArt). Thanks.
135
+
data/Rakefile CHANGED
@@ -11,12 +11,12 @@ end
11
11
 
12
12
  Hoe.spec 'goblins' do
13
13
 
14
- self.version = Goblins::VERSION
14
+ self.version = Pixelart::Module::Goblins::VERSION
15
15
 
16
- self.summary = "goblins - generate your own 24×24 goblins or 20×20 lil'goblins (pixel) monster avatar images (off chain) from text attributes (via built-in spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more"
16
+ self.summary = "goblins - generate your own 24×24 goblins or 20×20 lil'goblins (pixel) monster avatar images (off-blockchain) from text attributes (via built-in spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more"
17
17
  self.description = summary
18
18
 
19
- self.urls = { home: 'https://github.com/pixelartexchange/pixelart' }
19
+ self.urls = { home: 'https://github.com/profilepic/text-to-image' }
20
20
 
21
21
  self.author = 'Gerald Bauer'
22
22
  self.email = 'wwwmake@googlegroups.com'
@@ -26,7 +26,7 @@ Hoe.spec 'goblins' do
26
26
  self.history_file = 'CHANGELOG.md'
27
27
 
28
28
  self.extra_deps = [
29
- ['pixelart', '>= 1.3.1'],
29
+ ['artfactory', '>= 0.2.0'],
30
30
  ]
31
31
 
32
32
  self.licenses = ['Public Domain']
@@ -1,9 +1,10 @@
1
1
 
2
-
2
+ module Pixelart
3
+ module Module
3
4
  module Goblins
4
5
 
5
- MAJOR = 0
6
- MINOR = 1
6
+ MAJOR = 1
7
+ MINOR = 0
7
8
  PATCH = 0
8
9
  VERSION = [MAJOR,MINOR,PATCH].join('.')
9
10
 
@@ -19,5 +20,6 @@ module Goblins
19
20
  File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
20
21
  end
21
22
 
23
+ end # module Pixelart
24
+ end # module Module
22
25
  end # module Goblins
23
-
data/lib/goblins.rb CHANGED
@@ -1,109 +1,96 @@
1
- ## 3rd party
2
- require 'pixelart/base'
1
+ ## our own "3rd" party gems
2
+ require 'artfactory/base'
3
3
 
4
4
 
5
5
 
6
6
  ## our own code
7
- require 'goblins/version' # note: let version always go first
7
+ require_relative 'goblins/version' # note: let version always go first
8
8
 
9
9
 
10
- ## forward define superclass for image
11
- module Goblins
12
- class Image < Pixelart::Image; end
13
- end
14
-
15
-
16
- ###
17
- ## add convenience pre-configurated generatored with build-in spritesheet (see config)
18
- module Goblins
19
-
20
- def self.generator
21
- @generator ||= Pixelart::Generator.new( "#{root}/config/spritesheet-24x24.png",
22
- "#{root}/config/spritesheet-24x24.csv",
23
- width: 24,
24
- height: 24 )
25
- end
26
-
27
- class Image
28
- def self.generate( *values, background: nil )
29
- img = Goblins.generator.generate( *values, background: background )
30
- ## note: unwrap inner image before passing on to c'tor (requires ChunkyPNG image for now)
31
- new( 24, 24, img.image )
32
- end # method Image.generate
33
- end # class Image
34
10
 
11
+ module Goblin
35
12
 
36
13
  class Spritesheet
14
+ def self.builtin
15
+ @builtin ||= Pixelart::Spritesheet.read( "#{Pixelart::Module::Goblins.root}/config/spritesheet-24x24.png",
16
+ "#{Pixelart::Module::Goblins.root}/config/spritesheet-24x24.csv",
17
+ width: 24,
18
+ height: 24 )
19
+ end
37
20
  ## note: for now class used for "namespace" only
38
21
  def self.find_by( name: ) ## return archetype/attribute image by name
39
- # note: pass along name as q (query string)
40
- Goblins.generator.find( name )
22
+ builtin.find_by( name: name )
41
23
  end
42
24
  end # class Spritesheet
43
25
  ## add convenience (alternate spelling) alias - why? why not?
44
26
  SpriteSheet = Spritesheet
45
27
  Sheet = Spritesheet
46
28
  Sprite = Spritesheet
47
- end # module Goblins
48
29
 
49
30
 
50
- ### add some convenience shortcuts
51
- Goblinz = Goblins
52
- ## add singular too -why? why not?
53
- Goblin = Goblins
31
+ class Image < Pixelart::Image
54
32
 
33
+ def self.generator
34
+ @generator ||= Artfactory.use( Goblin::Sheet.builtin,
35
+ image_class: Image )
36
+ end
55
37
 
38
+ NAMES = ['goblin', 'goblins', 'goblinz']
56
39
 
40
+ DEFAULT_ATTRIBUTES = ['Green', 'Teeth',
41
+ '3D Glasses', 'Blue Sweater']
57
42
 
43
+ def self.generate( *names )
44
+ generator.generate( *names )
45
+ end # method Image.generate
46
+ end # class Image
47
+ end # module Goblin
58
48
 
59
- ## forward define superclass for image
60
- module Lilgoblins
61
- class Image < Pixelart::Image; end
62
- end
63
49
 
64
50
 
65
51
 
66
- ###
67
- ## add convenience pre-configurated generatored with build-in spritesheet (see config)
68
- module Lilgoblins
69
-
70
- def self.generator
71
- @generator ||= Pixelart::Generator.new( "#{Goblins.root}/config/spritesheet-20x20.png",
72
- "#{Goblins.root}/config/spritesheet-20x20.csv",
73
- width: 20,
74
- height: 20 )
75
- end
76
-
77
- class Image
78
- def self.generate( *values, background: nil )
79
- img = Lilgoblins.generator.generate( *values, background: background )
80
- ## note: unwrap inner image before passing on to c'tor (requires ChunkyPNG image for now)
81
- new( 20, 20, img.image )
82
- end # method Image.generate
83
- end # class Image
84
-
52
+ module Lilgoblin
85
53
 
86
54
  class Spritesheet
55
+ def self.builtin
56
+ @builtin ||= Pixelart::Spritesheet.read( "#{Pixelart::Module::Goblins.root}/config/spritesheet-20x20.png",
57
+ "#{Pixelart::Module::Goblins.root}/config/spritesheet-20x20.csv",
58
+ width: 20,
59
+ height: 20 )
60
+ end
87
61
  ## note: for now class used for "namespace" only
88
62
  def self.find_by( name: ) ## return archetype/attribute image by name
89
- # note: pass along name as q (query string)
90
- Lilgoblins.generator.find( name )
63
+ builtin.find_by( name: name )
91
64
  end
92
65
  end # class Spritesheet
93
66
  ## add convenience (alternate spelling) alias - why? why not?
94
67
  SpriteSheet = Spritesheet
95
68
  Sheet = Spritesheet
96
69
  Sprite = Spritesheet
97
- end # module Lilgoblins
70
+
71
+
72
+
73
+ class Image < Pixelart::Image
74
+ def self.generator
75
+ @generator ||= Artfactory.use( Lilgoblin::Sheet.builtin,
76
+ image_class: Image )
77
+ end
78
+
79
+
80
+ NAMES = ['lilgoblin', 'lilgoblins', 'lilgoblinz']
81
+
82
+ DEFAULT_ATTRIBUTES = ['Green', 'Orange Beanie',
83
+ 'Earring Silver', 'Blue Sweater']
84
+
85
+ def self.generate( *names )
86
+ generator.generate( *names )
87
+ end # method Image.generate
88
+ end # class Image
89
+ end # module Lilgoblin
98
90
 
99
91
 
100
92
  ### add some convenience shortcuts
101
- LilGoblins = Lilgoblins
102
- LilGoblinz = Lilgoblins
103
- Lilgoblinz = Lilgoblins
104
- ## add singular too -why? why not?
105
- LilGoblin = Lilgoblins
106
- Lilgoblin = Lilgoblins
93
+ LilGoblin = Lilgoblin
107
94
 
108
95
 
109
96
 
@@ -114,4 +101,4 @@ include Pixelart
114
101
 
115
102
 
116
103
 
117
- puts Goblins.banner # say hello
104
+ puts Pixelart::Module::Goblins.banner # say hello
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goblins
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-05 00:00:00.000000000 Z
11
+ date: 2022-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: pixelart
14
+ name: artfactory
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.1
19
+ version: 0.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.1
26
+ version: 0.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,7 @@ dependencies:
59
59
  - !ruby/object:Gem::Version
60
60
  version: '3.23'
61
61
  description: goblins - generate your own 24×24 goblins or 20×20 lil'goblins (pixel)
62
- monster avatar images (off chain) from text attributes (via built-in spritesheets);
62
+ monster avatar images (off-blockchain) from text attributes (via built-in spritesheets);
63
63
  incl. 2x/4x/8x zoom for bigger sizes and more
64
64
  email: wwwmake@googlegroups.com
65
65
  executables: []
@@ -79,7 +79,7 @@ files:
79
79
  - config/spritesheet-24x24.png
80
80
  - lib/goblins.rb
81
81
  - lib/goblins/version.rb
82
- homepage: https://github.com/pixelartexchange/pixelart
82
+ homepage: https://github.com/profilepic/text-to-image
83
83
  licenses:
84
84
  - Public Domain
85
85
  metadata: {}
@@ -104,6 +104,6 @@ rubygems_version: 3.3.7
104
104
  signing_key:
105
105
  specification_version: 4
106
106
  summary: goblins - generate your own 24×24 goblins or 20×20 lil'goblins (pixel) monster
107
- avatar images (off chain) from text attributes (via built-in spritesheets); incl.
108
- 2x/4x/8x zoom for bigger sizes and more
107
+ avatar images (off-blockchain) from text attributes (via built-in spritesheets);
108
+ incl. 2x/4x/8x zoom for bigger sizes and more
109
109
  test_files: []