Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
PhosphorTiles::AutotileDefaults Namespace Reference

Auto-tiling algorithm defaults. More...

Functions

constexpr bool isNumericMetaType (int typeId)
 Returns true if typeId is a numeric QMetaType (Double, Float, Int, UInt, LongLong, ULongLong).
 

Variables

constexpr qreal DefaultSplitRatio = 0.5
 50/50 split when nothing else specified
 
constexpr int DefaultMasterCount = 1
 Single master window.
 
constexpr int DefaultMaxWindows = 5
 Maximum tiled windows before overflow.
 
constexpr QLatin1String DefaultAlgorithmId {"bsp"}
 Default tiling algorithm.
 
constexpr qreal DefaultSplitRatioStep = 0.05
 
constexpr qreal MinSplitRatioStep = 0.01
 
constexpr qreal MaxSplitRatioStep = 0.25
 
constexpr qreal MinSplitRatio = 0.1
 
constexpr qreal MaxSplitRatio = 0.9
 
constexpr int MinMasterCount = 1
 
constexpr int MaxMasterCount = 5
 
constexpr int DefaultInnerGap = 8
 
constexpr int DefaultOuterGap = 8
 
constexpr int MinGap = 0
 
constexpr int MaxGap = 50
 
constexpr int MinRectSizePx = 50
 
constexpr int GapEdgeThresholdPx = 5
 
constexpr int MinMaxWindows = 1
 
constexpr int MaxMaxWindows = 12
 
constexpr int UnlimitedMaxWindowsSentinel = std::numeric_limits<int>::max() / 2
 
constexpr int MaxZones = 256
 
constexpr int MaxRuntimeTreeDepth = 50
 Maximum recursion depth for split tree operations.
 
constexpr int MaxTreeNodesForJs = MaxZones * 2
 Cap on total node count when converting a SplitTree to a QJSValue object.
 
constexpr qreal SplitRatioHysteresis = 0.05
 Band within which algorithm-switch ratio reset is suppressed.
 
constexpr int MinMetadataWindows = 1
 
constexpr int MaxMetadataWindows = 100
 
constexpr int MinInsertPosition = 0
 
constexpr int MaxInsertPosition = 2
 
constexpr int ScriptWatchdogTimeoutMs = 100
 Watchdog deadline for a single JS evaluation guarded by ScriptedAlgorithm::guardedCall().
 

Detailed Description

Auto-tiling algorithm defaults.

Min/max constraints used by the tiling algorithms themselves. These are algorithm-layer concerns — independent of any user-facing default values the application config layer may surface.

Function Documentation

◆ isNumericMetaType()

constexpr bool PhosphorTiles::AutotileDefaults::isNumericMetaType ( int  typeId)
constexpr

Returns true if typeId is a numeric QMetaType (Double, Float, Int, UInt, LongLong, ULongLong).

Used for fuzzy-comparing QVariant values after JSON round-trip type drift.

Variable Documentation

◆ DefaultAlgorithmId

constexpr QLatin1String PhosphorTiles::AutotileDefaults::DefaultAlgorithmId {"bsp"}
inlineconstexpr

Default tiling algorithm.

◆ DefaultInnerGap

constexpr int PhosphorTiles::AutotileDefaults::DefaultInnerGap = 8
constexpr

◆ DefaultMasterCount

constexpr int PhosphorTiles::AutotileDefaults::DefaultMasterCount = 1
constexpr

Single master window.

◆ DefaultMaxWindows

constexpr int PhosphorTiles::AutotileDefaults::DefaultMaxWindows = 5
constexpr

Maximum tiled windows before overflow.

◆ DefaultOuterGap

constexpr int PhosphorTiles::AutotileDefaults::DefaultOuterGap = 8
constexpr

◆ DefaultSplitRatio

constexpr qreal PhosphorTiles::AutotileDefaults::DefaultSplitRatio = 0.5
constexpr

50/50 split when nothing else specified

◆ DefaultSplitRatioStep

constexpr qreal PhosphorTiles::AutotileDefaults::DefaultSplitRatioStep = 0.05
constexpr

◆ GapEdgeThresholdPx

constexpr int PhosphorTiles::AutotileDefaults::GapEdgeThresholdPx = 5
constexpr

◆ MaxGap

constexpr int PhosphorTiles::AutotileDefaults::MaxGap = 50
constexpr

◆ MaxInsertPosition

constexpr int PhosphorTiles::AutotileDefaults::MaxInsertPosition = 2
constexpr

◆ MaxMasterCount

constexpr int PhosphorTiles::AutotileDefaults::MaxMasterCount = 5
constexpr

◆ MaxMaxWindows

constexpr int PhosphorTiles::AutotileDefaults::MaxMaxWindows = 12
constexpr

◆ MaxMetadataWindows

constexpr int PhosphorTiles::AutotileDefaults::MaxMetadataWindows = 100
constexpr

◆ MaxRuntimeTreeDepth

constexpr int PhosphorTiles::AutotileDefaults::MaxRuntimeTreeDepth = 50
constexpr

Maximum recursion depth for split tree operations.

◆ MaxSplitRatio

constexpr qreal PhosphorTiles::AutotileDefaults::MaxSplitRatio = 0.9
constexpr

◆ MaxSplitRatioStep

constexpr qreal PhosphorTiles::AutotileDefaults::MaxSplitRatioStep = 0.25
constexpr

◆ MaxTreeNodesForJs

constexpr int PhosphorTiles::AutotileDefaults::MaxTreeNodesForJs = MaxZones * 2
constexpr

Cap on total node count when converting a SplitTree to a QJSValue object.

Each tiled window occupies one leaf plus at most one internal node, so MaxZones*2 is a safe ceiling that lets the widest valid tree through without truncation.

◆ MaxZones

constexpr int PhosphorTiles::AutotileDefaults::MaxZones = 256
constexpr

◆ MinGap

constexpr int PhosphorTiles::AutotileDefaults::MinGap = 0
constexpr

◆ MinInsertPosition

constexpr int PhosphorTiles::AutotileDefaults::MinInsertPosition = 0
constexpr

◆ MinMasterCount

constexpr int PhosphorTiles::AutotileDefaults::MinMasterCount = 1
constexpr

◆ MinMaxWindows

constexpr int PhosphorTiles::AutotileDefaults::MinMaxWindows = 1
constexpr

◆ MinMetadataWindows

constexpr int PhosphorTiles::AutotileDefaults::MinMetadataWindows = 1
constexpr

◆ MinRectSizePx

constexpr int PhosphorTiles::AutotileDefaults::MinRectSizePx = 50
constexpr

◆ MinSplitRatio

constexpr qreal PhosphorTiles::AutotileDefaults::MinSplitRatio = 0.1
constexpr

◆ MinSplitRatioStep

constexpr qreal PhosphorTiles::AutotileDefaults::MinSplitRatioStep = 0.01
constexpr

◆ ScriptWatchdogTimeoutMs

constexpr int PhosphorTiles::AutotileDefaults::ScriptWatchdogTimeoutMs = 100
constexpr

Watchdog deadline for a single JS evaluation guarded by ScriptedAlgorithm::guardedCall().

Generous enough for ARM / slow systems where JS startup and first-call JIT warmup can take tens of milliseconds. Exposed here so operators tuning for their target hardware don't need to recompile the scriptedalgorithm TU.

◆ SplitRatioHysteresis

constexpr qreal PhosphorTiles::AutotileDefaults::SplitRatioHysteresis = 0.05
constexpr

Band within which algorithm-switch ratio reset is suppressed.

◆ UnlimitedMaxWindowsSentinel

constexpr int PhosphorTiles::AutotileDefaults::UnlimitedMaxWindowsSentinel = std::numeric_limits<int>::max() / 2
constexpr