From 12e8db0717e150e846b3d9a65ad0df36a5b7836b Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Sat, 1 May 2021 23:27:14 +0200 Subject: [PATCH 01/11] Implement BIP2 in converter This format can store an arbitrary number of resolutions of the image in one file. At the moment we're just doing two though, the first one for icons (32x32), the second for images (full size). --- bip_converter/t3dn_bip_converter/convert.py | 41 ++++++++++++++------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/bip_converter/t3dn_bip_converter/convert.py b/bip_converter/t3dn_bip_converter/convert.py index 985663d..de8bf79 100644 --- a/bip_converter/t3dn_bip_converter/convert.py +++ b/bip_converter/t3dn_bip_converter/convert.py @@ -1,3 +1,4 @@ +import io from typing import Union from pathlib import Path from PIL import Image @@ -24,38 +25,50 @@ def convert_file(src: Union[str, Path], dst: Union[str, Path] = None): raise ValueError('exactly one file must be in BIP format') -def _image_to_bip(src: Path, dst: Path): +def _image_to_bip(src: Union[str, Path], dst: Union[str, Path]): '''Convert various image formats to BIP.''' with Image.open(src) as image: image = image.transpose(Image.FLIP_TOP_BOTTOM) - image = image.convert('RGBa') - width, height = image.size - data = image.tobytes() + if not image.mode.endswith(('A', 'a')): + image = image.convert('RGBA') + elif image.mode != 'RGBa': + image = image.convert('RGBa') + + images = [image.resize(size=(32, 32)), image] + contents = [compress(image.tobytes()) for image in images] with open(dst, 'wb') as output: - output.write(b'BIP1') + output.write(b'BIP2') + output.write(len(images).to_bytes(1, 'big')) - output.write(width.to_bytes(2, 'big')) - output.write(height.to_bytes(2, 'big')) + for image, content in zip(images, contents): + width, height = image.size + output.write(width.to_bytes(2, 'big')) + output.write(height.to_bytes(2, 'big')) + output.write(len(content).to_bytes(4, 'big')) - output.write(compress(data)) + for content in contents: + output.write(content) -def _bip_to_image(src: Path, dst: Path): +def _bip_to_image(src: Union[str, Path], dst: Union[str, Path]): '''Convert BIP to various image formats.''' with open(src, 'rb') as bip: - magic = bip.read(4) - - if magic != b'BIP1': + if bip.read(4) != b'BIP2': raise ValueError('input is not a supported file format') + count = int.from_bytes(bip.read(1), 'big') + bip.seek(8 * (count - 1), io.SEEK_CUR) + width = int.from_bytes(bip.read(2), 'big') height = int.from_bytes(bip.read(2), 'big') + length = int.from_bytes(bip.read(4), 'big') - data = decompress(bip.read()) + bip.seek(-length, io.SEEK_END) + content = decompress(bip.read()) - image = Image.frombytes('RGBa', (width, height), data) + image = Image.frombytes('RGBa', (width, height), content) image = image.convert('RGBA') image = image.transpose(Image.FLIP_TOP_BOTTOM) From a5f0436e755b58a2245be3816ac8b5713700010a Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Sun, 2 May 2021 04:35:21 +0200 Subject: [PATCH 02/11] Implement BIP2 in loader I'm not 100% satisfied with this code, but it does work. --- bip/t3dn_bip/previews.py | 23 ++++++---- bip/t3dn_bip/utils.py | 96 +++++++++++++++++++++++++++------------- 2 files changed, 79 insertions(+), 40 deletions(-) diff --git a/bip/t3dn_bip/previews.py b/bip/t3dn_bip/previews.py index 5d230a3..b0cb308 100644 --- a/bip/t3dn_bip/previews.py +++ b/bip/t3dn_bip/previews.py @@ -126,27 +126,30 @@ def _load_fallback( preview = self._collection.load(name, filepath, filetype) if not self._lazy_load: - preview.image_size[:] # Force Blender to load this preview now. + preview.icon_size[:] # Force Blender to load this icon now. + preview.image_size[:] # Force Blender to load this image now. return preview def _load_eager(self, name: str, filepath: str) -> ImagePreview: '''Load image contents from file and load preview.''' - size, pixels = load_file(filepath, self._max_size) + data = load_file(filepath, self._max_size) preview = self.new(name) - preview.image_size = size - preview.image_pixels = pixels + preview.icon_size = data['icon_size'] + preview.icon_pixels = data['icon_pixels'] + preview.image_size = data['image_size'] + preview.image_pixels = data['image_pixels'] return preview def _load_async(self, name: str, filepath: str, event: Event): '''Load image contents from file and queue preview load.''' if not event.is_set(): - size, pixels = load_file(filepath, self._max_size) + data = load_file(filepath, self._max_size) if not event.is_set(): - self._queue.put((name, size, pixels, event)) + self._queue.put((name, data, event)) def _timer(self): '''Load queued image contents into previews.''' @@ -175,13 +178,15 @@ def _timer(self): return delay - def _load_queued(self, name: str, size: tuple, pixels: list, event: Event): + def _load_queued(self, name: str, data: dict, event: Event): '''Load queued image contents into preview.''' if not event.is_set(): if name in self: preview = self[name] - preview.image_size = size - preview.image_pixels = pixels + preview.icon_size = data['icon_size'] + preview.icon_pixels = data['icon_pixels'] + preview.image_size = data['image_size'] + preview.image_pixels = data['image_pixels'] def clear(self): '''Clear all previews.''' diff --git a/bip/t3dn_bip/utils.py b/bip/t3dn_bip/utils.py index b4617a4..1ea2df9 100644 --- a/bip/t3dn_bip/utils.py +++ b/bip/t3dn_bip/utils.py @@ -1,6 +1,5 @@ -from __future__ import annotations - import bpy +import io import sys import site import subprocess @@ -8,7 +7,6 @@ from pathlib import Path from zlib import decompress from array import array -from typing import Tuple USER_SITE = site.getusersitepackages() @@ -46,15 +44,13 @@ def install_pillow(): def can_load(filepath: str) -> bool: '''Return whether an image can be loaded.''' with open(filepath, 'rb') as bip: - magic = bip.read(4) - - if magic == b'BIP1': + if bip.read(4) == b'BIP2': return True return support_pillow() -def load_file(filepath: str, max_size: tuple) -> Tuple[tuple, list]: +def load_file(filepath: str, max_size: tuple) -> dict: '''Load image preview data from file. Args: @@ -62,7 +58,7 @@ def load_file(filepath: str, max_size: tuple) -> Tuple[tuple, list]: max_size: Scale images above this size down. Returns: - The size and pixels of the image. + A dictionary with icon_size, icon_pixels, image_size, image_pixels. Raises: AssertionError: If pixel data type is not 32 bit. @@ -70,48 +66,86 @@ def load_file(filepath: str, max_size: tuple) -> Tuple[tuple, list]: ValueError: If file is not BIP and Pillow is not installed. ''' with open(filepath, 'rb') as bip: - magic = bip.read(4) + if bip.read(4) == b'BIP2': + count = int.from_bytes(bip.read(1), 'big') - if magic == b'BIP1': width = int.from_bytes(bip.read(2), 'big') height = int.from_bytes(bip.read(2), 'big') - data = decompress(bip.read()) + icon_size = (width, height) + icon_length = int.from_bytes(bip.read(4), 'big') - if support_pillow() and _should_resize((width, height), max_size): - image = Image.frombytes('RGBa', (width, height), data) - image = _resize_image(image, max_size) + bip.seek(8 * (count - 2), io.SEEK_CUR) - width, height = image.size - data = image.tobytes() - - pixels = array('i', data) - assert pixels.itemsize == 4, '32 bit type required for pixels' + width = int.from_bytes(bip.read(2), 'big') + height = int.from_bytes(bip.read(2), 'big') + image_size = (width, height) + image_length = int.from_bytes(bip.read(4), 'big') - count = width * height - assert len(pixels) == count, 'unexpected amount of pixels' + icon_content = decompress(bip.read(icon_length)) + bip.seek(-image_length, io.SEEK_END) + image_content = decompress(bip.read(image_length)) - return ((width, height), pixels) + if support_pillow() and _should_resize(image_size, max_size): + image = Image.frombytes('RGBa', image_size, image_content) + image = _resize_image(image, max_size) + image_size = image.size + image_content = image.tobytes() + + icon_pixels = array('i', icon_content) + assert icon_pixels.itemsize == 4, 'unexpected bytes per pixel' + length = icon_size[0] * icon_size[1] + assert len(icon_pixels) == length, 'unexpected amount of pixels' + + image_pixels = array('i', image_content) + assert image_pixels.itemsize == 4, 'unexpected bytes per pixel' + length = image_size[0] * image_size[1] + assert len(image_pixels) == length, 'unexpected amount of pixels' + + return { + 'icon_size': icon_size, + 'icon_pixels': icon_pixels, + 'image_size': image_size, + 'image_pixels': image_pixels, + } if support_pillow(): with Image.open(filepath) as image: + image = image.transpose(Image.FLIP_TOP_BOTTOM) + if _should_resize(image.size, max_size): image = _resize_image(image, max_size) - image = image.transpose(Image.FLIP_TOP_BOTTOM) - if not image.mode.endswith(('A', 'a')): image = image.convert('RGBA') - elif image.mode != 'RGBa': image = image.convert('RGBa') - pixels = array('i', image.tobytes()) - assert pixels.itemsize == 4, '32 bit type required for pixels' - + image_pixels = array('i', image.tobytes()) + assert image_pixels.itemsize == 4, 'unexpected bytes per pixel' count = image.size[0] * image.size[1] - assert len(pixels) == count, 'unexpected amount of pixels' + assert len(image_pixels) == count, 'unexpected amount of pixels' + + data = { + 'image_size': image.size, + 'image_pixels': image_pixels, + } + + if _should_resize(image.size, (32, 32)): + icon = image.resize(size=(32, 32)) + + icon_pixels = array('i', icon.tobytes()) + assert icon_pixels.itemsize == 4, 'pixel type must be 32 bit' + count = icon.size[0] * icon.size[1] + assert len(icon_pixels) == count, 'unexpected amount of pixels' + + data['icon_size'] = icon.size + data['icon_pixels'] = icon_pixels + + else: + data['icon_size'] = image.size + data['icon_pixels'] = image_pixels - return (image.size, pixels) + return data raise ValueError('input is not a supported file format') @@ -127,7 +161,7 @@ def _should_resize(size: tuple, max_size: tuple) -> bool: return False -def _resize_image(image: Image.Image, max_size: tuple) -> Image.Image: +def _resize_image(image: 'Image.Image', max_size: tuple) -> 'Image.Image': '''Resize image to fit inside maximum.''' scale = min( max_size[0] / image.size[0] if max_size[0] else 1, From 96d9acdade16f6cf07cd6953cab69ab0e9b3a0b5 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Sun, 2 May 2021 04:36:34 +0200 Subject: [PATCH 03/11] Convert example BIP1 files to BIP2 Well actually I converted them from the original JPG / PNG files, but the result is the same. --- example/t3dn_bip_example/images/alpha/rainbow.bip | 4 ++-- example/t3dn_bip_example/images/bip/00.bip | 4 ++-- example/t3dn_bip_example/images/bip/01.bip | 4 ++-- example/t3dn_bip_example/images/bip/02.bip | 4 ++-- example/t3dn_bip_example/images/bip/03.bip | 4 ++-- example/t3dn_bip_example/images/bip/04.bip | 4 ++-- example/t3dn_bip_example/images/bip/05.bip | 4 ++-- example/t3dn_bip_example/images/bip/06.bip | 4 ++-- example/t3dn_bip_example/images/bip/07.bip | 4 ++-- example/t3dn_bip_example/images/bip/08.bip | 4 ++-- example/t3dn_bip_example/images/bip/09.bip | 4 ++-- example/t3dn_bip_example/images/bip/10.bip | 4 ++-- example/t3dn_bip_example/images/bip/11.bip | 4 ++-- example/t3dn_bip_example/images/bip/12.bip | 4 ++-- example/t3dn_bip_example/images/bip/13.bip | 4 ++-- example/t3dn_bip_example/images/bip/14.bip | 4 ++-- example/t3dn_bip_example/images/bip/15.bip | 4 ++-- example/t3dn_bip_example/images/bip/16.bip | 4 ++-- example/t3dn_bip_example/images/bip/17.bip | 4 ++-- example/t3dn_bip_example/images/bip/18.bip | 4 ++-- example/t3dn_bip_example/images/bip/19.bip | 4 ++-- example/t3dn_bip_example/images/bip/20.bip | 4 ++-- example/t3dn_bip_example/images/bip/21.bip | 4 ++-- example/t3dn_bip_example/images/bip/22.bip | 4 ++-- example/t3dn_bip_example/images/bip/23.bip | 4 ++-- example/t3dn_bip_example/images/bip/24.bip | 4 ++-- example/t3dn_bip_example/images/bip/25.bip | 4 ++-- example/t3dn_bip_example/images/bip/26.bip | 4 ++-- example/t3dn_bip_example/images/bip/27.bip | 4 ++-- example/t3dn_bip_example/images/bip/28.bip | 4 ++-- example/t3dn_bip_example/images/bip/29.bip | 4 ++-- example/t3dn_bip_example/images/bip/30.bip | 4 ++-- example/t3dn_bip_example/images/bip/31.bip | 4 ++-- example/t3dn_bip_example/images/bip/32.bip | 4 ++-- example/t3dn_bip_example/images/bip/33.bip | 4 ++-- example/t3dn_bip_example/images/bip/34.bip | 4 ++-- example/t3dn_bip_example/images/bip/35.bip | 4 ++-- example/t3dn_bip_example/images/bip/36.bip | 4 ++-- example/t3dn_bip_example/images/bip/37.bip | 4 ++-- example/t3dn_bip_example/images/bip/38.bip | 4 ++-- example/t3dn_bip_example/images/bip/39.bip | 4 ++-- example/t3dn_bip_example/images/bip/40.bip | 4 ++-- example/t3dn_bip_example/images/bip/41.bip | 4 ++-- example/t3dn_bip_example/images/bip/42.bip | 4 ++-- example/t3dn_bip_example/images/bip/43.bip | 4 ++-- example/t3dn_bip_example/images/bip/44.bip | 4 ++-- example/t3dn_bip_example/images/bip/45.bip | 4 ++-- example/t3dn_bip_example/images/bip/46.bip | 4 ++-- example/t3dn_bip_example/images/bip/47.bip | 4 ++-- example/t3dn_bip_example/images/bip/48.bip | 4 ++-- example/t3dn_bip_example/images/bip/49.bip | 4 ++-- example/t3dn_bip_example/images/bip/50.bip | 4 ++-- example/t3dn_bip_example/images/bip/51.bip | 4 ++-- example/t3dn_bip_example/images/bip/52.bip | 4 ++-- example/t3dn_bip_example/images/bip/53.bip | 4 ++-- example/t3dn_bip_example/images/bip/54.bip | 4 ++-- example/t3dn_bip_example/images/bip/55.bip | 4 ++-- example/t3dn_bip_example/images/bip/56.bip | 4 ++-- example/t3dn_bip_example/images/bip/57.bip | 4 ++-- example/t3dn_bip_example/images/bip/58.bip | 4 ++-- example/t3dn_bip_example/images/bip/59.bip | 4 ++-- example/t3dn_bip_example/images/bip/60.bip | 4 ++-- example/t3dn_bip_example/images/bip/61.bip | 4 ++-- example/t3dn_bip_example/images/bip/62.bip | 4 ++-- example/t3dn_bip_example/images/bip/63.bip | 4 ++-- example/t3dn_bip_example/images/bip/64.bip | 4 ++-- example/t3dn_bip_example/images/bip/65.bip | 4 ++-- example/t3dn_bip_example/images/bip/66.bip | 4 ++-- example/t3dn_bip_example/images/bip/67.bip | 4 ++-- example/t3dn_bip_example/images/bip/68.bip | 4 ++-- example/t3dn_bip_example/images/bip/69.bip | 4 ++-- example/t3dn_bip_example/images/bip/70.bip | 4 ++-- example/t3dn_bip_example/images/bip/71.bip | 4 ++-- example/t3dn_bip_example/images/bip/72.bip | 4 ++-- example/t3dn_bip_example/images/bip/73.bip | 4 ++-- example/t3dn_bip_example/images/bip/74.bip | 4 ++-- example/t3dn_bip_example/images/bip/75.bip | 4 ++-- example/t3dn_bip_example/images/bip/76.bip | 4 ++-- example/t3dn_bip_example/images/bip/77.bip | 4 ++-- example/t3dn_bip_example/images/bip/78.bip | 4 ++-- example/t3dn_bip_example/images/bip/79.bip | 4 ++-- example/t3dn_bip_example/images/bip/80.bip | 4 ++-- example/t3dn_bip_example/images/bip/81.bip | 4 ++-- example/t3dn_bip_example/images/bip/82.bip | 4 ++-- example/t3dn_bip_example/images/bip/83.bip | 4 ++-- example/t3dn_bip_example/images/bip/84.bip | 4 ++-- example/t3dn_bip_example/images/bip/85.bip | 4 ++-- example/t3dn_bip_example/images/bip/86.bip | 4 ++-- example/t3dn_bip_example/images/bip/87.bip | 4 ++-- example/t3dn_bip_example/images/bip/88.bip | 4 ++-- example/t3dn_bip_example/images/bip/89.bip | 4 ++-- example/t3dn_bip_example/images/bip/90.bip | 4 ++-- example/t3dn_bip_example/images/bip/91.bip | 4 ++-- example/t3dn_bip_example/images/bip/92.bip | 4 ++-- example/t3dn_bip_example/images/bip/93.bip | 4 ++-- example/t3dn_bip_example/images/bip/94.bip | 4 ++-- example/t3dn_bip_example/images/bip/95.bip | 4 ++-- example/t3dn_bip_example/images/bip/96.bip | 4 ++-- example/t3dn_bip_example/images/bip/97.bip | 4 ++-- example/t3dn_bip_example/images/bip/98.bip | 4 ++-- example/t3dn_bip_example/images/bip/99.bip | 4 ++-- 101 files changed, 202 insertions(+), 202 deletions(-) diff --git a/example/t3dn_bip_example/images/alpha/rainbow.bip b/example/t3dn_bip_example/images/alpha/rainbow.bip index 64f3b35..3fdc945 100644 --- a/example/t3dn_bip_example/images/alpha/rainbow.bip +++ b/example/t3dn_bip_example/images/alpha/rainbow.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e36414fa58c10c779c244a6ea1073c31c4c1072a61cbed5f6a65120e89ce0ab -size 23201 +oid sha256:59c8e63e957c246637e32929b1b181159cde6f4048086147d3be75e64ba647b5 +size 25135 diff --git a/example/t3dn_bip_example/images/bip/00.bip b/example/t3dn_bip_example/images/bip/00.bip index c5da0d9..299f311 100644 --- a/example/t3dn_bip_example/images/bip/00.bip +++ b/example/t3dn_bip_example/images/bip/00.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d46fb74f4e8a1f1e198db904f753a6fc2ad56f8d5a7e470acd010c9e070f1d56 -size 60930 +oid sha256:df8914d33d4467d7041863e4d4dafa6c676efd7e43420f3913e082353022273f +size 63297 diff --git a/example/t3dn_bip_example/images/bip/01.bip b/example/t3dn_bip_example/images/bip/01.bip index cc65351..72acceb 100644 --- a/example/t3dn_bip_example/images/bip/01.bip +++ b/example/t3dn_bip_example/images/bip/01.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f2f7e4eecf291130c8bfd82a3adb6c3e346e246606bb956c58139d66e84c38e -size 86904 +oid sha256:1e72868899c9c873e64c914106276934257f695dc0022cbea63d8a822e5cdbfb +size 89287 diff --git a/example/t3dn_bip_example/images/bip/02.bip b/example/t3dn_bip_example/images/bip/02.bip index c828986..c6a2751 100644 --- a/example/t3dn_bip_example/images/bip/02.bip +++ b/example/t3dn_bip_example/images/bip/02.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08f4e8c81968702be860e5534bdc85500422ac0d4b4ff92eae41ac0cc25820f6 -size 114640 +oid sha256:10c2688a3afad954a466ee78be9a02fea2f744c8cd2ad893595e5a5831fd2527 +size 117706 diff --git a/example/t3dn_bip_example/images/bip/03.bip b/example/t3dn_bip_example/images/bip/03.bip index 2119046..5892f96 100644 --- a/example/t3dn_bip_example/images/bip/03.bip +++ b/example/t3dn_bip_example/images/bip/03.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0f02fe033d21375bfa06e5a28b1598a3ec4da260c5532d87a418253548e741f -size 131722 +oid sha256:ce9e2dd0d8946e5eb919f22c59dacad49d10db914e25abdd330261d7fe17f008 +size 134834 diff --git a/example/t3dn_bip_example/images/bip/04.bip b/example/t3dn_bip_example/images/bip/04.bip index 6b3b1a1..ac21b48 100644 --- a/example/t3dn_bip_example/images/bip/04.bip +++ b/example/t3dn_bip_example/images/bip/04.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:053c0edeaa9ef39e4ea85dd06841eb9982d7aa03320c68791cd58929cdeba2d0 -size 106585 +oid sha256:792485d93148026464911c1a119a64ab5cca48b3ab59dc3c5b08f3a610b26b34 +size 109298 diff --git a/example/t3dn_bip_example/images/bip/05.bip b/example/t3dn_bip_example/images/bip/05.bip index 44d0968..6bbd6c0 100644 --- a/example/t3dn_bip_example/images/bip/05.bip +++ b/example/t3dn_bip_example/images/bip/05.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dc0cdbfc9f2261933ccce466f793c0e2929bebb090c401eedc8a9943cee0460 -size 55655 +oid sha256:29787946d2fe9bade6b0dd51b446ce0f4104fc4dbff771c00d2da097f77ed719 +size 58131 diff --git a/example/t3dn_bip_example/images/bip/06.bip b/example/t3dn_bip_example/images/bip/06.bip index a84549b..c69d9bd 100644 --- a/example/t3dn_bip_example/images/bip/06.bip +++ b/example/t3dn_bip_example/images/bip/06.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dd932241f09770ef276f4b9c49d9c897740164b2d0727b5f6c6438ee431b9b0 -size 142669 +oid sha256:f89a508ec1b5ee1c3377e3151f250e2766175bfc3ef317ba9a4c930007ce43c1 +size 145848 diff --git a/example/t3dn_bip_example/images/bip/07.bip b/example/t3dn_bip_example/images/bip/07.bip index 35b102f..a767200 100644 --- a/example/t3dn_bip_example/images/bip/07.bip +++ b/example/t3dn_bip_example/images/bip/07.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea252f49c42bdc013d3dcb2218b76b59272a30f237d418d7599367bcaf064d60 -size 130584 +oid sha256:3486e890116585ec9d67fc4ae89b7e80cf0312f3bc5d8e171b398908b9a63755 +size 133203 diff --git a/example/t3dn_bip_example/images/bip/08.bip b/example/t3dn_bip_example/images/bip/08.bip index 27b48e6..0f22e67 100644 --- a/example/t3dn_bip_example/images/bip/08.bip +++ b/example/t3dn_bip_example/images/bip/08.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b74a18771702c24a09bf31f1cefb7fdb71c9fa1f320ca2018009600355dfaa93 -size 64437 +oid sha256:fc920e83976183efaaa8bdccda45bb2a77600f696dcee27b45b5beed1c404707 +size 66308 diff --git a/example/t3dn_bip_example/images/bip/09.bip b/example/t3dn_bip_example/images/bip/09.bip index e2b161b..742f149 100644 --- a/example/t3dn_bip_example/images/bip/09.bip +++ b/example/t3dn_bip_example/images/bip/09.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b7f3c37d31e71334f1a3283c17e7c7c254e23aa9a30ce09b3e73c598fca5562 -size 124546 +oid sha256:e3044727b09138e371cc9358e60bc7f43904e12b73037f4022d13aab1d62d990 +size 127901 diff --git a/example/t3dn_bip_example/images/bip/10.bip b/example/t3dn_bip_example/images/bip/10.bip index 2584669..a3dec1e 100644 --- a/example/t3dn_bip_example/images/bip/10.bip +++ b/example/t3dn_bip_example/images/bip/10.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa4d7d2139929c2678f27e1e2f7d78c170739af8dbf7752898ad93851c79f8c0 -size 180842 +oid sha256:e8af357a1717e6521f1df0c5dab7feed70dc3ad9eee703c477230de31a366a0f +size 184251 diff --git a/example/t3dn_bip_example/images/bip/11.bip b/example/t3dn_bip_example/images/bip/11.bip index 7326bf5..4a40def 100644 --- a/example/t3dn_bip_example/images/bip/11.bip +++ b/example/t3dn_bip_example/images/bip/11.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98977909e3f4e0f65b969b1917bf483a154d311060f2808173158a7b7aa66fc4 -size 88449 +oid sha256:6f8434f3ebf0b96427ee12ffe9856710b526ccada0c7796f23ec08242648b70d +size 90823 diff --git a/example/t3dn_bip_example/images/bip/12.bip b/example/t3dn_bip_example/images/bip/12.bip index 485c6d3..879b316 100644 --- a/example/t3dn_bip_example/images/bip/12.bip +++ b/example/t3dn_bip_example/images/bip/12.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46f92a590ee2d8d940abca45d98bb3cce60eea07340d0969f717f7a5226dba54 -size 109201 +oid sha256:e5cf9d2de098ebb5ecafc05c91ddb7c2a58b8f56755a30a01a5ac0a9ad655d8d +size 112301 diff --git a/example/t3dn_bip_example/images/bip/13.bip b/example/t3dn_bip_example/images/bip/13.bip index 412beff..ffc2968 100644 --- a/example/t3dn_bip_example/images/bip/13.bip +++ b/example/t3dn_bip_example/images/bip/13.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:815c640a4d6cbc232754802da28c352827eca9183339a5473e05204e5be99f94 -size 115301 +oid sha256:b72f9b5c59e2829edc00fb83980cc9148312f75b90c4821b3894d116a7a56940 +size 118052 diff --git a/example/t3dn_bip_example/images/bip/14.bip b/example/t3dn_bip_example/images/bip/14.bip index 0cff808..2c4cf71 100644 --- a/example/t3dn_bip_example/images/bip/14.bip +++ b/example/t3dn_bip_example/images/bip/14.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af8aacddcfd2aba02ff97afb91d6d9ee2dc29b057913990deea72268a57fe126 -size 91835 +oid sha256:e2e0b1b30b168205a53e24a9f9d4022108491b6a5d696b4784a131b524524c83 +size 94396 diff --git a/example/t3dn_bip_example/images/bip/15.bip b/example/t3dn_bip_example/images/bip/15.bip index f4959da..26c9ac6 100644 --- a/example/t3dn_bip_example/images/bip/15.bip +++ b/example/t3dn_bip_example/images/bip/15.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b8246f8688c2882b2dfce5f09979faa87bd128c6c5c1e7b1c377273364c1e29 -size 191347 +oid sha256:6078efa3caee0ae0890341ae144ef4b2e52a18411af6c4648bd928a9f7e91c23 +size 194716 diff --git a/example/t3dn_bip_example/images/bip/16.bip b/example/t3dn_bip_example/images/bip/16.bip index 32a571a..89ff1df 100644 --- a/example/t3dn_bip_example/images/bip/16.bip +++ b/example/t3dn_bip_example/images/bip/16.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52ab88c3dfaa67ac7bf368398e4901b6340f5d81ed8dcd0ee3d4e549fe898238 -size 98363 +oid sha256:1270a441cc61fb3864969d71886f990c284409ddbcfeb28390046a55b6d6e678 +size 101290 diff --git a/example/t3dn_bip_example/images/bip/17.bip b/example/t3dn_bip_example/images/bip/17.bip index 693893f..b52885a 100644 --- a/example/t3dn_bip_example/images/bip/17.bip +++ b/example/t3dn_bip_example/images/bip/17.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9acf6db33f21a02ecf5dcc6db2a7eb2d273d0ab448d6b4026206156d85783cc -size 164807 +oid sha256:ecc390ce1f324a4893aef868409cae3c8bd3af35ab6e2a5920b2704ee5a9c753 +size 168046 diff --git a/example/t3dn_bip_example/images/bip/18.bip b/example/t3dn_bip_example/images/bip/18.bip index ed4190e..e6bcb7d 100644 --- a/example/t3dn_bip_example/images/bip/18.bip +++ b/example/t3dn_bip_example/images/bip/18.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a38d9937b101fa90dd64d17e9b219a5c4e7bf1584cc5af51bb6fe544abcc6b4b -size 182695 +oid sha256:8e1df73a97234f021388ee35a9e549e2eba13f3f3f74f05d42f99b47d2a1ba33 +size 186052 diff --git a/example/t3dn_bip_example/images/bip/19.bip b/example/t3dn_bip_example/images/bip/19.bip index 29173e7..0b558c1 100644 --- a/example/t3dn_bip_example/images/bip/19.bip +++ b/example/t3dn_bip_example/images/bip/19.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86b795d6861511d8607ce16050a600fd5e8a74ba384a5cd15748891cc45a3643 -size 208953 +oid sha256:4abcce331eff8901b786aab56298d2d0305c2a429cc32c56a6f6955645fdf6d0 +size 212387 diff --git a/example/t3dn_bip_example/images/bip/20.bip b/example/t3dn_bip_example/images/bip/20.bip index 9ef6034..185a16a 100644 --- a/example/t3dn_bip_example/images/bip/20.bip +++ b/example/t3dn_bip_example/images/bip/20.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c144ce6d0e6206ba2dc0847b561b35c883b8711de24460684a082cc8c6072b05 -size 138600 +oid sha256:32f7ce82283c0c76879fd9c1fba9d8948648493f8bad50d0ef08a4c40dc48014 +size 141796 diff --git a/example/t3dn_bip_example/images/bip/21.bip b/example/t3dn_bip_example/images/bip/21.bip index 8f36416..0ca5113 100644 --- a/example/t3dn_bip_example/images/bip/21.bip +++ b/example/t3dn_bip_example/images/bip/21.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad048da6deed545f81ed1146377d98e9aaf992b4666ce71967321693e4e1a63d -size 169852 +oid sha256:142f971cca178e3235a0969801edcf130989f63c58000f4c48682e7bf95465aa +size 173096 diff --git a/example/t3dn_bip_example/images/bip/22.bip b/example/t3dn_bip_example/images/bip/22.bip index 823ff8f..1a94a04 100644 --- a/example/t3dn_bip_example/images/bip/22.bip +++ b/example/t3dn_bip_example/images/bip/22.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1495ad314f14ecc6c9724454caaef569e772fa4212b583bc866d810992dad61d -size 118645 +oid sha256:dfb05f2fdfdad8f6499bf0f28b5979538291dd64e7ff34ac2d5b24f8ddd94d94 +size 121336 diff --git a/example/t3dn_bip_example/images/bip/23.bip b/example/t3dn_bip_example/images/bip/23.bip index a5f7789..d4e00a5 100644 --- a/example/t3dn_bip_example/images/bip/23.bip +++ b/example/t3dn_bip_example/images/bip/23.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e998905bfb36484af973def77572f4cc198db43bf070bf4aba4f632a0d3a1df9 -size 84169 +oid sha256:a0548450baf5248d4eec213ae20e6e136dbd425282d8e523f80954904b7c5a18 +size 86949 diff --git a/example/t3dn_bip_example/images/bip/24.bip b/example/t3dn_bip_example/images/bip/24.bip index 8c299e8..9e7f4f4 100644 --- a/example/t3dn_bip_example/images/bip/24.bip +++ b/example/t3dn_bip_example/images/bip/24.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d744533721c894805e525426bce629066dfbc0487de6fa5a26a5d9c777dedd2 -size 73935 +oid sha256:eddf6f64be5413b3fa86d72088ccc1666eb4624d3fe3682bc0f4f24e20834609 +size 76444 diff --git a/example/t3dn_bip_example/images/bip/25.bip b/example/t3dn_bip_example/images/bip/25.bip index 7ea54c2..1815e44 100644 --- a/example/t3dn_bip_example/images/bip/25.bip +++ b/example/t3dn_bip_example/images/bip/25.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15000adff163ae90365dd15dc68da426ce093d528e2ae569995c5d8faa33f1ff -size 138359 +oid sha256:6f03f2afb83452350b140e5b1ce0077fdee5351a8d31175414600824016f6019 +size 141367 diff --git a/example/t3dn_bip_example/images/bip/26.bip b/example/t3dn_bip_example/images/bip/26.bip index 3505cab..0be8395 100644 --- a/example/t3dn_bip_example/images/bip/26.bip +++ b/example/t3dn_bip_example/images/bip/26.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3214a37a4605479caa753fde3eb46f9a09a7d86f8ae3cda7cc72195495ce501 -size 93500 +oid sha256:b99f302fc8f9c9f8db9d64a13b4e237e562768c5dafddc5cf3b0bd387bb0b427 +size 96069 diff --git a/example/t3dn_bip_example/images/bip/27.bip b/example/t3dn_bip_example/images/bip/27.bip index 6fa8e43..206ef55 100644 --- a/example/t3dn_bip_example/images/bip/27.bip +++ b/example/t3dn_bip_example/images/bip/27.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:611c8467a14f8d32340a9bf1f10178a7e9ce4f401dd9f691fe585d14eb2d0238 -size 132987 +oid sha256:f945f2f323b0abe176450bff9196055f6d0ae4554e2dfd42a06e52bf517ab99d +size 136208 diff --git a/example/t3dn_bip_example/images/bip/28.bip b/example/t3dn_bip_example/images/bip/28.bip index 336105d..4d14a65 100644 --- a/example/t3dn_bip_example/images/bip/28.bip +++ b/example/t3dn_bip_example/images/bip/28.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8bb80816bc1bda4f2e33b2e71737ea83354ef32058899c051310efa99ab1bb6f -size 185317 +oid sha256:5d969adfa84a4bff2eba9d35d40afd6440758eedbddee1f0df9a472543b6cbed +size 188656 diff --git a/example/t3dn_bip_example/images/bip/29.bip b/example/t3dn_bip_example/images/bip/29.bip index aae1fcf..2550f7c 100644 --- a/example/t3dn_bip_example/images/bip/29.bip +++ b/example/t3dn_bip_example/images/bip/29.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25b7aa5876c8857ce9d41e9312e50acd89b9a5678e72b8aac23bf41239766c30 -size 152867 +oid sha256:9e63ccdbab2f6a5a9361329d228639498235cc6017b3e978aa4cfb33e92f18a1 +size 156165 diff --git a/example/t3dn_bip_example/images/bip/30.bip b/example/t3dn_bip_example/images/bip/30.bip index c6d9aa9..431196b 100644 --- a/example/t3dn_bip_example/images/bip/30.bip +++ b/example/t3dn_bip_example/images/bip/30.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab8195f820e72a75d0c56190e5e33de5289f83ef6e3d6c59083b6fe84fa1ea4c -size 130200 +oid sha256:200ff2c25800e6a18248e673cb1cce8637b285fdba6ac799b71a729090c53a1f +size 133573 diff --git a/example/t3dn_bip_example/images/bip/31.bip b/example/t3dn_bip_example/images/bip/31.bip index ae421f6..64c4f00 100644 --- a/example/t3dn_bip_example/images/bip/31.bip +++ b/example/t3dn_bip_example/images/bip/31.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:842a2bd71ce6ecb6468a13e5a6b238bc1fad14af46526dc6ec1461f1830651a6 -size 37795 +oid sha256:9ae3b01a6185c62591ad2e5a34dc17aeebe4f1cc640351fdf11688769d75d4a0 +size 39447 diff --git a/example/t3dn_bip_example/images/bip/32.bip b/example/t3dn_bip_example/images/bip/32.bip index 8056e90..65d4791 100644 --- a/example/t3dn_bip_example/images/bip/32.bip +++ b/example/t3dn_bip_example/images/bip/32.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d2dde565c955cb7373117fd7845c4c87c1ff94b80e1b24d093c02647c4863af -size 111897 +oid sha256:6bace8f1b48c05a3fe5f12a422745b1e6a619dff24b52ea22e941b7af821385f +size 114715 diff --git a/example/t3dn_bip_example/images/bip/33.bip b/example/t3dn_bip_example/images/bip/33.bip index 67f6821..ebe2970 100644 --- a/example/t3dn_bip_example/images/bip/33.bip +++ b/example/t3dn_bip_example/images/bip/33.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3247c1b893bef9a3ca9aea49bf31ae9da97b2327c751ac78a634db6c8bc69a8 -size 131176 +oid sha256:dc04e9bc0b134a38e6536d89e974c2161d1f24c3cf51b9174436607cb067825a +size 134316 diff --git a/example/t3dn_bip_example/images/bip/34.bip b/example/t3dn_bip_example/images/bip/34.bip index 423168c..f03f5f2 100644 --- a/example/t3dn_bip_example/images/bip/34.bip +++ b/example/t3dn_bip_example/images/bip/34.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:310ed2750faa378e506ab72e19e586dcbdfce9290f9f25164a3142dce8be0cbd -size 209496 +oid sha256:fba6c8a0af1651ee295e693ba97c3dadebc2564767205fc60ad1f94d6306e377 +size 212993 diff --git a/example/t3dn_bip_example/images/bip/35.bip b/example/t3dn_bip_example/images/bip/35.bip index fd7c2ac..44a3d45 100644 --- a/example/t3dn_bip_example/images/bip/35.bip +++ b/example/t3dn_bip_example/images/bip/35.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d68a014b7c1bb6c2b6354c448cb9846dd9be5228dd37d38c6d479bd8454302e2 -size 146368 +oid sha256:1b33ad0a641c8c5e80f45f5c5996b2c18862f671ed106980c230fc05c98ded4a +size 149726 diff --git a/example/t3dn_bip_example/images/bip/36.bip b/example/t3dn_bip_example/images/bip/36.bip index f020d18..007ded6 100644 --- a/example/t3dn_bip_example/images/bip/36.bip +++ b/example/t3dn_bip_example/images/bip/36.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a688346a47ccc4471bd87d830fa45565c66440735566b29caa095b547e050d7 -size 118944 +oid sha256:9ad55bd0dd3963541b365c78c9a688c51cb2b4e07c21301a64dc6670dc9920e3 +size 121978 diff --git a/example/t3dn_bip_example/images/bip/37.bip b/example/t3dn_bip_example/images/bip/37.bip index bed4824..a3edba0 100644 --- a/example/t3dn_bip_example/images/bip/37.bip +++ b/example/t3dn_bip_example/images/bip/37.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f2f1b679517e138dea3347bce69170adf0a2af788a6be63ab567481a6b09789 -size 97658 +oid sha256:285c884241fcb6551174c3f95b5ad8e2a59c5c43908c26893df79062cdbac983 +size 100045 diff --git a/example/t3dn_bip_example/images/bip/38.bip b/example/t3dn_bip_example/images/bip/38.bip index aff7d49..4cffb7c 100644 --- a/example/t3dn_bip_example/images/bip/38.bip +++ b/example/t3dn_bip_example/images/bip/38.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3a787df631cb47731dd93287252bb41f943f5d4a91831ef12321db88db899b8 -size 85516 +oid sha256:e944e65d3d071513acea5505ac376d80dfbfbf2cddb6366ed3d66f3dbe502aac +size 88541 diff --git a/example/t3dn_bip_example/images/bip/39.bip b/example/t3dn_bip_example/images/bip/39.bip index 28ccbc7..99f1d2a 100644 --- a/example/t3dn_bip_example/images/bip/39.bip +++ b/example/t3dn_bip_example/images/bip/39.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a5d9a421297d3b4c2414801dff09a9cf99006a39d7bf935e64803e656b6fc95 -size 71064 +oid sha256:6113f603ce68f9c3cc00c71f603e5279e6a369cea97f137c6acca11a9a2ac835 +size 73730 diff --git a/example/t3dn_bip_example/images/bip/40.bip b/example/t3dn_bip_example/images/bip/40.bip index 76d332a..609b601 100644 --- a/example/t3dn_bip_example/images/bip/40.bip +++ b/example/t3dn_bip_example/images/bip/40.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61de1fa08c183e46f1514f26141558c0df07e383c97adba9eb007b75f01a7851 -size 145289 +oid sha256:1a312ccf9f04375533abbc1c0d56d3d1c921d79f654686108dbfa7497fff25ad +size 148543 diff --git a/example/t3dn_bip_example/images/bip/41.bip b/example/t3dn_bip_example/images/bip/41.bip index 8b0f409..705f6cb 100644 --- a/example/t3dn_bip_example/images/bip/41.bip +++ b/example/t3dn_bip_example/images/bip/41.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c81027ffadcb6dbffd34a5ccd3169f980e62a5a11bdf93714731b901fe7c0302 -size 168453 +oid sha256:946e885eb1bc399982a55fb75699e30a7daea75e8ef9d61e8e901c050a3f7526 +size 171529 diff --git a/example/t3dn_bip_example/images/bip/42.bip b/example/t3dn_bip_example/images/bip/42.bip index 3bc1119..aedd937 100644 --- a/example/t3dn_bip_example/images/bip/42.bip +++ b/example/t3dn_bip_example/images/bip/42.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b47bd2ebd7db743a73480e507d49911c319e0b019201c0c9a5eb50d745606c5 -size 146999 +oid sha256:52e3790a963ca5046bf6b0c9084038a95cdbc33870296c78c41988713296f9e8 +size 150368 diff --git a/example/t3dn_bip_example/images/bip/43.bip b/example/t3dn_bip_example/images/bip/43.bip index 192591c..139714a 100644 --- a/example/t3dn_bip_example/images/bip/43.bip +++ b/example/t3dn_bip_example/images/bip/43.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14fe7c0d470b0b1c56afca43ed7af85dd9cc002238514e338678851528fc3950 -size 52049 +oid sha256:6b6585708d57edb938ba9b5b7df298548c1340001e400930017519559f4e0c67 +size 53611 diff --git a/example/t3dn_bip_example/images/bip/44.bip b/example/t3dn_bip_example/images/bip/44.bip index 59345a7..9a1b136 100644 --- a/example/t3dn_bip_example/images/bip/44.bip +++ b/example/t3dn_bip_example/images/bip/44.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:563d6e27cae37712059781290f6308415c0dab32e342cd667f35b9382022b093 -size 30541 +oid sha256:09f907e233ba8b92db3d0011a9b10ec6ee6e9fbe9af313519705c3d15b2ea694 +size 31747 diff --git a/example/t3dn_bip_example/images/bip/45.bip b/example/t3dn_bip_example/images/bip/45.bip index 27ecbed..fcba131 100644 --- a/example/t3dn_bip_example/images/bip/45.bip +++ b/example/t3dn_bip_example/images/bip/45.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90c4db7696ec96617ff0cf055a3c9e1f4413fcf4bcf0ecde4fe5da429ffe9da2 -size 161901 +oid sha256:f5f1333ff897522d8512c3af99753374ef1e7da5c20da235da1dcfa12c579b75 +size 165075 diff --git a/example/t3dn_bip_example/images/bip/46.bip b/example/t3dn_bip_example/images/bip/46.bip index 68e031b..73a0aba 100644 --- a/example/t3dn_bip_example/images/bip/46.bip +++ b/example/t3dn_bip_example/images/bip/46.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fc2694e2169c9f205d689d8ecb6617c7dda18a74235af1066993151077ba5fb -size 112917 +oid sha256:baf95f25c1ced2fb6e3318e8fa42568aebaa213e9d547969482d70262e425bb4 +size 115875 diff --git a/example/t3dn_bip_example/images/bip/47.bip b/example/t3dn_bip_example/images/bip/47.bip index 750940b..316ff02 100644 --- a/example/t3dn_bip_example/images/bip/47.bip +++ b/example/t3dn_bip_example/images/bip/47.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:212b768f53944798d1976d8bbe268ecf4daaa1d5fa11d215dfbb9d8d67764f94 -size 42219 +oid sha256:786348fadf2ca2d43b9f4654d296d11fae37aaf1e249625e86e35ad61173d481 +size 43764 diff --git a/example/t3dn_bip_example/images/bip/48.bip b/example/t3dn_bip_example/images/bip/48.bip index a6ae76c..f3d4467 100644 --- a/example/t3dn_bip_example/images/bip/48.bip +++ b/example/t3dn_bip_example/images/bip/48.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b04a027e3d0f5915cb53d986e449c6d6256c1a1e24ac745937776152a5a948b7 -size 84863 +oid sha256:5304de2d7a8dc697fd09a8e1dbb3d68969f38bfdf118bcb54786720298fc27e9 +size 87663 diff --git a/example/t3dn_bip_example/images/bip/49.bip b/example/t3dn_bip_example/images/bip/49.bip index 25635f1..d13a306 100644 --- a/example/t3dn_bip_example/images/bip/49.bip +++ b/example/t3dn_bip_example/images/bip/49.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0d85f436b696086186a1bbdd2ef24bfee1b14efa8833a0f536acce678e0d908 -size 93119 +oid sha256:d5b8d2e05e4aadce5375d914e9583ee7fbd34b26dfb34d045a74de9af52ed6f8 +size 95938 diff --git a/example/t3dn_bip_example/images/bip/50.bip b/example/t3dn_bip_example/images/bip/50.bip index cb03bbd..0e693eb 100644 --- a/example/t3dn_bip_example/images/bip/50.bip +++ b/example/t3dn_bip_example/images/bip/50.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c25b747d8ca9352e150940516c632b2b78e2962e608a1ff0e4aed0e50b0e2c4 -size 122735 +oid sha256:b85843ee03f98fe06d0db8a56669536b872365a429c6483dfbc0c4097a28cc80 +size 125735 diff --git a/example/t3dn_bip_example/images/bip/51.bip b/example/t3dn_bip_example/images/bip/51.bip index b6b03d9..9b9f69e 100644 --- a/example/t3dn_bip_example/images/bip/51.bip +++ b/example/t3dn_bip_example/images/bip/51.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6d407cd99e76799e9f34a93817dcbc553e3e0e0d8981a25a383217754e18ac3 -size 58532 +oid sha256:2af0d49673bb382bd8b8cf4843403f98e70e804a7c0c10667cdd048e7426f0a8 +size 60287 diff --git a/example/t3dn_bip_example/images/bip/52.bip b/example/t3dn_bip_example/images/bip/52.bip index f3bfe94..fa901de 100644 --- a/example/t3dn_bip_example/images/bip/52.bip +++ b/example/t3dn_bip_example/images/bip/52.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:619e00790e91300d4f1911472954183a006144d87978f4c38566ff4a94060dc0 -size 100888 +oid sha256:b8e679ff96c9fdfd54c0bec287e8e34dde55cdadf0ec978a3f7fcbe6d3ccff87 +size 103953 diff --git a/example/t3dn_bip_example/images/bip/53.bip b/example/t3dn_bip_example/images/bip/53.bip index 05a18d3..0c8d769 100644 --- a/example/t3dn_bip_example/images/bip/53.bip +++ b/example/t3dn_bip_example/images/bip/53.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f993e2b233916212a1d93f9c79831e3b08afd805e3a25f75a7c26b6b2fb3a37b -size 85533 +oid sha256:efb2bc85ea2250e72069b2c825524a0e7e2563e1484bc9f4a1cef11bd732bea5 +size 88538 diff --git a/example/t3dn_bip_example/images/bip/54.bip b/example/t3dn_bip_example/images/bip/54.bip index ebcaea2..9ba0d4a 100644 --- a/example/t3dn_bip_example/images/bip/54.bip +++ b/example/t3dn_bip_example/images/bip/54.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0af5265b40060b68b578f10a6222ab65cd85f9f0aa8c230ca10d8e17cb32d881 -size 150790 +oid sha256:13ba584d4dbdc46231ebe3259fef86c4a01847a94d893002150a86f3d634adec +size 154021 diff --git a/example/t3dn_bip_example/images/bip/55.bip b/example/t3dn_bip_example/images/bip/55.bip index 7b5dde1..e3758d5 100644 --- a/example/t3dn_bip_example/images/bip/55.bip +++ b/example/t3dn_bip_example/images/bip/55.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1026192b4f4d53d1ed6c5f4c8735ca14febc175ccf34e2643d70df0a851c19a -size 151372 +oid sha256:c5f89e1bea8c59076366388c576b0df50d73efb426baef23df79e4361a09d7a2 +size 154626 diff --git a/example/t3dn_bip_example/images/bip/56.bip b/example/t3dn_bip_example/images/bip/56.bip index 7e5a920..eb47124 100644 --- a/example/t3dn_bip_example/images/bip/56.bip +++ b/example/t3dn_bip_example/images/bip/56.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:366db8bd8ff6f7f6dba5cabe775c9e5ab72ce17bf9a0849352fcfb811f82796f -size 131981 +oid sha256:1effec198a76d77cc0f71ea225b1231c3481da4f956ac5ecb22f137189049429 +size 135232 diff --git a/example/t3dn_bip_example/images/bip/57.bip b/example/t3dn_bip_example/images/bip/57.bip index adea8cb..3762e15 100644 --- a/example/t3dn_bip_example/images/bip/57.bip +++ b/example/t3dn_bip_example/images/bip/57.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39e130eba2ae6250152378dbc0657adff3497400ade6fda03ed00a9bd7af18c8 -size 169073 +oid sha256:83bc90a6fe5a285987892d238d562f028dbe8c49b3f67737cc5d2a5a9805a9d3 +size 172443 diff --git a/example/t3dn_bip_example/images/bip/58.bip b/example/t3dn_bip_example/images/bip/58.bip index 1caa778..fb7fe03 100644 --- a/example/t3dn_bip_example/images/bip/58.bip +++ b/example/t3dn_bip_example/images/bip/58.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76354ee9f4a265b32019f9ed696e2bc60850ff82404355986b722995f588dc46 -size 68079 +oid sha256:97c9477a3d466f970363879b5cf8c8b0f98b93d6386a0e834825ae82e915b011 +size 70004 diff --git a/example/t3dn_bip_example/images/bip/59.bip b/example/t3dn_bip_example/images/bip/59.bip index 3d7e48c..a8621ec 100644 --- a/example/t3dn_bip_example/images/bip/59.bip +++ b/example/t3dn_bip_example/images/bip/59.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a47b887486cada54ebe26b697686022b83f87913852a56e92e0c2a4788446b9 -size 125114 +oid sha256:801abdfeabfa46e7572c43a245e798e1856eaa4824b266f9d7e1d7f79d2ce049 +size 128070 diff --git a/example/t3dn_bip_example/images/bip/60.bip b/example/t3dn_bip_example/images/bip/60.bip index 3351dab..cd74396 100644 --- a/example/t3dn_bip_example/images/bip/60.bip +++ b/example/t3dn_bip_example/images/bip/60.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8157d7cb567584c7ddc6aad5353cb049d8ee270c8a1ef9d34c52db50f175007 -size 63570 +oid sha256:766565d32c91c884c75d868896f9d8f88e67331e164999658d79d626aa31b984 +size 65775 diff --git a/example/t3dn_bip_example/images/bip/61.bip b/example/t3dn_bip_example/images/bip/61.bip index 9e2e4cc..b9d17ca 100644 --- a/example/t3dn_bip_example/images/bip/61.bip +++ b/example/t3dn_bip_example/images/bip/61.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c439384d11d41fc5f6f6365831e93d1fbae6e1bed9b1a415a522ce7708dee30a -size 67740 +oid sha256:e5bfd64c70afbb88b99b7f5f5b035aa4ef2ce53f95a6510a37512d9a9f271363 +size 69629 diff --git a/example/t3dn_bip_example/images/bip/62.bip b/example/t3dn_bip_example/images/bip/62.bip index e95f0e9..cdc8255 100644 --- a/example/t3dn_bip_example/images/bip/62.bip +++ b/example/t3dn_bip_example/images/bip/62.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:375897209d4701d459f3d45fc49156f1e98cea56026a4f7f98ac629eac9f94b1 -size 114094 +oid sha256:9f4b28b08d6aa62216da594c3afad7dec880f83e161d4f6025e6e8fff914837a +size 117359 diff --git a/example/t3dn_bip_example/images/bip/63.bip b/example/t3dn_bip_example/images/bip/63.bip index 93d21de..6aab0c8 100644 --- a/example/t3dn_bip_example/images/bip/63.bip +++ b/example/t3dn_bip_example/images/bip/63.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed6c73d5e0594b40512fbf7efbec1c3e3be13b170c9b03b13dd810b2339e23c5 -size 62541 +oid sha256:2f38a398414be1a194e10993bf8a2d490270d1e01c75602bea00ead8759bf088 +size 65160 diff --git a/example/t3dn_bip_example/images/bip/64.bip b/example/t3dn_bip_example/images/bip/64.bip index 707f2e4..6cd14e7 100644 --- a/example/t3dn_bip_example/images/bip/64.bip +++ b/example/t3dn_bip_example/images/bip/64.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85af62b16622b777085730aa3a414cef6c36738539cda5bbe90515d9a07be031 -size 111623 +oid sha256:18e405b9c52e943ed98e26f868d2ef9b2abaf2732931bf1f9c374aef838762b6 +size 113982 diff --git a/example/t3dn_bip_example/images/bip/65.bip b/example/t3dn_bip_example/images/bip/65.bip index e78ad9e..859aabe 100644 --- a/example/t3dn_bip_example/images/bip/65.bip +++ b/example/t3dn_bip_example/images/bip/65.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aca7b1922fde07a8c51571170fc7befa911f4ceb56182bbeff04e7f2a4c95dc6 -size 128451 +oid sha256:8a1a5bd0bf21e19c9d2995616bd8d7bdda4a52e4a314cd6e2fec249fb261a433 +size 131342 diff --git a/example/t3dn_bip_example/images/bip/66.bip b/example/t3dn_bip_example/images/bip/66.bip index 1649d54..4c59d2b 100644 --- a/example/t3dn_bip_example/images/bip/66.bip +++ b/example/t3dn_bip_example/images/bip/66.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da1f085ddcd8a8afbccbc3a638ef6931501dee6125659b1904f28ecd33dc85d8 -size 95119 +oid sha256:f3d102d6df9b96256f78289d8fe7e112841e13fefd38eb408212c1ec131f82c1 +size 97712 diff --git a/example/t3dn_bip_example/images/bip/67.bip b/example/t3dn_bip_example/images/bip/67.bip index 073ece2..60ff680 100644 --- a/example/t3dn_bip_example/images/bip/67.bip +++ b/example/t3dn_bip_example/images/bip/67.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8e46785c0b656534c359fc9b1e7493384f61b8c9a6f4a6c1302ebd9187ff26f -size 68134 +oid sha256:186d6b1d82fbad92e063e130ee80f85dfcfccfb9ac26242f21dccf61cfd8033a +size 70157 diff --git a/example/t3dn_bip_example/images/bip/68.bip b/example/t3dn_bip_example/images/bip/68.bip index f9dec47..3a2eb38 100644 --- a/example/t3dn_bip_example/images/bip/68.bip +++ b/example/t3dn_bip_example/images/bip/68.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ceaa3095594653054329d85228e33ebd44078335d2e42b4777dfec659339ee2f -size 60434 +oid sha256:8fb77d68e35186986618204437cab7ab65a95b176fe3271795116ca861945bb4 +size 62450 diff --git a/example/t3dn_bip_example/images/bip/69.bip b/example/t3dn_bip_example/images/bip/69.bip index 014c747..cf7a970 100644 --- a/example/t3dn_bip_example/images/bip/69.bip +++ b/example/t3dn_bip_example/images/bip/69.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd39506905398b3b763b5141e0b61d42de2f3417971758f7b29d843e397ce498 -size 145822 +oid sha256:636ef3dbf4ac9c06111bb688adadae7436acbe8453dff7fc906a53f17b81415b +size 148955 diff --git a/example/t3dn_bip_example/images/bip/70.bip b/example/t3dn_bip_example/images/bip/70.bip index cdcfde3..0179696 100644 --- a/example/t3dn_bip_example/images/bip/70.bip +++ b/example/t3dn_bip_example/images/bip/70.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38f5454d775f3d6059deb70506bf5bfa2762c36e0a03a5296fb01b8f1de3d47b -size 110975 +oid sha256:f3e3f548a06f6a698b136940ec8f0882779507cf5e8a6168ab3839331597ab77 +size 113902 diff --git a/example/t3dn_bip_example/images/bip/71.bip b/example/t3dn_bip_example/images/bip/71.bip index 20ce845..2fe0687 100644 --- a/example/t3dn_bip_example/images/bip/71.bip +++ b/example/t3dn_bip_example/images/bip/71.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ddd757e95394db4e33470d9970ad2cf5df62acc0c4f3e362f8361336828d50c -size 163199 +oid sha256:03bc89e9492c5bc78556a616739e81cef985cb4fbc510659414ad202cdfedbe0 +size 166539 diff --git a/example/t3dn_bip_example/images/bip/72.bip b/example/t3dn_bip_example/images/bip/72.bip index fd10602..004a3c5 100644 --- a/example/t3dn_bip_example/images/bip/72.bip +++ b/example/t3dn_bip_example/images/bip/72.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9eff48efd346b49204eefd15623105df321bfb2cd8a3c2dd9a90f9c2787837e7 -size 80863 +oid sha256:82bb1f7e93a99693bd60d3f005e0d0c32b3d6352ef80954b1a8453dbf85c28f6 +size 82658 diff --git a/example/t3dn_bip_example/images/bip/73.bip b/example/t3dn_bip_example/images/bip/73.bip index 0bfebc8..1c98d64 100644 --- a/example/t3dn_bip_example/images/bip/73.bip +++ b/example/t3dn_bip_example/images/bip/73.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c3d5884961a8733e4785503db400d742b2c6d08d7d82e52bb849757564ca0be -size 140108 +oid sha256:5c6580cb3a875227dce90fa996bc3e77d4c36c48c072bc8d0f61952ae588500b +size 143530 diff --git a/example/t3dn_bip_example/images/bip/74.bip b/example/t3dn_bip_example/images/bip/74.bip index 86f9cec..bcf2788 100644 --- a/example/t3dn_bip_example/images/bip/74.bip +++ b/example/t3dn_bip_example/images/bip/74.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff2f0c06063ee7ae42e73a5edd946b1ffaf9efcf7d7e5bc9e3861ae27729c583 -size 101139 +oid sha256:e21fe26511f0ec7052375286fd97a0b576f1120c9f897bc2e32dc5bba11d6828 +size 103592 diff --git a/example/t3dn_bip_example/images/bip/75.bip b/example/t3dn_bip_example/images/bip/75.bip index ffb0973..2745b2c 100644 --- a/example/t3dn_bip_example/images/bip/75.bip +++ b/example/t3dn_bip_example/images/bip/75.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52f88fbf18b3e24af82fa92072fcb17573f2176524769d029be3ddc6920d88d9 -size 193799 +oid sha256:56f0b3e4e266496e0d06d2911c82f73ed3bed0eaf10dcef62ee8b8d07e2309da +size 197278 diff --git a/example/t3dn_bip_example/images/bip/76.bip b/example/t3dn_bip_example/images/bip/76.bip index 6747252..c6e6e2f 100644 --- a/example/t3dn_bip_example/images/bip/76.bip +++ b/example/t3dn_bip_example/images/bip/76.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6050313ed968859609e28dd6811686d6d36a0382f87f823b4f6f8cf12ff7d7a -size 197285 +oid sha256:8276887ebd06a356f1787ea79a36c3db312a621390e2a0df819ae68e9b74a94a +size 200619 diff --git a/example/t3dn_bip_example/images/bip/77.bip b/example/t3dn_bip_example/images/bip/77.bip index 5f1907c..fa9827d 100644 --- a/example/t3dn_bip_example/images/bip/77.bip +++ b/example/t3dn_bip_example/images/bip/77.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70ed646d9ad8a6afefcd1d13ac4b938cabae833ec9ffc9102c6915ac3da45ebe -size 109228 +oid sha256:8ed6efcbda6b8e139350ab91dd4a44e21d233d6f467c6b906385d3279398a30f +size 111918 diff --git a/example/t3dn_bip_example/images/bip/78.bip b/example/t3dn_bip_example/images/bip/78.bip index 5aa395f..b4513a1 100644 --- a/example/t3dn_bip_example/images/bip/78.bip +++ b/example/t3dn_bip_example/images/bip/78.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfa587a25c0f9843ea43298c71d9a22a6ca1e898214cda11246b9889d8588914 -size 176791 +oid sha256:67ac2d9fd50f3335fc14d5d3e6c48f215a4fe7a39fd626f385bb815c3832ec94 +size 180099 diff --git a/example/t3dn_bip_example/images/bip/79.bip b/example/t3dn_bip_example/images/bip/79.bip index aa726ef..cfdc762 100644 --- a/example/t3dn_bip_example/images/bip/79.bip +++ b/example/t3dn_bip_example/images/bip/79.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e086a155fcc3b5ef7bd07d078a3d6b17a0cff0c6002a8b3b1028144820d66d18 -size 60567 +oid sha256:3610b4f5c683c436acf2b98d4c0e9ec2725a364613a9cec966a31cabb064e4d1 +size 62316 diff --git a/example/t3dn_bip_example/images/bip/80.bip b/example/t3dn_bip_example/images/bip/80.bip index b105cc2..96c43ca 100644 --- a/example/t3dn_bip_example/images/bip/80.bip +++ b/example/t3dn_bip_example/images/bip/80.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f47721bcbff5103c7f58c70007c0290361d32bb25b55e9d2a0c2d181ae6f09a -size 65363 +oid sha256:b5a56212b989c0212c3df1e5ad8f15609065e419c791acc9a5f54dd65b292109 +size 67187 diff --git a/example/t3dn_bip_example/images/bip/81.bip b/example/t3dn_bip_example/images/bip/81.bip index 98e8044..7d4fe3e 100644 --- a/example/t3dn_bip_example/images/bip/81.bip +++ b/example/t3dn_bip_example/images/bip/81.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28b31e4360b20e52073adf8886ca63ec8d2fc4b42d2a306baa93d054dd8e9889 -size 171305 +oid sha256:e131b11bac72f82a5c8fb877f17779a9f1da21cb398f9817553c3ebab122b574 +size 174354 diff --git a/example/t3dn_bip_example/images/bip/82.bip b/example/t3dn_bip_example/images/bip/82.bip index 0162922..c881778 100644 --- a/example/t3dn_bip_example/images/bip/82.bip +++ b/example/t3dn_bip_example/images/bip/82.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3913a6535354cb72c613c41680525ba128ebb26bdcda179b7237dbb445c4df11 -size 180652 +oid sha256:bd0c5afb415a531ad16dbf9671360955b93f30e89cc6b6ac58f9cec8d1883622 +size 184150 diff --git a/example/t3dn_bip_example/images/bip/83.bip b/example/t3dn_bip_example/images/bip/83.bip index 38671b5..d1ff17d 100644 --- a/example/t3dn_bip_example/images/bip/83.bip +++ b/example/t3dn_bip_example/images/bip/83.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:710a27e91495575a262e1dd20a6e547f02c76895d38126eb337c50654bdaed6a -size 117496 +oid sha256:8f83df40c685d4bb808d95a0d9f1f18161cf55a9d61b4e5dcabbfb32ed28f1cf +size 120428 diff --git a/example/t3dn_bip_example/images/bip/84.bip b/example/t3dn_bip_example/images/bip/84.bip index afc6f1a..b378106 100644 --- a/example/t3dn_bip_example/images/bip/84.bip +++ b/example/t3dn_bip_example/images/bip/84.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fcd6fccbed896c64878b2dba4066e82de8c59b912a7d5a6d46b81d1ac0a2b31e -size 107480 +oid sha256:c7df5dfbc6bba2385fc89cb865c7d04ebe694e77116e929983cc9e12e0869ff1 +size 110479 diff --git a/example/t3dn_bip_example/images/bip/85.bip b/example/t3dn_bip_example/images/bip/85.bip index 8aea189..4b8708a 100644 --- a/example/t3dn_bip_example/images/bip/85.bip +++ b/example/t3dn_bip_example/images/bip/85.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:821a793ba9dece5b42b441f6405b15b1ca8206a14b2e539805332ab603543e94 -size 116182 +oid sha256:8df17d43481cb177a3f17b92761535aafc4050ba4ac629521072dbd19f529c3b +size 119028 diff --git a/example/t3dn_bip_example/images/bip/86.bip b/example/t3dn_bip_example/images/bip/86.bip index a2f9b51..a48f81b 100644 --- a/example/t3dn_bip_example/images/bip/86.bip +++ b/example/t3dn_bip_example/images/bip/86.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3bea5e373ccb2e7440195f9ff298168548e64230c4339ef8d487bc8164f4f0ac -size 102970 +oid sha256:5d4f2cccc0ee5e9b123cea1c80ef5ae08bb9c680ae496657a94aac7e3ab6ecbf +size 105391 diff --git a/example/t3dn_bip_example/images/bip/87.bip b/example/t3dn_bip_example/images/bip/87.bip index bf0911d..85f45f1 100644 --- a/example/t3dn_bip_example/images/bip/87.bip +++ b/example/t3dn_bip_example/images/bip/87.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:206b4e743c12f572321848f6198ff4361b372b6618273ac6d94f571ed30e0e90 -size 108702 +oid sha256:7475b0e14dcf53738aef0c4b84a8a7e5287a4c5850f0c3f602c2e24f1e9cef6e +size 111544 diff --git a/example/t3dn_bip_example/images/bip/88.bip b/example/t3dn_bip_example/images/bip/88.bip index cd942f7..3f74cfa 100644 --- a/example/t3dn_bip_example/images/bip/88.bip +++ b/example/t3dn_bip_example/images/bip/88.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f540ead592d199b923d718b27e259992f8bbafcd8fae0f0109e926381acd3b7 -size 74304 +oid sha256:3e0e7ea91d9597865113a70ff5f90d8287970b88cf3784679282742429122afb +size 76110 diff --git a/example/t3dn_bip_example/images/bip/89.bip b/example/t3dn_bip_example/images/bip/89.bip index 57ef068..ed6fc86 100644 --- a/example/t3dn_bip_example/images/bip/89.bip +++ b/example/t3dn_bip_example/images/bip/89.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f269bce34b333275b1149f616b36e5b4ad55d8fe7a2ccaa62ba53091aebbaa14 -size 161497 +oid sha256:31bc27515067028cbb6d4b0ace94bd23bbd1a4f959ae08a2851e3c51d6e6aaa0 +size 164891 diff --git a/example/t3dn_bip_example/images/bip/90.bip b/example/t3dn_bip_example/images/bip/90.bip index bb83399..72a810f 100644 --- a/example/t3dn_bip_example/images/bip/90.bip +++ b/example/t3dn_bip_example/images/bip/90.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bd66f6d06f145b4d387f869775d9c4bebe833285a3ca3868cdb40987e038fe9 -size 197877 +oid sha256:94749f09689b3ff4c46b440a05cc989792ec554ba61e775097489ea1ced7c3bd +size 201298 diff --git a/example/t3dn_bip_example/images/bip/91.bip b/example/t3dn_bip_example/images/bip/91.bip index 2ca31a5..841cef4 100644 --- a/example/t3dn_bip_example/images/bip/91.bip +++ b/example/t3dn_bip_example/images/bip/91.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f79361de34dc60d6e0a4a71523c1ec5833d72cf6e1d938287f660b179d9aa794 -size 92207 +oid sha256:0c327927a95a882a49871dcb0a9b877d0b31b8502754c31f12f68a9bc4a8f658 +size 94703 diff --git a/example/t3dn_bip_example/images/bip/92.bip b/example/t3dn_bip_example/images/bip/92.bip index 6f18f7d..bfd6ec3 100644 --- a/example/t3dn_bip_example/images/bip/92.bip +++ b/example/t3dn_bip_example/images/bip/92.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d06176e80952a59da0530f925fe136dec80aa6538be99e7bc28d2bea5c68814 -size 156273 +oid sha256:244d1f1f3edc343baebcd0df2df97b9e0e6f2aaad9b9aa3d2e8445568fc9f487 +size 159661 diff --git a/example/t3dn_bip_example/images/bip/93.bip b/example/t3dn_bip_example/images/bip/93.bip index fa505ea..51cfefe 100644 --- a/example/t3dn_bip_example/images/bip/93.bip +++ b/example/t3dn_bip_example/images/bip/93.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a953754e75e45ea83595a5aa31a445ad1edcfea054743d2fa28a77225fead40 -size 139509 +oid sha256:8261df11f86ea1d4a6350f04c68a977081e8508cb016746d5c52fb03600a9b2f +size 142743 diff --git a/example/t3dn_bip_example/images/bip/94.bip b/example/t3dn_bip_example/images/bip/94.bip index 1163f77..b72bd62 100644 --- a/example/t3dn_bip_example/images/bip/94.bip +++ b/example/t3dn_bip_example/images/bip/94.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e9efd2936148b112d9f4ae22572457ec5aa13b6e766fa7db15f5ef72ffa1b7c -size 143142 +oid sha256:1fa704ee249a06d2ac2ff2c46ed24ed8353f50b415d9392cce371eeb09fa111f +size 146331 diff --git a/example/t3dn_bip_example/images/bip/95.bip b/example/t3dn_bip_example/images/bip/95.bip index 2d2038d..aa64d71 100644 --- a/example/t3dn_bip_example/images/bip/95.bip +++ b/example/t3dn_bip_example/images/bip/95.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:875d026d7cb9c2db49023e5e5511a7dc3c4aebf9a6a30aa47bcb564b2cd6c56e -size 144396 +oid sha256:246117046fb76c6e32b8715af904911f521b90a4cd4a0b97c021bf6e5d9fd39c +size 147681 diff --git a/example/t3dn_bip_example/images/bip/96.bip b/example/t3dn_bip_example/images/bip/96.bip index 761ccd3..e769646 100644 --- a/example/t3dn_bip_example/images/bip/96.bip +++ b/example/t3dn_bip_example/images/bip/96.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d06a71b257a7ebf73e892424c9b088d57e6e64542d88a1b67d40ba1feca5715a -size 80161 +oid sha256:bf310001956fd4b1f9224e66f8b798b4ec847b1e4dd3b88f7a92b443479e2bd4 +size 83151 diff --git a/example/t3dn_bip_example/images/bip/97.bip b/example/t3dn_bip_example/images/bip/97.bip index 9d07f9a..024ddf4 100644 --- a/example/t3dn_bip_example/images/bip/97.bip +++ b/example/t3dn_bip_example/images/bip/97.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c829ab9d82f4c34449028bd015f86f9586469c958ea92758ae8827d64d04cddc -size 15651 +oid sha256:1dd518355b7858af4b3356690d06e196668f93a860e964bbba6278603cf9ebe5 +size 16366 diff --git a/example/t3dn_bip_example/images/bip/98.bip b/example/t3dn_bip_example/images/bip/98.bip index 2d094c0..ea13dd0 100644 --- a/example/t3dn_bip_example/images/bip/98.bip +++ b/example/t3dn_bip_example/images/bip/98.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37748c2da783652e725d66a975c313cb787ddf2fa12d7668db3045de178fc16c -size 126434 +oid sha256:c78fd52ea294f73a355389eb38456601baa1fa85f33fc0499f45c1c613633d3b +size 129629 diff --git a/example/t3dn_bip_example/images/bip/99.bip b/example/t3dn_bip_example/images/bip/99.bip index 5cde950..a0b22c1 100644 --- a/example/t3dn_bip_example/images/bip/99.bip +++ b/example/t3dn_bip_example/images/bip/99.bip @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8909ff7bb65aa5d24cf248101cee7e94424329b58d19a28e530655c07103342 -size 120633 +oid sha256:31639e142438b5ceba14b7831bd501d15aa96e22216c9e8f6bef49ad9dcbe41c +size 123653 From 2d7bc54051a1c2f59314966cf1a04bc3d7f6db40 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Sun, 2 May 2021 04:53:01 +0200 Subject: [PATCH 04/11] Use size instead of (width, height) I think this is a bit more elegant. --- bip/t3dn_bip/utils.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/bip/t3dn_bip/utils.py b/bip/t3dn_bip/utils.py index 1ea2df9..19dfa45 100644 --- a/bip/t3dn_bip/utils.py +++ b/bip/t3dn_bip/utils.py @@ -69,16 +69,12 @@ def load_file(filepath: str, max_size: tuple) -> dict: if bip.read(4) == b'BIP2': count = int.from_bytes(bip.read(1), 'big') - width = int.from_bytes(bip.read(2), 'big') - height = int.from_bytes(bip.read(2), 'big') - icon_size = (width, height) + icon_size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] icon_length = int.from_bytes(bip.read(4), 'big') bip.seek(8 * (count - 2), io.SEEK_CUR) - width = int.from_bytes(bip.read(2), 'big') - height = int.from_bytes(bip.read(2), 'big') - image_size = (width, height) + image_size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] image_length = int.from_bytes(bip.read(4), 'big') icon_content = decompress(bip.read(icon_length)) @@ -168,9 +164,8 @@ def _resize_image(image: 'Image.Image', max_size: tuple) -> 'Image.Image': max_size[1] / image.size[1] if max_size[1] else 1, ) - width = int(image.size[0] * scale) - height = int(image.size[1] * scale) - return image.resize(size=(width, height)) + size = [int(n * scale) for n in image.size] + return image.resize(size=size) def tag_redraw(): From b0a853c0c80d7c5000b49d866d6d4d984472b0a7 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Sun, 2 May 2021 05:25:42 +0200 Subject: [PATCH 05/11] Adjust loader code for readability Removed some newlines which I felt didn't belong. Renamed count to length when talking about (width * height), because that's what I call it elsewhere in the code too, and count refers to the amount of images in a BIP file. Updated an assert message that I forgot to update earlier. Changed how the data dictionary is used, so now icon_size and icon_pixels are set on its creation, and only overwritten in if the icon needed resizing. --- bip/t3dn_bip/utils.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/bip/t3dn_bip/utils.py b/bip/t3dn_bip/utils.py index 19dfa45..af1aa79 100644 --- a/bip/t3dn_bip/utils.py +++ b/bip/t3dn_bip/utils.py @@ -71,9 +71,7 @@ def load_file(filepath: str, max_size: tuple) -> dict: icon_size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] icon_length = int.from_bytes(bip.read(4), 'big') - bip.seek(8 * (count - 2), io.SEEK_CUR) - image_size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] image_length = int.from_bytes(bip.read(4), 'big') @@ -118,10 +116,12 @@ def load_file(filepath: str, max_size: tuple) -> dict: image_pixels = array('i', image.tobytes()) assert image_pixels.itemsize == 4, 'unexpected bytes per pixel' - count = image.size[0] * image.size[1] - assert len(image_pixels) == count, 'unexpected amount of pixels' + length = image.size[0] * image.size[1] + assert len(image_pixels) == length, 'unexpected amount of pixels' data = { + 'icon_size': image.size, + 'icon_pixels': image_pixels, 'image_size': image.size, 'image_pixels': image_pixels, } @@ -130,17 +130,13 @@ def load_file(filepath: str, max_size: tuple) -> dict: icon = image.resize(size=(32, 32)) icon_pixels = array('i', icon.tobytes()) - assert icon_pixels.itemsize == 4, 'pixel type must be 32 bit' - count = icon.size[0] * icon.size[1] - assert len(icon_pixels) == count, 'unexpected amount of pixels' + assert icon_pixels.itemsize == 4, 'unexpected bytes per pixel' + length = icon.size[0] * icon.size[1] + assert len(icon_pixels) == length, 'unexpected amount of pixels' data['icon_size'] = icon.size data['icon_pixels'] = icon_pixels - else: - data['icon_size'] = image.size - data['icon_pixels'] = image_pixels - return data raise ValueError('input is not a supported file format') From 9fe86291226fed59422cb5d5859706669b5c0a0d Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Sun, 2 May 2021 18:38:44 +0200 Subject: [PATCH 06/11] Use size instead of (width, height) for converter I did the same for the loader and I like to be consistent. --- bip_converter/t3dn_bip_converter/convert.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bip_converter/t3dn_bip_converter/convert.py b/bip_converter/t3dn_bip_converter/convert.py index de8bf79..eff056a 100644 --- a/bip_converter/t3dn_bip_converter/convert.py +++ b/bip_converter/t3dn_bip_converter/convert.py @@ -43,9 +43,8 @@ def _image_to_bip(src: Union[str, Path], dst: Union[str, Path]): output.write(len(images).to_bytes(1, 'big')) for image, content in zip(images, contents): - width, height = image.size - output.write(width.to_bytes(2, 'big')) - output.write(height.to_bytes(2, 'big')) + for number in image.size: + output.write(number.to_bytes(2, 'big')) output.write(len(content).to_bytes(4, 'big')) for content in contents: @@ -61,14 +60,13 @@ def _bip_to_image(src: Union[str, Path], dst: Union[str, Path]): count = int.from_bytes(bip.read(1), 'big') bip.seek(8 * (count - 1), io.SEEK_CUR) - width = int.from_bytes(bip.read(2), 'big') - height = int.from_bytes(bip.read(2), 'big') + size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] length = int.from_bytes(bip.read(4), 'big') bip.seek(-length, io.SEEK_END) content = decompress(bip.read()) - image = Image.frombytes('RGBa', (width, height), content) + image = Image.frombytes('RGBa', size, content) image = image.convert('RGBA') image = image.transpose(Image.FLIP_TOP_BOTTOM) From 79d2819ce2cb2d6eb9f59ea33c4f46275cf1c5c3 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Mon, 3 May 2021 14:49:55 +0200 Subject: [PATCH 07/11] Use length for read in converter Functionally the same but more explicit. --- bip_converter/t3dn_bip_converter/convert.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip_converter/t3dn_bip_converter/convert.py b/bip_converter/t3dn_bip_converter/convert.py index eff056a..bb15a26 100644 --- a/bip_converter/t3dn_bip_converter/convert.py +++ b/bip_converter/t3dn_bip_converter/convert.py @@ -64,7 +64,7 @@ def _bip_to_image(src: Union[str, Path], dst: Union[str, Path]): length = int.from_bytes(bip.read(4), 'big') bip.seek(-length, io.SEEK_END) - content = decompress(bip.read()) + content = decompress(bip.read(length)) image = Image.frombytes('RGBa', size, content) image = image.convert('RGBA') From d7c0ee61f2e08852ac580565dcdb7ecb40e7bf96 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Mon, 3 May 2021 16:00:26 +0200 Subject: [PATCH 08/11] Add icon example to alpha popup Just to show that previews can be used as icons now. --- example/t3dn_bip_example/ops.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/example/t3dn_bip_example/ops.py b/example/t3dn_bip_example/ops.py index 265933f..f7a6559 100644 --- a/example/t3dn_bip_example/ops.py +++ b/example/t3dn_bip_example/ops.py @@ -54,11 +54,15 @@ def invoke(self, context: bpy.types.Context, event: bpy.types.Event) -> set: def draw(self, context: bpy.types.Context): layout = self.layout - row = layout.row() + row = layout.row() row.template_icon(self.bip.icon_id, scale=6.8) row.template_icon(self.png.icon_id, scale=6.8) + row = layout.row() + row.operator('t3dn.bip_example_dummy', icon_value=self.bip.icon_id) + row.operator('t3dn.bip_example_dummy', icon_value=self.png.icon_id) + def execute(self, context: bpy.types.Context) -> set: return {'FINISHED'} @@ -94,11 +98,19 @@ def execute(self, context: bpy.types.Context) -> set: return {'FINISHED'} +class T3DN_OT_bip_example_dummy(bpy.types.Operator): + bl_idname = 't3dn.bip_example_dummy' + bl_label = 'Dummy Operator' + bl_description = 'Does nothing' + bl_options = {'REGISTER', 'INTERNAL'} + + classes = ( T3DN_OT_bip_example_install_pillow, T3DN_OT_bip_example_load_previews, T3DN_OT_bip_example_load_alpha, T3DN_OT_bip_example_load_misc, + T3DN_OT_bip_example_dummy, ) From e6849e04c3c06cdf9facf62ad840f015d2339769 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Mon, 3 May 2021 22:33:42 +0200 Subject: [PATCH 09/11] Add comments to explain RGBa conversion This code is a bit opaque otherwise. --- bip/t3dn_bip/utils.py | 4 ++++ bip_converter/t3dn_bip_converter/convert.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/bip/t3dn_bip/utils.py b/bip/t3dn_bip/utils.py index af1aa79..75b418b 100644 --- a/bip/t3dn_bip/utils.py +++ b/bip/t3dn_bip/utils.py @@ -109,9 +109,13 @@ def load_file(filepath: str, max_size: tuple) -> dict: if _should_resize(image.size, max_size): image = _resize_image(image, max_size) + # Image modes ending with A have an alpha channel. if not image.mode.endswith(('A', 'a')): + # No need to pre-multiply alpha for an opaque image. image = image.convert('RGBA') + # If we do have an alpha channel. elif image.mode != 'RGBa': + # Then pre-multiply it. image = image.convert('RGBa') image_pixels = array('i', image.tobytes()) diff --git a/bip_converter/t3dn_bip_converter/convert.py b/bip_converter/t3dn_bip_converter/convert.py index bb15a26..d1fe04b 100644 --- a/bip_converter/t3dn_bip_converter/convert.py +++ b/bip_converter/t3dn_bip_converter/convert.py @@ -30,9 +30,13 @@ def _image_to_bip(src: Union[str, Path], dst: Union[str, Path]): with Image.open(src) as image: image = image.transpose(Image.FLIP_TOP_BOTTOM) + # Image modes ending with A have an alpha channel. if not image.mode.endswith(('A', 'a')): + # No need to pre-multiply alpha for an opaque image. image = image.convert('RGBA') + # If we do have an alpha channel. elif image.mode != 'RGBa': + # Then pre-multiply it. image = image.convert('RGBa') images = [image.resize(size=(32, 32)), image] From 422b84fbc5a2223151f8b9111e4ef908690e48e5 Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Mon, 3 May 2021 22:41:18 +0200 Subject: [PATCH 10/11] Add asserts to make sure count > 0 Interestingly, the loader seems to support BIP2 files with only one resolution, even though it expects two. I haven't tested it, but just reading the code, that's how it probably works. --- bip/t3dn_bip/utils.py | 1 + bip_converter/t3dn_bip_converter/convert.py | 1 + 2 files changed, 2 insertions(+) diff --git a/bip/t3dn_bip/utils.py b/bip/t3dn_bip/utils.py index 75b418b..3a3dd66 100644 --- a/bip/t3dn_bip/utils.py +++ b/bip/t3dn_bip/utils.py @@ -68,6 +68,7 @@ def load_file(filepath: str, max_size: tuple) -> dict: with open(filepath, 'rb') as bip: if bip.read(4) == b'BIP2': count = int.from_bytes(bip.read(1), 'big') + assert count > 0, 'the file contains no images' icon_size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] icon_length = int.from_bytes(bip.read(4), 'big') diff --git a/bip_converter/t3dn_bip_converter/convert.py b/bip_converter/t3dn_bip_converter/convert.py index d1fe04b..a4e89c9 100644 --- a/bip_converter/t3dn_bip_converter/convert.py +++ b/bip_converter/t3dn_bip_converter/convert.py @@ -62,6 +62,7 @@ def _bip_to_image(src: Union[str, Path], dst: Union[str, Path]): raise ValueError('input is not a supported file format') count = int.from_bytes(bip.read(1), 'big') + assert count > 0, 'the file contains no images' bip.seek(8 * (count - 1), io.SEEK_CUR) size = [int.from_bytes(bip.read(2), 'big') for _ in range(2)] From 260e76988721732b965a4383b2ee80a6bf46f66f Mon Sep 17 00:00:00 2001 From: bonjorno7 Date: Mon, 3 May 2021 22:43:16 +0200 Subject: [PATCH 11/11] Bump both packages to 0.0.7 --- bip/t3dn_bip/__init__.py | 2 +- bip_converter/t3dn_bip_converter/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bip/t3dn_bip/__init__.py b/bip/t3dn_bip/__init__.py index f9ddeec..54f1ff6 100644 --- a/bip/t3dn_bip/__init__.py +++ b/bip/t3dn_bip/__init__.py @@ -1,3 +1,3 @@ '''Load image previews in parallel and in any resolution. Supports BIP files.''' -__version__ = '0.0.6' +__version__ = '0.0.7' diff --git a/bip_converter/t3dn_bip_converter/__init__.py b/bip_converter/t3dn_bip_converter/__init__.py index be99cb4..2a08f6e 100644 --- a/bip_converter/t3dn_bip_converter/__init__.py +++ b/bip_converter/t3dn_bip_converter/__init__.py @@ -1,3 +1,3 @@ '''Convert between BIP files and various image formats.''' -__version__ = '0.0.6' +__version__ = '0.0.7'