[Proc Gen] BSP.to_heightmap and BSPMap class #206
Labels
No labels
Alpha Release Requirement
Bugfix
Demo Target
Documentation
Major Feature
Minor Feature
priority:tier1-active
priority:tier2-foundation
priority:tier3-future
priority:tier4-deferred
Refactoring & Cleanup
system:animation
system:documentation
system:grid
system:input
system:performance
system:procgen
system:python-binding
system:rendering
system:ui-hierarchy
Tiny Feature
workflow:blocked
workflow:needs-benchmark
workflow:needs-documentation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#193 [Proc Gen] HeightMap - Core class with scalar operations
john/McRogueFace
#202 [Proc Gen] BSP - Core class with splitting
john/McRogueFace
#204 [Proc Gen] BSP - Iteration (leaves, traverse)
john/McRogueFace
Reference
john/McRogueFace#206
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent Issue: #192
Depends On: #193 (HeightMap core), #202 (BSP core), #203 (BSPNode), #204 (BSP iteration)
Overview
Add method to convert BSP node selection to a HeightMap, and implement the BSPMap subclass.
Specification
BSP.to_heightmap
size(int, int)selectstr"leaves","all", or"internal". Default:"leaves".nodeslist[BSPNode]shrinkintvaluefloatBSPMap Class
BSPMap extends HeightMap with BSP-specific context and operations.
Properties
bspBSPnodestuple[BSPNode, ...]shrinkintMethods
Return a new BSPMap with walls instead of rooms.
Return new BSPMap with adjusted bounds.
Return new BSPMap with different parameters.
Example
Implementation Notes
inverse()fills BSP bounds with 1.0, then subtracts roomsshrinkcreates margin from node edges (for wall thickness)value, unselected get 0.0Acceptance Criteria
to_heightmapcreates correct BSPMapshrinkparameter reduces room sizes correctlyinverse()produces wall layout