« 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