Releases: ManevilleF/hexx
Releases Β· ManevilleF/hexx
0.17.0
Changelog
- Added
HexagonalMap
storage structure for dense, hexagon shaped maps (#163) - Added
RombusMap
storage structure for dense, rombus shaped maps (#164) - Update
field_of_movement
to useHexagonalMap
(#163) - Added
shapes::rombus
(#163) - Improved performance
Hex
ring compute methods (#165) - Improved performance
Hex
edge/wedge compute methods (#165) - Added
shapes
example (#166) - Added shape parameter structs in
shapes
module (#166) - Added
Hex::rectiline_to
(#167) - Added
HexLayout::all_edges_cordinates
(#167) - Added
DirectionWay::map
(#167) - (BREAKING) Removed the following ambiguous const values: (#167)
Hex::Z
Hex::NEG_Z
Hex::AXES
Hex::AXES
- Added axis pair consts as:
Hex::INCR_X
Hex::INCR_Y
Hex::INCR_Z
Hex::DECR_X
Hex::DECR_Y
Hex::DECR_Z
What's Changed
- Ord wrapper Q&A section @ManevilleF in #147
- 2D Vec storage for hexagonal maps by @ManevilleF in #163
- 1D Vec storage for Rombus shape by @ManevilleF in #164
- Improved rings/wedge performance by @ManevilleF in #165
- Shapes example by @ManevilleF in #166
- Rectiline path to by @ManevilleF in #167
Full Changelog: 0.16.1...0.17.0
0.16.1
What's Changed
- impl PartialEq and Eq on HexBounds by @ManevilleF in #160
- Fix direction const values by @ManevilleF in #162
Full Changelog: 0.16.0...0.16.1
0.16.0
Quite a big release, a lot of fixes, new features, and unfortunately a lot of breaking changes !
If you have any trouble migrating from previous version, please let me know and I'll do whatever I can to clarify the changes and help with the migration.
Changelog
- Removed methods deprecated in previous versions
- Added
z
field in theDebug
impl ofHex
(#156) - Added
xyz
fields in theDebug
impl of directions (#156) - (BREAKING) Hex neighbors are now following a clockwise order (#157)
- (BREAKING) Hex diagonal neighbors are now following a clockwise order (#157)
- Added new
hex_area
example (#157) - Removed deprecated
ser_de
feature, useserde
instead
New grid utilities (#154)
- Added new
grid
feature gate - Added
GridVertex
andGridEgde
types, representing oriented grid vertices
and edges
New directions (#156, #157)
- (BREAKING) Hex edge and diagonal neighbors are now following a clockwise order
- (BREAKING) Direction types are now following a clockwise order
- (BREAKING) Renamed
Direction
toEdgeDirection
, and is no longer an enum.
Instead of the oriented variants use associated const values:Direction::TopRight
->EdgeDirection::FLAT_TOP_RIGHT
orEdgeDirection::POINTY_RIGHT
Direction::Top
->EdgeDirection::FLAT_TOP
orEdgeDirection::POINTY_TOP_RIGHT
Direction::TopLeft
->EdgeDirection::FLAT_TOP_LEFT
orEdgeDirection::POINTY_TOP_LEFT
Direction::BottomLeft
->EdgeDirection::FLAT_BOTTOM_LEFT
orEdgeDirection::POINTY_LEFT
Direction::Bottom
->EdgeDirection::FLAT_BOTTOM
orEdgeDirection::POINTY_BOTTOM_LEFT
Direction::BottomRight
->EdgeDirection::FLAT_BOTTOM_RIGHT
orEdgeDirection::POINTY_BOTTOM_RIGHT
- (BREAKING) Renamed
DiagonalDirection
toVertexDirection
, and is no
longer an enum. Instead of the oriented variants use associated const values:DiagonalDirection::Right
->VertexDirection::FLAT_RIGHT
orVertexDirection::POINTY_BOTTOM_RIGHT
DiagonalDirection::TopRight
->VertexDirection::FLAT_TOP_RIGHT
orVertexDirection::POINTY_TOP_RIGHT
DiagonalDirection::TopLeft
->VertexDirection::FLAT_TOP_LEFT
orVertexDirection::POINTY_TOP
DiagonalDirection::Left
->VertexDirection::FLAT_LEFT
orVertexDirection::POINTY_TOP_LEFT
DiagonalDirection::BottomLeft
->VertexDirection::FLAT_BOTTOM_LEFT
orVertexDirection::POINTY_BOTTOM_LEFT
DiagonalDirection::BottomRight
->VertexDirection::FLAT_BOTTOM_RIGHT
orVertexDirection::POINTY_BOTTOM
- Fixed angle inconsistencies in both direction types
- (BREAKING) Removed
HexOrientation::direction_angle
method
Mesh generation overhaul (#152)
- Added new
MeshInfo
methods:with_scale
with_uv_scale
centroid
uv_centroid
- (BREAKING) Changed the way
ColumnMeshBuilder
generates quad to be consistent
with hexagonal faces - (BREAKING) Changed inner
ColumnMeshBuilder
fields, but the builder API was
kept consistent - Fixed the way
ColumnMeshBuilder
generate the hexagonal caps, which could behave
strangely with non center aligned layout - Added a
mesh::utils
modules for primitive shape management - Added
ColumnMeshBuilder::with_sides_uv_options_fn
for block based options setting - Added mesh insetting options:
ColumnMeshBuilder::with_caps_inset_options
to inset the column hexagonal facesColumnMeshBuilder::with_sides_inset_options
to inset the column side quadsPlaneMeshBuilder::with_inset_options
to inset the hexagonal face
Pull requests
- Feat/mesh insetting by @ManevilleF in #152
- Feat/new directions by @ManevilleF in #156
- Grid edges and vertices by @ManevilleF in #154
- Follow up fixes and improvements to new directions by @ManevilleF in #157
Full Changelog: 0.15.0...0.16.0
0.15.0
0.14.0
Release notes
- MSRV set to
1.72.1
- Added gizmos to mesh_builder example
Breaking changes
- Fixed UV generation for hexagonal planes, as a consequence:
- Deprecated
UVOptions::quad_default
in favor ofUVOptions::new
- Deprecated
UVOptions::cap_default
in favor of `UVOptions::new
- Deprecated
MeshInfo::cheap_hexagonal_column
now has 12 vertices instead of 13
What's Changed
- 0.14 chores by @ManevilleF in #145
Full Changelog: 0.13.0...0.14.0
0.13.0
Release notes
algorithms
- (BREAKING)
a_star
cost
function parameter now takes two adjacentHex
nodes instead of one, allowing for more use cases (#130, #128) - Fixed
field_of_movement
algorithm (#142, #127)
Dependencies
Examples
Additions
- Added
HexLayout::rect_size
method (#135) - Added
ColumnMeshBuilder::center_aligned
option (#139) - Added
PlaneMeshBuilder::center_aligned
option (#139) - Added
Hex::to_array_f32
utility method (#141) - Added
Hex::to_cubic_array_f32
utility method (#141) - Added
HexLayout::fract_hex_to_world_pos
method (#141, #138, #140) - Added
HexLayout::world_pos_to_fract_hex
method (#141, #138, #140) - Added
HexOrientationData::forward
method (#141) - Added
HexOrientationData::inverse
method (#141) - Added coordinate expressive const values for
Direction
(#144) - Added coordinate expressive const values for
DiagonalDirection
(#144)
Mesh generation
ColumnMeshBuilder
now accepts customUvOptions
for each 6 sides (#143)- Added
ColumnMeshBuilder::with_multi_sides_uv_options
method (#143)
- Added
UVOptions
changes:- (BREAKING) Fixed quad generation which had upside down uvs (#143)
Deprecation
- Deprecated
MeshInfo::hexagonal_plane
in favor ofPlaneMeshBuilder
(#139)
What's Changed
- Updated bevy_inspector_egui by @ManevilleF in #129
- Feat/algorithm improvements by @ManevilleF in #130
- Sprite Sheet example by @ManevilleF in #135
- Center aligned meshes by @ManevilleF in #139
- Fractional hex on HexLayout by @ManevilleF in #141
- Better UV options by @ManevilleF in #143
- QOL improvements by @ManevilleF in #144
- Fix for field_of_movement algorithm by @ManevilleF in #142
Full Changelog: 0.12.0...0.13.0
0.12.0
What's Changed
- Mesh can be scaled by @ManevilleF in #121
- typo fixes by @asibahi in #122
- Bevy 0.12 by @ManevilleF in #123
New Contributors
Full Changelog: 0.11.0...0.12.0
0.11.0
What's Changed
- Hexagonal plane simplification by @ManevilleF in #119
- Use of rust built in const f32 by @ManevilleF in #113
- Rust 1.72.0 by @ManevilleF in #114
Full Changelog: 0.10.0...0.11.0
0.10.1 [YANKED]
Yanked to fix #116
What's Changed
- Use of rust built in const f32 by @ManevilleF in #113
- Rust 1.72.0 by @ManevilleF in #114
Full Changelog: 0.10.0...0.10.1