Hi Steve, To avoid updating partial moves from the next depth, I have a check, that is what stops updating the board on mate or draw kind of situations, when the move length returned at a higher depth may be shorter, I have modified the logic with a seen depth tracking to ensure that if two subsequent depths return a shorter move line, then it will update the visualisation with the shorter move line.
Will send you the patch in some time. On Thu, Dec 5, 2024 at 2:27 PM Steve A <stevena...@gmail.com> wrote: > > Sorry to spam you.... but there might be a bug in your code when we reach > mate too, > (where i had introduced a bug, fixed in this version). > Thats it for another day , Cheers, S.A. > > > On Thu, Dec 5, 2024 at 5:06 PM Steve A <stevena...@gmail.com> wrote: >> >> Hi Hanish >> Ok, We should be able to include this feature :) >> Attached is my alpha version... could you please update to subversion, then >> apply this patch? >> >> The only thing i don't really like at the moment is having the extra spinbox >> in the engine toolbar... >> Might change this down the road. >> Thanks, Steven >> >> On Thu, Dec 5, 2024 at 3:05 PM Steve A <stevena...@gmail.com> wrote: >>> >>> ok... I'm onto it now. I see your not using drawArrow >>> >>> On Thu, Dec 5, 2024 at 11:01 AM Steve A <stevena...@gmail.com> wrote: >>>> >>>> Otherwise, I'll do it sometime. Cheers >>>> >>>> On Thursday, December 5, 2024, C Hanish Menon <hanish...@gmail.com> wrote: >>>>> >>>>> Hi Steve, >>>>> >>>>> Thanks for the feedback and thoughts. >>>>> >>>>> Attaching the updated patch where >>>>> >>>>> 1. moved the visualisation of moves into a generic function of its >>>>> own, which inturn is called from updateAnalysisBoard function to show >>>>> the analysis engine's main pv's initial moves >>>>> >>>>> 1.1. using the board argument passed to this, one can make the move >>>>> visualisation to appear on the main board or any other board, if one >>>>> wants to. The n argument will also need to be unique for each of a >>>>> different board. >>>>> >>>>> 1.2. if in any other place one wants to visualise a sequence of moves, >>>>> the function can be called to achieve the same and inturn on whichever >>>>> board that one may want to in that context. >>>>> >>>>> 2. the move number text shown on the board's squares uses contrasting >>>>> shadow color to try and ensure that irrespective of light or dark >>>>> square and or pieces, the numbers can be potentially visible to an >>>>> extent. >>>>> >>>>> 3. If multiple moves in the move list land on the same square, the >>>>> move numbers are prepended and shown on the square. >>>>> >>>>> 4. bcas text creation is now handled within the move visualisation >>>>> function using its own tags, the text will be retained on the board to >>>>> a great extent, even when some other logic may update the board, if >>>>> required. >>>>> >>>>> This functionality can indirectly allow users to visualise to an >>>>> extent where the pieces will be after a few moves (currently spinbox >>>>> limited to 8 moves), to an extent, while also seeing how the pieces >>>>> reached there. >>>>> >>>>> Not sure if varying the shades of the arrow as one proceeds through >>>>> the moves in the moves list can allow a lot more of the sequence of >>>>> moves to be inferred/shown because of dependencies like users >>>>> monitor's brightness and contrast settings, as well as possible board >>>>> square colors and so impacting visuals. However because the >>>>> visualisation of moves logic has been moved into a func of its own, >>>>> changing the logic in this single location should allow the benefits >>>>> of any changes to be visible wherever the moves visualization function >>>>> may be used. >>>>> >>>>> >>>>> >>>>> On Wed, Dec 4, 2024 at 4:46 PM Steve A <stevena...@gmail.com> wrote: >>>>> > >>>>> > The original anal board view showed the end position after the whole pv >>>>> > was moved. I wonder if it would be desirable to limit how many moves >>>>> > we see. >>>>> > >>>>> > But i'm thinking we should be making more use of the arrow colors. >>>>> > Mainly, i think we should be able to colour the main PV black, then >>>>> > lighten up the other PV arrows , perhaps in accordance to their >>>>> > score... Might be harder to code though. I'll try to look at it on the >>>>> > weekend >>>>> > eg set color [gradient $::defaultForeground .6 .] >>>>> > >>>>> > cheers >>>>> > >>>>> > >>>>> > On Wednesday, December 4, 2024, Steve A <stevena...@gmail.com> wrote: >>>>> >> >>>>> >> It's a nice idea, just that practical issues limit its clarity. Please >>>>> >> send me your revisions and I'll see if I can contribute to it. >>>>> >> Cheers >>>>> >> >>>>> >> On Wednesday, December 4, 2024, C Hanish Menon <hanish...@gmail.com> >>>>> >> wrote: >>>>> >>> >>>>> >>> Hi Steve, >>>>> >>> >>>>> >>> The idea behind my patch was to try and visualise the initial few >>>>> >>> moves of the 1st/main pv in a single/multipv response from the engine. >>>>> >>> And the reason was to try and make it easier to get a feel of the >>>>> >>> chain (or otherwise) of moves that the engine may be >>>>> >>> suggesting/looking-at in an easy implicit way, without having to do >>>>> >>> any end user driven actions on the gui (like using +v (with or without >>>>> >>> trial mode) and in turn looking at the moves in detail on the main >>>>> >>> board, by navigating through the moves). >>>>> >>> >>>>> >>> Also given that one may want to run different engines parallely at the >>>>> >>> same time, it makes more sense to visualise the engine moves on the >>>>> >>> respective local analysis board, rather than the main board. This also >>>>> >>> avoids the additional decision that needs to be made otherwise of >>>>> >>> which of the engine's main pv to show on the main board, if the main >>>>> >>> board were to be used. While parallely giving the flexibility of >>>>> >>> viewing main pv of multiple engines parallely in their separate >>>>> >>> analysis boards. >>>>> >>> >>>>> >>> Also keeping the logic to be a simple visualisation and not >>>>> >>> interaction with the corresponding visualisation, ensures that the >>>>> >>> already existing logic of showing the 1st move of the different >>>>> >>> multiple pv's that the engine generates on the analysis board and in >>>>> >>> turn clicking it to use as the move on the main board, doesnt get >>>>> >>> affected/overloaded in any way. Nor needed given that the idea was to >>>>> >>> visualise the initial few moves in the engine's main pv (among >>>>> >>> single/multipv). >>>>> >>> >>>>> >>> Also at a different level, not sure why, but I am not seeing the 1st >>>>> >>> move each of the different multipv's generated by the analysis engine, >>>>> >>> on the main board, after enabling show arrows in >>>>> >>> Tools->AnalysisEngine. >>>>> >>> >>>>> >>> PS: I am refining my patch further like using shadow colors to make >>>>> >>> the text more visible irrespective of underlying square or piece is >>>>> >>> light or dark; look at using dict to allow showing move numbers of >>>>> >>> multiple moves landing on same square; try ensure that move numbers >>>>> >>> remain on screen, even when engine is in the middle of building up the >>>>> >>> next deeper level pv (rather I had purposefully not looked at adding >>>>> >>> support for that to act as a indication that what is being visualised >>>>> >>> in not the latest one, but the previous one, bcas engine is still in >>>>> >>> middle of building the current deeper pv; however when switching >>>>> >>> between different engine tabs, it is not practical to try remember the >>>>> >>> not shown move numbers). I may be done with these changes in a day or >>>>> >>> two, depending on as and when I can steal time to work on this. >>>>> >>> >>>>> >>> On Tue, Dec 3, 2024 at 4:32 PM Steve A <stevena...@gmail.com> wrote: >>>>> >>> > >>>>> >>> > Hmmm - it's interesting , but pretty raw and not something i'd use. >>>>> >>> > But cheers. >>>>> >>> > >>>>> >>> > I thought for a second you were making a patch to draw the engine >>>>> >>> > arrows on the main board, which lots of GUIs do already. >>>>> >>> > This is also something i'm not too especially keen on because we >>>>> >>> > have arrows everywhere already! :) And it presents lots of >>>>> >>> > unresolved issues. >>>>> >>> > .... But, since i *do* already have a quick patch that does this, I >>>>> >>> > thought to add it to svn (which i've done just now, and also >>>>> >>> > attached below). >>>>> >>> > To see the arrows, you''ll have to select "Show Arrows" in >>>>> >>> > Tools->AnalysisEngines. >>>>> >>> > Cheers, S.A. >>>>> >>> > >>>>> >>> > On Tue, Dec 3, 2024 at 7:22 AM C Hanish Menon <hanish...@gmail.com> >>>>> >>> > wrote: >>>>> >>> >> >>>>> >>> >> Hi Steve, >>>>> >>> >> >>>>> >>> >> I have tried adding support for simple visualising of the main pv >>>>> >>> >> generated by uci engine on the analysis board. The user can control >>>>> >>> >> how many moves ahead to show on the board, using a spinbox I have >>>>> >>> >> added next to the show analysis board checkbox/button. >>>>> >>> >> >>>>> >>> >> I am attaching the patch with the email and a sample image of how >>>>> >>> >> it appears. >>>>> >>> >> >>>>> >>> >> NOTE: I have patched the scid file directly. I am not a tcl/tk >>>>> >>> >> programmer, I have looked at the code in scid and tried to >>>>> >>> >> structure/implement the patch to get the job done. There is a small >>>>> >>> >> probability that I may not be doing things the tcltk way. >>>>> >>> >> >>>>> >>> >> On Sat, Nov 30, 2024 at 6:58 PM C Hanish Menon >>>>> >>> >> <hanish...@gmail.com> wrote: >>>>> >>> >> > >>>>> >>> >> > Hi Steve, >>>>> >>> >> > >>>>> >>> >> > Thanks for adapting and incorporating the patches. >>>>> >>> >> > >>>>> >>> >> > Regarding snap, I dont think I have currently set %F, it's been >>>>> >>> >> > a long >>>>> >>> >> > time, I normally start from the command line. However it is a >>>>> >>> >> > good >>>>> >>> >> > input, which can be useful for many, will update it. >>>>> >>> >> > >>>>> >>> >> > Previously in the snapcraft.yaml file, which I am also bundling >>>>> >>> >> > with >>>>> >>> >> > snap, I was fetching the latest svn commit and creating a snap >>>>> >>> >> > of it, >>>>> >>> >> > so that anyone attempting to create snap on their own can get the >>>>> >>> >> > latest svn commit based version. But with the new version of >>>>> >>> >> > snapcraft >>>>> >>> >> > (used to create snap), they seem to have removed/goofed up the >>>>> >>> >> > svn >>>>> >>> >> > fetch logic, so I am using the tar file of the scidvspc release. >>>>> >>> >> > Need >>>>> >>> >> > to check, how to patch in svn fetching again wrt snapcraft may >>>>> >>> >> > be by >>>>> >>> >> > overriding its default fetch flow, so that people can create snap >>>>> >>> >> > using the latest commit, if possible. >>>>> >>> >> > >>>>> >>> >> > Given that you would be familiar with sourceforge and its svn, >>>>> >>> >> > by any >>>>> >>> >> > chance, do you know, if there is a standard url one could try to >>>>> >>> >> > fetch >>>>> >>> >> > to get an archive / tar of the latest svn commit of a project >>>>> >>> >> > hosted >>>>> >>> >> > on sourceforge svn. >>>>> >>> >> > >>>>> >>> >> > On Sat, Nov 30, 2024 at 3:13 AM Steve A <stevena...@gmail.com> >>>>> >>> >> > wrote: >>>>> >>> >> > > >>>>> >>> >> > > Thanks Hanish. I've adopted or tweaked all your changes and >>>>> >>> >> > > made a commit. (I've given the analysis boards identical coord >>>>> >>> >> > > setup to the main board, but making the font smaller). >>>>> >>> >> > > https://sourceforge.net/p/scidvspc/code/3485/ >>>>> >>> >> > > >>>>> >>> >> > > P.S. Thanks for creating the snap package. I think i recently >>>>> >>> >> > > had some correspondence about it. Do you include the %F arg >>>>> >>> >> > > (or similar) in your scidvspc.desktop file (ie "Exec=scid >>>>> >>> >> > > %F"). This allows opening desired files. >>>>> >>> >> > > >>>>> >>> >> > > Regards Steven. >>>>> >>> >> > > >>>>> >>> >> > > On Sat, Nov 30, 2024 at 2:12 AM C Hanish Menon >>>>> >>> >> > > <hanish...@gmail.com> wrote: >>>>> >>> >> > >> >>>>> >>> >> > >> Hi, >>>>> >>> >> > >> >>>>> >>> >> > >> I follow and explore chess very very infrequently, like once >>>>> >>> >> > >> in a few >>>>> >>> >> > >> years, usually when maybe a chess championship is going on or >>>>> >>> >> > >> hear >>>>> >>> >> > >> something about a new chess engine or I am experimenting >>>>> >>> >> > >> something or >>>>> >>> >> > >> so. >>>>> >>> >> > >> >>>>> >>> >> > >> So also I am not good at visualizing text chess move >>>>> >>> >> > >> lines/variations >>>>> >>> >> > >> without having visual hint like coordinates on a chess board. >>>>> >>> >> > >> >>>>> >>> >> > >> Given that currently ScidVsPC doesnt have an option for the >>>>> >>> >> > >> same wrt >>>>> >>> >> > >> analysis board, have created this patch (03- patch file name) >>>>> >>> >> > >> to >>>>> >>> >> > >> enable the same. If the user enables coordinates on all sides >>>>> >>> >> > >> wrt the >>>>> >>> >> > >> main board (ie boardCoords value 2), then this logic will >>>>> >>> >> > >> enable >>>>> >>> >> > >> coordinates on the analysis board. >>>>> >>> >> > >> >>>>> >>> >> > >> Inturn when working on this, noticed that the board::flip >>>>> >>> >> > >> logic wasn't >>>>> >>> >> > >> setting the vertical (1-8) coordinate values correctly for the >>>>> >>> >> > >> analysis board always, it seemed to have a race based on when >>>>> >>> >> > >> the >>>>> >>> >> > >> board gets enabled and when the user toggles board coords. So >>>>> >>> >> > >> have >>>>> >>> >> > >> created a additional patch (04- patch file name) which sets >>>>> >>> >> > >> the labels >>>>> >>> >> > >> based purely on flip variable. NOTE: Not able to reproduce >>>>> >>> >> > >> this >>>>> >>> >> > >> currently, dont remember the sequence of enabling different >>>>> >>> >> > >> options >>>>> >>> >> > >> and boards, but did notice it few times initially, when I was >>>>> >>> >> > >> working >>>>> >>> >> > >> with only 03- patch file. Also this 04- patch file makes the >>>>> >>> >> > >> logic >>>>> >>> >> > >> directly depend on flip variable rather than any value that >>>>> >>> >> > >> may be >>>>> >>> >> > >> already there wrt the labels. So feel this may be a better >>>>> >>> >> > >> logic. >>>>> >>> >> > >> >>>>> >>> >> > >> >>>>> >>> >> > >> NOTE: I had created & inturn maintain scidvspc-hkvc snap >>>>> >>> >> > >> package, to >>>>> >>> >> > >> run scidvspc on linux distros with snap package system >>>>> >>> >> > >> support, which >>>>> >>> >> > >> again I update once in a bluemoon. These patches are included >>>>> >>> >> > >> in the >>>>> >>> >> > >> version which I have released there. I have added the suffix >>>>> >>> >> > >> -hkvc to >>>>> >>> >> > >> ensure that in future if the scidvspc team wants to release >>>>> >>> >> > >> their own >>>>> >>> >> > >> snap package, there is no confusion. These patches can be >>>>> >>> >> > >> tested/verified by running the scidvspc-hkvc snap package, if >>>>> >>> >> > >> needed. >>>>> >>> >> > >> >>>>> >>> >> > >> -- >>>>> >>> >> > >> Keep ;-) >>>>> >>> >> > >> HanishKVC >>>>> >>> >> > >> _______________________________________________ >>>>> >>> >> > >> Scidvspc-users mailing list >>>>> >>> >> > >> Scidvspc-users@lists.sourceforge.net >>>>> >>> >> > >> https://lists.sourceforge.net/lists/listinfo/scidvspc-users >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > -- >>>>> >>> >> > Keep ;-) >>>>> >>> >> > HanishKVC >>>>> >>> >> >>>>> >>> >> >>>>> >>> >> >>>>> >>> >> -- >>>>> >>> >> Keep ;-) >>>>> >>> >> HanishKVC >>>>> >>> >>>>> >>> >>>>> >>> >>>>> >>> -- >>>>> >>> Keep ;-) >>>>> >>> HanishKVC >>>>> >>>>> >>>>> >>>>> -- >>>>> Keep ;-) >>>>> HanishKVC -- Keep ;-) HanishKVC _______________________________________________ Scidvspc-users mailing list Scidvspc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scidvspc-users