« Go back
## walker [v0.259 WIP] , phpFramework [v0.258 WIP] , PHP "8.3.17" (verbose[0])
##### RRwalker.php [v0.259 WIP] : #####
WIP / not yet fully implemented / still parts missing / untested :
walker/verify:
seltab in non "manage track blocks" mode
route generator:
seltab in non "manage track blocks" mode
20250228 v0.259
fix bug when correcting wrong switch commands for 2way and 3way switches in trailing direction
20250130 v0.258
add support for FIX_MISS_TT_TRACKNR : route verify : add missing turntable track commands
20250228 v0.257
add support for FIX_ATTR_CASE : repair wrong case in attribute keys
20250126 v0.256
fixed BUG in checkNodeFits()
20250123 v0.255
add support for accessory 56 (church)
20250119 v0.254
verify mode: traverser: use track numbers to initialize search direction
20250111 v0.253
more verbose output for non matching blocks with "accept ghost trains" allowed
20250106 v0.252
tt: if does not fit then give better hints
20241231 v0.251
add support for FIX_BK_GHOST_AS_VIA
20241230 v0.250
improvements on "add unassigned sensors to routes"
20241227 v0.249
add support for TRY_BK_GHOST_AS_VIA
20241227 v0.248
add support for USE_STRAIGHT3_AS_BRIDGE3
20241125 v0.247
arrows against direction: fix counting
20241125 v0.246
some trace fixes
20241117 v0.245
add support for ACC_ST_ARR_DIR and FIX_ST_ARR_DIR : how to handle routes against direction arrows (accept and/or add start block to exception list)
20241111 v0.244
verify: route check : if FIX_ST_DEL_NX_BK and STRICT_HEALTH_CHECKS then also delete routes with undefined start/dest blocks
20241110 v0.243
add support for FIX_SW_CMD_MISS_CCROSS : add missing dummy commands for center crossings
20241030 v0.242
verify: crossing: endless loop protection
verify: handling direction arrows
20241022 v0.241
add support for FIX_SW_DEF_STRAIGHT : if verify and missing switch command then assume "straight" is a good guess
20241014 v0.240
verify mode: tt without gridcon : check routes starting at tt not possible
20240930 v0.239
auto asssigning sensors to block is only for blocks of type "bk" ( not "sb" )
20240923 v0.238
support seltab in "manage track blocks mode" as start or target
turntable/traverser: extended verify (opposite tracks)
20240923 v0.237
turntable/traverser: WIP extended verify (opposite tracks)
20240919 v0.236
improved messsages for checks on turntable/traverser without grid connection
20240915 v0.235
add support for FIX_ST_DEL_NX_BK delete routes with non existent blocks
WIP add support seltab in "manage track blocks mode" as start or target
20240913 v0.234
add support for FIX_ST_SW_SAFE2CMD : verify mode/FIX: use safe switch position as command in route
20240911 v0.233
allow skip_verify also for routes
20240908 v0.232
traverser: do not create routes for opposite track (makes no sense)
20240904 v0.231
verify+route generator: support for traverser
20240904 v0.230
fix repair missing type in route commands
WIP support for traverser
20240904 v0.229
start support for traverser (still WIP)
20240829 v0.228
fix problem/error counting for tracks with direction arrows
20240828 v0.227
more checks on dir/arrow tracks
simplify arrow track handling
20240824 v0.226
move -arrays to framework
20240823 v0.225
fix display strings on add/update "enter"/"in" for generic routes
20240822 v0.224
route/switch commands: add support for "check and lock"
20240821 v0.223
support removing, checking and creating "point-" routes in modular plan
20240821 v0.222
use function initMissingFileNamesWithDefaults()
more details for modular plan
create "point-" routes in modular plan (WIP)
20240818 v0.221
route generator: add support for turntable as start or target (only with gridcon)
20240815 v0.220
improve handling file open
20240812 v0.219
add support for REMOVE_BLOCK_FBS_ENTER2IN
20240812 v0.218
rename manualRtExists() to manOrPreRtExists() and give better hint on pre generated route
20240811 v0.217
moved some global vars to framework
20240811 v0.216
improve replace block event action
20240727 v0.215
add support for FIX_ST_MISSING_CMDTYPE
20240726 v0.214
verify: add support for FIX_BK_DEST_BLOCK_SIDE
verify: show "both direction arrow"
20240724 v0.213
show types missing in route commands only once ; count and give stats
20240721 v0.212
add support for curvenr 86 and 87
20240719 v0.211
generate: if generated routes exist at startup
then do not generate routes with same start and destination.
"remove generated routes" is no more a mandatory requirement.
20240712 v0.210
generate: scissor crossing: improved message in final stats
20240711 v0.209
generate: fix handling scissor crossing with existing hidden ccrossing
20240707 v0.208
verify mode:
for wrong configured switch commands (trailing) show correct/expected command
new option: FIX_SW_TRAILING_CMD : try to fix wrong commands for trailing switches
20240630 v0.207
use api functions getSubnodeList/getSubnodeCount
20240622 v0.206
use function searchTerms
20240615 v0.205
use ERROR instead of PROBLEM for "reached an end block on the wrong side"
20240518 v0.204
support for bridges (sw / accessory #40 and #41 )
20240418 v0.203
typo fix
20240324 v0.202
support for shed gate (42) and water crane (43) also as type accessory (buttons)
20240310 v0.201
support option --SHOW_OPTIONS
use for common texts in OutSwCmd()
20240310 v0.200
walker: extended suppoort for start/via/end blocks with slaves or multiple parents
20240307 v0.199
OutSwCmd() : if no end condition was reached then show bold text
20240302 v0.198
fix calculating changed items
20240302 v0.197
fix block id assignment for sensors and signals not belonging to a block
20240226 v0.196
additional option: --REPLACE_BLOCK_FB_ENTER2IN
introduce private attribute
20240224 v0.195
additional options: --UNKNOWN_OUTPUT_AS_VALID --UNKNOWN_TRACKNR_AS_VALID
20240222 v0.194
OutSwCmd(): if no command was given then do not show additional text
20240222 v0.193
ShowRouteSwcmds: show number of commands
20240218 v0.192
improved support for issues created from modular plans
20240216 v0.191
verify: better hint when using switch with safe position to continue
20240210 v0.190
add global variables LVLmaxX LVLmaxY for loadPlan()
20240207 v0.189
walker: accept crossing used twice and give note for possible loop
20240131 v0.188
calcSwitchOffset: rearrange output for missing/wrong/trailing switch commands
20240127 v0.187
support environment option RR_COMPATIBLE_FAKEDCROSSING (with wrong command)
20240125 v0.186
support for static crossing defined as fake dcrossing using addresses 8888/9999 (always "straight")
20240118 v0.185
fixed error in cloneRtCmdNode
20240115 v0.184
show stats for skipped tt routes
20231209 v0.183
ignore CTC blocks
20231115 v0.182
extend statistics for routes
20231113 v0.181
function handleElemLists: add missing global variables
fix some trace lines
20231113 v0.180
fix check for number of routes
20231101 v0.179
fix versions in header
20231031 v0.178
move loadPlan() and ObjectMap and several other functions to framework
20231022 v0.177
verify: if seltab is reached then do not extend an already validated route for adding route ids
20231017 v0.176
verify: fix handling scissor crossing
20231013 v0.175
calcSwitchOffset(): fix bug for rastered dcrossing
checkNodeFits(): cleanup threeway handling
20231013 v0.174
change naming for scissor crossing to ¤SQ_...
change description for generated switch
20231013 v0.173
verify/create: fix bugs with curvenr 23 and curvenr 24
generate: raster mode: autodetect scissor crossing situations (finished)
20231012 v0.172
verify/create: bug fix for raster dcrossing
still WIP: generate: raster mode: autodetect scissor crossing situations
20231011 v0.171
still WIP: generate: raster mode: autodetect scissor crossing situations
20231011 v0.170
WIP: raster diagonal crossing support (includes scissor crossing)
20231010 v0.169
still WIP: generate: raster mode: autodetect scissor crossing situations
20231009 v0.168
generate: add dummy command for ccrossing
verify: check ccrossing for command
WIP: generate: raster mode: autodetect scissor crossing situations (and solve with hidden ccrossing)
20230925 v0.167
verify: in non strict mode ignore buildings and user defined switch/aceessories between tracks
20230924 v0.166
modular layout: support routes for blocks on module boundaries
20230920 v0.165
avoid duplicate final statistics
20230916 v0.164
modular layout: support for signals at the module boundary
modular layout: add support for issues derived from modules (only if connected without gaps)
20230909 v0.163
highlight route stat numbers
20230826 v0.162
change handling keyword "skip_verify"
20230823 v0.161
change keyword detection in checkBkABCskip()
20230823 v0.160
introduce keyword "skip_verify" for start/via/destination blocks (bk/sb/tt/seltab)
moved hasKeyword as bkHasKeyword to php-lib
20230814 v0.159
verify: highlight output if start block is also a destination
20230729 v0.158
verify mode:
for turntable without configured grid connections show note for starting routes
add counter and give summary statistics
20230729 v0.157
fix bug "20230726 v0.156" : when removing visible routes then first remove the entries in global object map and then the route itself
20230726 v0.156
bug hunting in RRgetObjectMapAt with invalid elements
20230707 v0.155
showSafePosUsage for more switch types
20230622 v0.154
viabk routes: set minlen = MIN( ALLviabk.len )
20230621 v0.153
show created routes as summary list
support "tracknr 101" as tunnel101
support for "curvenr 100, 101, 102"
20230613 v0.152
support for curvenr 23 and curvenr 24
handle "tracknr 1" as "straight"
20230611 v0.151
moved track type checks/rewrite from walker to framework
prepare support for special curve types : curvenr 23,24,100..106
20230608 v0.150
viabk routes: improved output
20230603 v0.149
prepare to support unknown outputs (with number lists for straight/curved items ?)
20230530 v0.148
viabk routes: improved checks for via blocks in existing routes
global variable RT_GEN_STRING
20230525 v0.147
viabk routes: improved handling same device in multiple commands
20230525 v0.146
moved functions isCsvDisjunct and mergeCsvLists to framework
20230521 v0.145
fix copying route switch command lists (more generic)
fix for anyRtExists with optional via block checks
new csv list functions: merge multiple lists / check disjunct lists
20230521 v0.144
new mode: generate routes with via blocks (viabk)
20230507 v0.143
allow staging blocks as crossing blocks (with note)
rename RRaddBkCsvListToNodeMap to addBkCsv2NodeMap
20230429 v0.142
create and show list of zlevels also on verbose level 0
20230429 v0.141
moved WEB constants to framework
20230428 v0.140
bug fix checking fb for road attrib
20230423 v0.139
support for visible decoders
20230416 v0.138
make handling of switches excluded from routing compatible to router (create routes with missing commands)
give fail hint for all items
20230321 v0.137
improved handling of safe switch position
20230320 v0.136
module mode : support switches as valid end of "point-" routes
20230319 v0.135
show note for route / swcmd "flip"
20230311 v0.134
show 'autogen' and 'generated' routes
check if visible items are on defined levels
20230309 v0.133
fix for tt as route endpoint with block directly connected
rename some functions
20230309 v0.132
repair statistics
20230305 v0.131
add extra statistics for fb to route
convert all stats to Vout
if verify fails at a switch check if it is set to excluded from routing and give hint
20230304 v0.130
generate/walker: add unassigned fb to route
20230304 v0.129
for routes use default show="false" when adding to visible plan representation
20230228 v0.128
WIP: support for --ADD_FB_TO_GENERATED_ROUTES and --ADD_FB_TO_VERIFIED_ROUTES
20230224 v0.127
walker: traverser support
20230223 v0.126
walker: show route number
20230223 v0.125
cleanup some debugging output
20230222 v0.124
fix missing init of PLANOUTFILE
20230221 v0.123
support --planout
cleanup some debugging output
20230214 v0.122
verify: st check reaches sw without swcmd then prefer "trailing" over "safe switch position"
20230208 v0.121
notify when passing via block
20230124 v0.120
use MAX_RT_ELEM only when generating route map
seltab: continue WIP
remove direct routes (block2block) implemented
20230121 v0.119
support new option REMOVE_DIRECT_ROUTES implemented
20230107 v0.118
RRlistMapContents to listMapContents
20230107 v0.117
verify: experimental support for turntable as crossing block (opposite track)
20230104 v0.116
support for managed seltab (unmanaged only as destination)
20230101 v0.115
verify: support traverser
verify: if swcmd is missing use savepos as a replacement and continue
20221225 v0.114
fix assignment side effects in route generation (new MODE_ASSIGN)
20221224 v0.113
verifier: support turntable as via block (WIP)
20221223 v0.112
give hint for missing types in route commands
20221223 v0.111
implement option --SKIP_VERIFY_TT
20221218 v0.110
update/add signal/distant assignments in blocks (--UPDATE_BLOCK_SGS)
20221215 v0.109
validate objects before cloning
20221012 v0.108
remove obsolete router options
20221203 v0.107
do not create routes to exit side of staging blocks
20221128 v0.106
update/add generic sensor assignments in blocks (--UPDATE_BLOCK_FBS)
20221127 v0.105
removing signal/distant assignments in blocks (--REMOVE_BLOCK_SGS)
20221126 v0.104
removing generic sensor assignments in blocks (--REMOVE_BLOCK_FBS)
20221121 v0.103
support additional option: --REMOVE_ALL_ROUTES
20221120 v0.102
add support accessory 4 : round button of type switch (SpDrS60)
20221117 v0.101
prepare additional options: --REMOVE_BLOCK_FBS --UPDATE_BLOCK_FBS --REMOVE_BLOCK_SGS --UPDATE_BLOCK_SGS
20221116 v0.100
bug fix in findBkIdEndIdx
20221115 v0.99
support all user defined buttons with 1 digit
20221114 v0.98
add default value for variable moduleText
20221113 v0.97
tt: gridcon not active -> checks starting at tt not possible
20221016 v0.96
add special support for tracknr 101,102,103
20221013 v0.95
tx: typo fix and output fix
20220911 v0.94
tt: disable support for customized traverser symbolsize (was just an experiment)
20220719 v0.93
tt/bk: handle tt/tt_bk in routes as crossing/via block
(tt needs: gridcon, track, oppositetrack)
20220716 v0.92
sw: regard attribute exclude when verifying/generating routes
20220716 v0.91
support buttons 7, 8, 27, 28 inline
20220605 v0.90
WEB-mode: color output for success/problem/error
20220605 v0.89
fix for virtual and slave blocks in inline mode : do not generate useless routes
20220605 v0.88
handle virtual and slave blocks in different orientation and/or size
20220531 v0.87
twoway switch in trailing direction and not accept enabled: give hint for missing command(s)
show max length of generated and/or verified routes
WIP: modular plan support to update route ids
20220526 v0.86
route ids: handle level crossing (switch/accessory) like straight track
WIP generator: always (re)init direction and offset when switching equivalent start blocks (virtual to slave(s) or slave to virtual parent)
WIP generator: support for tt as start or destination
20220511 v0.85
verifier support for grid connected turntable with start or destination on "-"-side
20220510 v0.84
improved support for grid connected turntable
20220508 v0.83
switch commands for turntables (-> track) do not have a type
20220507 v0.82
block id search optimized (arrow elements)
20220504 v0.81
block id search: support block state signals
20220504 v0.80
fix some statistic output
20220503 v0.79
implement UPDATE_BLOCK_IDS
20220501 v0.78
new options: REMOVE_ROUTE_IDS REMOVE_BLOCK_IDS (with stats)
20220427 v0.77
support for curve arrows (tk curvenr 86,87) (like: tk dir)
20220426 v0.76
show summary only for selected tasks
20220425 v0.75
fix support for double usable elements (track-3/bridge curve-19/bridge) in same route in both ways
add full support for curvenr 90
20220425 v0.74
array element removal: replace array_splice by unset
20220424 v0.73
remove some debug output
20220424 v0.72
route generator: first release to public for testing...
handling virtual blocks at start
support parameters MAX_RT_ELEM MAX_TRACK2_DISTANCE
20220421 v0.71
regard MAX_RT_ELEM (maxRecursionDepth))
20220419 v0.70
new option VERIFY_ROUTES
20220418 v0.69
generator bug hunting... ... success ;-)
20220417 v0.68
WIP generator:
check for existing manual routes
check for existing generated routes
find uniq route name
add route with switch commands to plan
20220417 v0.67
WIP generator: create routes
extended statistics
20220415 v0.66
started work on generator
20220413 v0.65
add suport for missing raster track curvenr 19
20220410 v0.64
add suport for missing raster tracks curvenr 20,21,22
20220407 v0.63
show stats also if only missing route commands for trailing direction were accepted
20220405 v0.62
support for raster switches (crossing/dcrossing)
20220403 v0.61
introduce 4 additional directions
support for raster switches (left, right, twoway, threeway)
20220403 v0.60
change summary output for route ids added
#items/occupied #visible fields summary
20220401 v0.59
support via blocks when leaving a turntable
20220322 v0.58
show note if block is configured as turntable block and we reach init direction without a valid turntable node
20220318 v0.57
fix missing declaration
output correction
20220316 v0.56
move RRgetNodeTyp to RRphpFramework.php
20220313 v0.55
RRlistMapContents: show blockstate signals as type 'blockstate'
20220308 v0.54
fix for ccrossing
20220308 v0.53
ignore text items with invalid coordinates
handle bascular bridges without commands after a valid end was reached
fixed handling wrong command in left/right switches
20220307 v0.52
show summary of accepted trailing traversals (without commands)
20220306 v0.51
add accept trailing for switch type threeway
20220306 v0.50
add accept trailing for switch type twoway
20220306 v0.49
fixed detection of facing/trailing when reaching left or right switches
20220226 v0.48
add option to accept switches in trailing direction with no command (stumpf befahren)
add option to add commands for switches in trailing direction (stumpf befahren)
currently only "normal" switches (type left and right)
20220225 v0.47
RRlistMapContents: if bk is virtual then show "v[]"
20220224 v0.46
"tk" default "type" is "straight"
some debug corrections
20220224 v0.45
support for switch accesory 1 (double track level crossing OBSOLETE)
20220224 v0.44
ignore text elements in line of tracks
20220223 v0.43
if start/via/end blocks "virtually" overlap show as problem and skip route
20220221 v0.42
implemented remove_generated()
20220220 v0.41
summary output correction
20220219 v0.40
in verbose mode also show list of route commands
20220216 v0.39
overlapping objects set plan to not healthy
changed output for overlap detection during initial read
railraod crossing and non strict health checks -> no sw commands required
20220208 v0.38
turntable external block may have a different id
turntable improved support for grid connected tracks
20220207 v0.37
change behaviour if no action was selected (web frontend for end users with all actions disabled)
20220206 v0.36
move walker code from main() into function walker()
prepare remove_generated() and generate_routes()
fixed problem caused by missing global variable declarations in walker()
20220205 v0.35
correction for isRoad() and output svgtype 4 and 5
20220127 v0.34
support for tt start and destination regarding gridcon data (all orientations)
20220126 v0.33
WIP support for tt as start block with grid connection check as start block (ori west)
RRinitTtDir()
20220125 v0.32
support for customized traverser (needs customized traverser.svg)
20220124 v0.31
improved handling virtual blocks and their slave blocks
20220122 v0.30
show generated routes origin
- manual routes -> (*m)
- router generated routes -> (*r)
- turntable with "Manage track blocks" -> (*g)
20220121 v0.29
moved some functions to RRphpFramework.php
Vout*
*2string
20220121 v0.28
force correct level crossing commands only in strict mode
20220117 v0.27
support for curve 11
adjusted output format on several lines
20220117 v0.26
new options: --[no]STRICT_HEALTH_CHECKS --[no]ALLOW_ROUTE_ENDS_WITH_BUFFER
20220116 v0.25
connectors: improved checks for tk with tknr 2 (tunnel2)
check plan health (no overlap, pairwise connectors)
output for verbose level 0 reduced
20220116 v0.24
changed handling of duplicate elements (overwrite)
support: tx (text elements)
20220115 v0.23
verify enter side at destination block
show # route ids added (detaild list with -V)
20220114 v0.22
support: assume unknown/custom outputs as straight in all directions
20220112 v0.21
fix for calculating staging block size
show direction change
20220112 v0.20
(WIP) support: seltab
support: turntable/traverser as destination
support: curve90
20220111 v0.19
support: visible routes
20220111 v0.18
support: tk type 'dirall' (revoked by Rob but still present in provided demo plans)
20220110 v0.17
support: sb (staging block)
20220109 v0.16
fixed some bugs in crossing/dcrossing/ccrosing
20220109 v0.15
support: co (output/button)
20220108 v0.14
support: tracknr2 (tunnel) with max "face-to-face" distance of 10
20220108 v0.13
support: sg (co is WIP)
20220107 v0.12
support: sw bascule bridge (1 and 2 rails)
20220106 v0.11
support: sw ccrossing
output formatting
20220106 v0.10
support: sw crossing with (0 or 1 motor) , also rectangular
support: sw ccrossing
20220105 v0.09
support: sw dcrossing_left and dcrossing_right (subtypes: default/left/right)
20220104 v0.08
rewritten output for VERBOSE and DEBUG
20220103 v0.07
support: threeway, twoway switch (not raster)
20220102 v0.06
support: left and right switch (not raster)
20220101 v0.05
support: dir
rewritten logic: changed from "all in one" to "two step" (1st: find next in model, 2nd: check match)
20220101 v0.04
I'm walking...
support: bk, straight, curve(./90), fb, connector(./left/right)
20211230 v0.03
basic lists
20211229 v0.02
do not add invisible (!show) items to ObjectMapArray
20211228 v0.01
initial release
## End of release notes. ##
« Go back