Skip to content

Commit

Permalink
Merge pull request #1442 from CGCookie/v3.4.6
Browse files Browse the repository at this point in the history
v3.4.5
  • Loading branch information
jlampel authored Feb 11, 2025
2 parents 7a3f17c + 7250a2c commit 848616e
Show file tree
Hide file tree
Showing 28 changed files with 915 additions and 302 deletions.
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# VSCode specific
.vscode/

# Cython specific
retopoflow/cy/*.html
retopoflow/cy/*.cpp
retopoflow/cy/*.c

# do not include the CG Cookie built indicator file
.cgcookie

Expand All @@ -9,6 +17,10 @@ __pycache__/
# C extensions
*.so

# But include our specific Cython compiled files
!retopoflow/cy/*.so
!retopoflow/cy/*.pyd

# Distribution / packaging
.Python
env/
Expand Down
31 changes: 14 additions & 17 deletions __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,16 @@
# NOTE: the following lines are automatically updated based on hive.json
# if "warning" is present (not commented out), a warning icon will show in add-ons list
bl_info = {
"name": "RetopoFlow",
"name": "RetopoFlow 3",
"description": "A suite of retopology tools for Blender through a unified retopology mode",
"author": "Jonathan Denning, Jonathan Lampel, Jonathan Williamson, Patrick Moore, Patrick Crawford, Christopher Gearhart",
"author": "Orange Turbine: Jonathan Denning, Jonathan Lampel, Jonathan Williamson, Patrick Moore, Patrick Crawford, Christopher Gearhart, JF Matheu",
"blender": (3, 6, 0),
"version": (3, 4, 3),
"version": (3, 4, 5),
"doc_url": "https://docs.retopoflow.com",
"tracker_url": "https://github.com/CGCookie/retopoflow/issues",
"location": "View 3D > Header",
"category": "3D View",}

# update bl_info above based on hive data
from .addon_common.hive.hive import Hive
Hive.update_bl_info(bl_info, __file__)
"category": "3D View",
}


import bpy
Expand All @@ -62,17 +59,17 @@ def unregister(): pass
title='RetopoFlow', margin=' ', sides='double', color='black', highlight='blue',
)

elif bpy.app.version < Hive.get_version('blender hard minimum version'):
term_printer.boxed(
f'Blender version does not meet hard requirements',
f'Minimum Blender Version: {Hive.get("blender hard minimum version")}',
f'Skipping any further initialization',
title='RetopoFlow', margin=' ', sides='double', color='black', highlight='red',
)
# elif bpy.app.version < Hive.get_version('blender hard minimum version'):
# term_printer.boxed(
# f'Blender version does not meet hard requirements',
# f'Minimum Blender Version: {Hive.get("blender hard minimum version")}',
# f'Skipping any further initialization',
# title='RetopoFlow', margin=' ', sides='double', color='black', highlight='red',
# )

else:
from .retopoflow import blenderregister
def register(): blenderregister.register(bl_info)
def unregister(): blenderregister.unregister(bl_info)
def register(): blenderregister.register()
def unregister(): blenderregister.unregister()


2 changes: 1 addition & 1 deletion addon_common/common/gpustate.py
Original file line number Diff line number Diff line change
Expand Up @@ -662,7 +662,7 @@ def resize(self, width, height, clear_color=True, clear_depth=True):
self._tex_depth = gpu.types.GPUTexture((self._width, self._height), format='DEPTH_COMPONENT32F')

self._framebuffer = gpu.types.GPUFrameBuffer(
color_slots={ 'texture': self._tex_color },
color_slots=(self._tex_color, ),
depth_slot=self._tex_depth,
)

Expand Down
11 changes: 11 additions & 0 deletions addon_common/common/profiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
'''

from functools import wraps
import os
import time
import inspect
Expand Down Expand Up @@ -346,3 +347,13 @@ def time_it(label=None, *, prefix='', infix=' ', enabled=True):
print(f'{prefix}{delta:0.4f} {label}{infix}')


def timing(f):
@wraps(f)
def wrap(*args, **kw):
ts = time.time()
result = f(*args, **kw)
te = time.time()
print('func:%r took: %2.4f sec' % \
(f.__name__, te-ts))
return result
return wrap
6 changes: 5 additions & 1 deletion addon_common/common/useractions.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,10 @@
'MOUSEROTATE', 'MOUSESMARTZOOM',
}

nav_actions = {
'ALT+MIDDLEMOUSE',
}

modifier_actions = {
'OSKEY',
'LEFT_CTRL', 'LEFT_SHIFT', 'LEFT_ALT',
Expand Down Expand Up @@ -331,7 +335,7 @@ def __init__(self, context):
self.keymaps_blender_operators = Dict(get_default_fn=list)

# fill in universal and action keymaps
self.keymaps_universal['navigate'] = trackpad_actions | ndof_actions
self.keymaps_universal['navigate'] = trackpad_actions | ndof_actions | nav_actions
for group in blender_operator_keymaps:
group_name, blenderops = group['name'], group['operators']

Expand Down
37 changes: 37 additions & 0 deletions blender_manifest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
schema_version = "1.0.0"

id = "retopoflow"
version = "3.4.5"
name = "RetopoFlow 3"
tagline = "A suite of retopology tools for Blender through a unified retopology mode"
maintainer = "Orange Turbine - Dr. Jon Denning, Jonathan Williamson, Jonathan Lampel <[email protected]>"
# Supported types: "add-on", "theme"
type = "add-on"

# Optional: add-ons can list which resources they will require:
# * "files" (for access of any filesystem operations)
# * "network" (for internet access)
# * "camera" (to capture photos and videos)
# * "microphone" (to capture audio)
# permissions = []

# Optional link to documentation, support, source files, etc
website = "https://docs.retopoflow.com/"

# Optional list defined by Blender and server, see:
# https://docs.blender.org/manual/en/dev/extensions/tags.html
tags = ["Modeling", "Mesh"]

blender_version_min = "3.6.0"
# Optional: maximum supported Blender version
# blender_version_max = "5.1.0"

# License conforming to https://spdx.org/licenses/ (use "SPDX: prefix)
# https://docs.blender.org/manual/en/dev/extensions/licenses.html
license = [
"SPDX:GPL-2.0-or-later",
]
# Optional: required by some licenses.
copyright = [
"2024 Orange Turbine, Autotroph Inc"
]
47 changes: 25 additions & 22 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ GEM
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
colorator (1.1.0)
commonmarker (0.23.10)
concurrent-ruby (1.2.3)
dnsruby (1.70.0)
concurrent-ruby (1.3.3)
dnsruby (1.72.1)
simpleidn (~> 0.2.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
Expand All @@ -25,11 +25,12 @@ GEM
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.9.1)
faraday (2.9.0)
faraday (2.10.0)
faraday-net_http (>= 2.0, < 3.2)
logger
faraday-net_http (3.1.0)
net-http
ffi (1.16.3)
ffi (1.17.0)
forwardable-extended (2.6.0)
gemoji (4.1.0)
github-pages (231)
Expand Down Expand Up @@ -87,7 +88,7 @@ GEM
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
i18n (1.14.1)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
jekyll (3.9.5)
addressable (~> 2.4)
Expand Down Expand Up @@ -202,40 +203,45 @@ GEM
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.8.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.0)
mercenary (0.3.6)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.22.2)
minitest (5.24.1)
net-http (0.4.1)
uri
nokogiri (1.16.2-x86_64-linux)
nokogiri (1.16.6-x86_64-linux)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.4)
racc (1.7.3)
public_suffix (5.1.1)
racc (1.8.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.6)
rexml (3.3.1)
strscan
rouge (3.30.0)
rubyzip (2.3.2)
safe_yaml (1.0.5)
sass (3.7.4)
listen (~> 3.0)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
simpleidn (0.2.1)
unf (~> 0.1.4)
simpleidn (0.2.3)
strscan (3.1.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
Expand All @@ -245,14 +251,11 @@ GEM
thread_safe (~> 0.1)
tzinfo-data (1.2024.1)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.9.1)
unicode-display_width (1.8.0)
uri (0.13.0)
wdm (0.1.1)
webrick (1.8.1)
zeitwerk (2.6.13)
zeitwerk (2.6.16)

PLATFORMS
x86_64-linux
Expand All @@ -269,4 +272,4 @@ DEPENDENCIES
webrick (~> 1.8)

BUNDLED WITH
2.2.6
2.3.5
2 changes: 1 addition & 1 deletion docs/_data/options.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
warning_max_sources: '1m'
warning_max_target: '20k'
rf_version: 3.4.3
rf_version: 3.4.4
15 changes: 15 additions & 0 deletions docs/changelist.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

This document contains details about what has changed in RetopoFlow since version 2.x.

### RetopoFlow 3.4.4&rarr;3.4.5

- Added ability for PolyStrips to create closed loops
- Improved RetopoFlow mode startup time
- Improved performance when parts of the mesh are hidden
- Fixed occasional crossed quads when filling holes with Strokes
- Fixed Contours sometimes twisting when filling between two loops
- Fixed auto-save file sometimes having cleared object rotation
- Fixed orbiting around selection when parts of the mesh are hidden
- Fixed several miscellaneous errors

### RetopoFlow 3.4.3&rarr;3.4.4

- Added compatability with Blender extensions

### RetopoFlow 3.4.2&rarr;3.4.3

- Fixed text rendering bug
Expand Down
4 changes: 2 additions & 2 deletions hive.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "RetopoFlow",
"description": "A suite of retopology tools for Blender through a unified retopology mode",
"author": "Jonathan Denning, Jonathan Lampel, Jonathan Williamson, Patrick Moore, Patrick Crawford, Christopher Gearhart",
"version": "3.4.3",
"author": "Orange Turbine: Jonathan Denning, Jonathan Lampel, Jonathan Williamson, Patrick Moore, Patrick Crawford, Christopher Gearhart, JF Matheu",
"version": "3.4.5",
"release": "official",
"source": "Blender Market",
"blender hard minimum version": "3.5.1",
Expand Down
Loading

0 comments on commit 848616e

Please sign in to comment.