shattered_machine 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +10 -0
- data/README.md +6 -0
- data/lib/shattered_machine.rb +1 -1
- data/lib/shattered_machine/sampler.rb +5 -4
- data/shattered_machine.gemspec +1 -1
- data/spec/sampler_spec.rb +9 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ed46bb440747bf2fa4412e5be7f18683a798cc6dc4b854ac32e1085af860a38
|
4
|
+
data.tar.gz: 3be17bf1cda0c0172a09fa1a22e2511295aea73c3995403d1220ab79eb8f9519
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a83e2ee9b4cd2f7922bcaedba4fbcb42b98a63c65b804e493b508503a4ad9e903c3fb1a257826e31bd6cf27f618311597ed69dfd97e81ee63ece94405d123385
|
7
|
+
data.tar.gz: 55edbf8daee1ee6c6c83260c6a52df2ce939ec3307ae8380fc172cb99f5d95873adffd906fc40a2b7a094ef3fe12a85750a882edcd3e6b3477f091bc6423fe01
|
data/CHANGELOG
CHANGED
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
+
## [0.0.4] - 2021-05-28
|
8
|
+
### Added
|
9
|
+
- Acknowledgements section in README
|
10
|
+
|
11
|
+
### Changed
|
12
|
+
- The following Sampler constant are not publically available anymore : FILTERS, SLIM_DIRECTION and BRUSH_DIRECTION
|
13
|
+
|
14
|
+
### Fixed
|
15
|
+
- By default the Sampler now also run the Brush algorithm
|
16
|
+
|
7
17
|
## [0.0.3] - 2021-05-26
|
8
18
|
### Changed
|
9
19
|
- Replaces Rusty Engine library with the gem encapsulating those files
|
data/README.md
CHANGED
@@ -52,4 +52,10 @@ To install the needed dependencies you need to install the [Ruby language](https
|
|
52
52
|
Then run `bundle install` to fetch the needed gems.
|
53
53
|
|
54
54
|
### Specs
|
55
|
+
|
55
56
|
This project uses [Rspec](https://rspec.info/) for writting specs, to run them simply run `bundle rspec`
|
57
|
+
|
58
|
+
## Acknowledgements
|
59
|
+
|
60
|
+
This gem is relying heavily on the [pnglitch gem](https://github.com/ucnv/pnglitch) and the [rusty engine gem](https://framagit.org/Radoteur/rusty_engine).
|
61
|
+
The png image used in the specs has been created with [Ronin](https://100r.co/site/ronin.html) while the jpg one is painting from Karl Wiener.
|
data/lib/shattered_machine.rb
CHANGED
@@ -5,10 +5,7 @@ module ShatteredMachine
|
|
5
5
|
# A simple weay ro run one, many or all glitch algotirhm on one specific image.
|
6
6
|
# This create a quick overview of the effect of each algo for the given image.
|
7
7
|
class Sampler
|
8
|
-
|
9
|
-
SLIM_DIRECTION = %w[up_to_down down_to_up left_to_right right_to_left].freeze
|
10
|
-
BRUSH_DIRECTION = %w[vertical vertical_inverted horizontal horizontal_inverted].freeze
|
11
|
-
ALL_ALGORITHMS = %w[exchange transpose wrong_filter slim brus change_byte defect].freeze
|
8
|
+
ALL_ALGORITHMS = %w[brush change_byte defect exchange slim transpose wrong_filter].freeze
|
12
9
|
|
13
10
|
# @param io [ShatteredMachine::Io] Io containing paths for images to sample
|
14
11
|
# @param options [Hash] options for specifying which
|
@@ -32,6 +29,10 @@ module ShatteredMachine
|
|
32
29
|
|
33
30
|
private
|
34
31
|
|
32
|
+
FILTERS = %w[none sub up average paeth].freeze
|
33
|
+
SLIM_DIRECTION = %w[up_to_down down_to_up left_to_right right_to_left].freeze
|
34
|
+
BRUSH_DIRECTION = %w[vertical vertical_inverted horizontal horizontal_inverted].freeze
|
35
|
+
|
35
36
|
def update_io(output_filename_appendix)
|
36
37
|
@io.output_filename = "#{@base_output_filename}_#{output_filename_appendix}"
|
37
38
|
end
|
data/shattered_machine.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'shattered_machine'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.4'
|
4
4
|
s.summary = 'Shattered Machine core engine'
|
5
5
|
s.description = 'Shattered Machine is an easy way to glitch PNG images using different algorithms'
|
6
6
|
s.authors = ['Flo Girardo']
|
data/spec/sampler_spec.rb
CHANGED
@@ -3,6 +3,13 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
RSpec.describe ShatteredMachine::Sampler do
|
6
|
+
describe 'ALL_ALGORITHMS' do
|
7
|
+
subject { ShatteredMachine::Sampler::ALL_ALGORITHMS }
|
8
|
+
it 'returns all algorithm available in sampler' do
|
9
|
+
expect(subject).to eq ['brush', 'change_byte', 'defect', 'exchange', 'slim', 'transpose', 'wrong_filter']
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
6
13
|
describe '#call' do
|
7
14
|
let(:created_files) do
|
8
15
|
%w[sample_exchange_average.png sample_exchange_up.png sample_slim_up_to_down.png sample_transpose_sub.png
|
@@ -10,7 +17,8 @@ RSpec.describe ShatteredMachine::Sampler do
|
|
10
17
|
sample_transpose_up.png sample_wrong_filter_sub.png sample_change_byte.png sample_exchange_paeth.png
|
11
18
|
sample_slim_left_to_right.png sample_transpose_none.png sample_wrong_filter_average.png
|
12
19
|
sample_wrong_filter_up.png sample_defect.png sample_exchange_sub.png sample_slim_right_to_left.png
|
13
|
-
sample_transpose_paeth.png sample_wrong_filter_none.png
|
20
|
+
sample_transpose_paeth.png sample_wrong_filter_none.png sample_brush_horizontal_inverted.png
|
21
|
+
sample_brush_horizontal.png sample_brush_vertical_inverted.png sample_brush_vertical.png]
|
14
22
|
end
|
15
23
|
let(:output_file) { 'spec/images/sample.png' }
|
16
24
|
let(:input_file) { 'spec/images/foo.png' }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shattered_machine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Flo Girardo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|