artfactory 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 599b6c292eeda3bdc04988a887288bda3618f4a5944ad1d6ca8f0f8786f48f23
4
- data.tar.gz: 12ca8ed6478b0303c6c7fd911fc85080d777639c85c3bde6ac6abc6e5b6b0a91
3
+ metadata.gz: 5510b374cec095c795bec897961719a501cabb7e1341f026b1a5d301b838821b
4
+ data.tar.gz: d1324fc9a7706e1bf593657f903d2efad9b647f10f0448671c16e39ba4c30e43
5
5
  SHA512:
6
- metadata.gz: 82782eb8941ef671b07275d9e2e36a2ef0b978269e270ddfb9ec7b1f99fa0e21d009236333849088c23458c5d4a0819f5d0e245914ad35f3ae442510995e3389
7
- data.tar.gz: 4df5bc7e3a8940d3712f361d2591fb6b9472a79d03c34d573049eaa1a49148481960649604249e78d112b486235e9f1b83b06486dd49caca6fb4468f7d97addb
6
+ metadata.gz: bc5af5ad4b1f44c07b115b49ca2a3827eaf72a159b38924b25e9fad0fda5a6dcf00579b4bf89589c8c81def106d0d2c8ad28a2251d6756677e68d71e182fd151
7
+ data.tar.gz: 70d335a1ae4014607ade5091c7105965b329f0d7ab9030fa6105834296fd8c7f5b1d4eed2852db22f3c2f651a006f1d585d19cacce9dcefea8b981c0d374ebd4
data/Manifest.txt CHANGED
@@ -4,4 +4,5 @@ README.md
4
4
  Rakefile
5
5
  lib/artfactory.rb
6
6
  lib/artfactory/artfactory.rb
7
+ lib/artfactory/base.rb
7
8
  lib/artfactory/version.rb
data/README.md CHANGED
@@ -1,12 +1,11 @@
1
-
2
1
  # Art Factory
3
2
 
4
- Yes, you can! Generate your own pixel art images (off chain) from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
3
+ Yes, you can! Generate your own art images from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
5
4
 
6
5
 
7
6
 
8
- * home :: [github.com/pixelartexchange/pixelart](https://github.com/pixelartexchange/pixelart)
9
- * bugs :: [github.com/pixelartexchange/pixelart/issues](https://github.com/pixelartexchange/pixelart/issues)
7
+ * home :: [github.com/generativeartfactory/artfactory](https://github.com/generativeartfactory/artfactory)
8
+ * bugs :: [github.com/generativeartfactory/artfactory/issues](https://github.com/generativeartfactory/artfactory/issues)
10
9
  * gem :: [rubygems.org/gems/artfactory](https://rubygems.org/gems/artfactory)
11
10
  * rdoc :: [rubydoc.info/gems/artfactory](http://rubydoc.info/gems/artfactory)
12
11
 
@@ -15,8 +14,111 @@ Yes, you can! Generate your own pixel art images (off chain) from text attribute
15
14
 
16
15
  ## Usage
17
16
 
17
+ Let's try punk doge shiba inus in the 24x24px format.
18
+
19
+ ![](sandbox/config/spritesheet.png)
20
+
21
+ (Source: [config/spritesheet.png](sandbox/config/spritesheet.png))
22
+
23
+ ```
24
+ id, category, name, more_names
25
+ 0, , classic,
26
+ 1, , dark,
27
+ 2, , zombie,
28
+ 3, , alien,
29
+ 4, , crazyhair,
30
+ 5, , beanie,
31
+ 6, , cap,
32
+ 7, , capforward,
33
+ 8, , cowboyhat,
34
+ 9, , fedora,
18
35
  ...
36
+ ```
37
+
38
+ (Source: [config/spritesheet.csv](sandbox/config/spritesheet.png))
39
+
40
+
41
+
42
+ ### Setup Variant 1
43
+
44
+
45
+ ``` ruby
46
+ require 'artfactory'
47
+
48
+ # step 1 - setup the art factory;
49
+ # pass-in the spritesheet image & (meta) dataset and
50
+ # the format (e.g. 24x24px)
51
+
52
+ shiba1 = Artfactory.read( './config/spritesheet.png',
53
+ './config/spritesheet.csv',
54
+ width: 24,
55
+ height: 24)
56
+
57
+
58
+ # step 2 - generate images via text (prompts)
59
+
60
+ doge = shiba1.generate( 'Classic', '3D Glasses' )
61
+ doge.save( './doge1.png' )
62
+ doge.zoom(4).save( './doge1@4x.png' )
63
+
64
+ doge = shiba1.generate( 'Alien', 'Headband' )
65
+ doge.save( './doge2.png' )
66
+ doge.zoom(4).save( './doge2@4x.png' )
67
+
68
+ doge = doge.background( 'Matrix 1', 'Rainbow 1' )
69
+ doge.save( './doge2b.png' )
70
+ doge.zoom(4).save( './doge2b@4x.png' )
71
+ ```
72
+
73
+ Resulting in:
74
+
75
+ ![](i/doge1.png)
76
+ ![](i/doge2.png)
77
+ ![](i/doge2b.png)
78
+
79
+ 4x:
80
+ ![](i/doge1@4x.png)
81
+ ![](i/doge2@4x.png)
82
+ ![](i/doge2b@4x.png)
83
+
84
+
85
+
86
+
87
+ ### Setup Variant 2
88
+
89
+ ``` ruby
90
+ require 'artfactory'
91
+
92
+ # step 1 - setup the art factory;
93
+ # use an "external" spritesheet configuration
94
+
95
+ sheet = Pixelart::Spritesheet.read( './config/spritesheet.png',
96
+ './config/spritesheet.csv',
97
+ width: 24,
98
+ height: 24)
99
+ shiba2 = Artfactory.use( sheet )
100
+
101
+
102
+ # step 2 - generate images via text (prompts)
103
+
104
+ doge = shiba2.generate( 'Classic', '3D Glasses' )
105
+ doge.save( './doge1.png' )
106
+ doge.zoom(4).save( './doge1@4x.png' )
107
+
108
+
109
+ doge = shiba2.generate( 'Alien', 'Headband' )
110
+ doge.save( './doge2.png' )
111
+ doge.zoom(4).save( './doge2@4x.png' )
112
+
113
+ doge = doge.background( 'Matrix 1', 'Rainbow 1' )
114
+ doge.save( './doge2b.png' )
115
+ doge.zoom(4).save( './doge2b@4x.png' )
116
+ ```
117
+
118
+
119
+
19
120
 
20
121
  ## Questions? Comments?
21
122
 
22
- Post them on the [D.I.Y. Punk (Pixel) Art reddit](https://old.reddit.com/r/DIYPunkArt). Thanks.
123
+ Post them over at the [Help & Support](https://github.com/geraldb/help) page. Thanks.
124
+
data/Rakefile CHANGED
@@ -13,10 +13,10 @@ Hoe.spec 'artfactory' do
13
13
 
14
14
  self.version = Pixelart::Module::Artfactory::VERSION
15
15
 
16
- self.summary = "artfactory - generate your own pixel art images (off chain) from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more"
16
+ self.summary = "artfactory - generate your own art images from text attributes (via 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/generativeartfactory/artfactory' }
20
20
 
21
21
  self.author = 'Gerald Bauer'
22
22
  self.email = 'wwwmake@googlegroups.com'
@@ -26,8 +26,8 @@ Hoe.spec 'artfactory' do
26
26
  self.history_file = 'CHANGELOG.md'
27
27
 
28
28
  self.extra_deps = [
29
- ['pixelart', '>= 1.3.1'],
30
- ['backgrounds'],
29
+ ['pixelart', '>= 1.3.2'],
30
+ ['backgrounds', '>= 0.2.0'],
31
31
  ]
32
32
 
33
33
  self.licenses = ['Public Domain']
@@ -10,22 +10,26 @@ class Artfactory
10
10
  def self.read( image_path="./spritesheet.png",
11
11
  meta_path="./spritesheet.csv",
12
12
  width: 24,
13
- height: 24 )
13
+ height: 24,
14
+ image_class: Pixelart::Image )
14
15
 
15
16
  sheet = Pixelart::Spritesheet.read( image_path,
16
17
  meta_path,
17
18
  width: width, height: height )
18
- new( sheet )
19
+ new( sheet, image_class: image_class )
19
20
  end
20
21
 
21
- def self.use( sheet ) ### check - allow more sheets - why? why not?
22
- new( sheet )
22
+ def self.use( sheet, image_class: Pixelart::Image ) ### check - allow more sheets - why? why not?
23
+ new( sheet, image_class: image_class )
23
24
  end
24
25
 
25
26
 
26
27
 
27
- def initialize( sheet )
28
- @sheet = sheet
28
+ def initialize( sheet, image_class: )
29
+ @sheet = sheet
30
+ @image_class = image_class
31
+
32
+ puts " [artfactory] using image class >#{@image_class.name}< for #{@sheet.image.tile_width}x#{@sheet.image.tile_height} images"
29
33
  end
30
34
 
31
35
  def spritesheet() @sheet; end
@@ -55,8 +59,8 @@ class Artfactory
55
59
 
56
60
  ## note: first construct/generate image on transparent background
57
61
  ## add background if present as LAST step
58
- img = Pixelart::Image.new( @sheet.image.tile_width,
59
- @sheet.image.tile_height )
62
+ img = @image_class.new( @sheet.image.tile_width,
63
+ @sheet.image.tile_height )
60
64
 
61
65
  recs.each do |rec|
62
66
  ## note: before call(back) MUST change image INPLACE!!!!
@@ -0,0 +1,12 @@
1
+ ## 3rd party
2
+ require 'pixelart/base'
3
+ require 'backgrounds/base'
4
+
5
+
6
+ ## our own code
7
+ require 'artfactory/version' # note: let version always go first
8
+ require 'artfactory/artfactory'
9
+
10
+
11
+
12
+ puts Pixelart::Module::Artfactory.banner # say hello
@@ -4,8 +4,8 @@ module Pixelart
4
4
  module Module
5
5
  module Artfactory
6
6
 
7
- MAJOR = 0
8
- MINOR = 1
7
+ MAJOR = 1
8
+ MINOR = 0
9
9
  PATCH = 0
10
10
  VERSION = [MAJOR,MINOR,PATCH].join('.')
11
11
 
data/lib/artfactory.rb CHANGED
@@ -1,14 +1,9 @@
1
- ## 3rd party
2
- require 'pixelart/base'
3
- require 'backgrounds/base'
1
+ ## our own code (without "top-level" shortcuts e.g. "modular version")
2
+ require 'artfactory/base' # aka "strict(er)" version
4
3
 
5
4
 
6
- ## our own code
7
- require 'artfactory/version' # note: let version always go first
8
- require 'artfactory/artfactory'
5
+ ###
6
+ # add convenience top-level shortcuts / aliases
7
+ # make Image, Color, Palette8bit, etc top-level
8
+ include Pixelart
9
9
 
10
-
11
-
12
-
13
-
14
- puts Pixelart::Module::Artfactory.banner # say hello
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artfactory
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-09 00:00:00.000000000 Z
11
+ date: 2023-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pixelart
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.1
19
+ version: 1.3.2
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: 1.3.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: backgrounds
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rdoc
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,8 +72,8 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '3.23'
75
- description: artfactory - generate your own pixel art images (off chain) from text
76
- attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
75
+ description: artfactory - generate your own art images from text attributes (via
76
+ spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
77
77
  email: wwwmake@googlegroups.com
78
78
  executables: []
79
79
  extensions: []
@@ -88,8 +88,9 @@ files:
88
88
  - Rakefile
89
89
  - lib/artfactory.rb
90
90
  - lib/artfactory/artfactory.rb
91
+ - lib/artfactory/base.rb
91
92
  - lib/artfactory/version.rb
92
- homepage: https://github.com/pixelartexchange/pixelart
93
+ homepage: https://github.com/generativeartfactory/artfactory
93
94
  licenses:
94
95
  - Public Domain
95
96
  metadata: {}
@@ -113,6 +114,6 @@ requirements: []
113
114
  rubygems_version: 3.3.7
114
115
  signing_key:
115
116
  specification_version: 4
116
- summary: artfactory - generate your own pixel art images (off chain) from text attributes
117
- (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
117
+ summary: artfactory - generate your own art images from text attributes (via spritesheets);
118
+ incl. 2x/4x/8x zoom for bigger sizes and more
118
119
  test_files: []