#repertoire builder

99 messages · Page 1 of 1 (latest)

spice cove
#

I have a idea for a repertoire builder.

I have a prototype that doesn't really work using the lichess pgn viewer.

But, I found difficulty when I was trying to change the pgn that is refranced.

This is the current status
https://github.com/nicvagn/html-rep-Builder

But, in my search for a way to change the pgn in the lichess pgn viewer,

I came across:

https://lichess.org/opening

Which is very close to what I envision, but I want user editable list. And the ability to save a small XML snippet containing links to the lines and a repitiore name.

I am not versed in in functional programming, but I'm learning Scala.

Do you think it is a good enough idea to make a lichess mainland feature?

Or, should I just focus on getting the pgn viewer to change pgn, and put my effort into that?

#

Some pictures of what I am thinking.

loud echo
#

The text on /opening is editable fyi. It’s just protected behind permissions. (And also the same text is shown to everyone ofc)

spice cove
#

Ok. Yes, I was envisioning a personal opening tree that you can customize for your own use. And, create a curated repitiore for yourself.

I have been working on the project, and was searching for a way to change the pgn in lichess pgn viewer, when I stumbled upon lichess.com/opening. I was going to fork and create a version for my chess club website, but I thought it might be a decent main line feature.

loud echo
#

I don’t 100% follow your vision, but there are many players who want a repertoire builder. And many projects like that have been posted over time. It’s not me who reviews PR’s, but I would say something like that has a decent chance of being merged. Maybe a github issue and /or a poc fork would be worth doing?

spice cove
#

It is mostly the ability to create a list of curated opening pages. Maybe it is not something that belongs on the website, maybe it would be better off as a text document.

loud echo
#

You would have to somehow explain why /study is not meeting your usecase through, since that’s also used for lots of opening prep

spice cove
#

Yes, I am working on it. I am a little brain damaged from a car accident. Thus I have the time, and if people think it is worth pursuing.

#

Very fair. I mostly just wanted a layout view like the lichess.com/opening that you can customize.

I think the prevailing study interface is what I aim to upgrade and update.

#

A slight change in UI to the study interface with the addition of example games and an overview view is mostly what I envision.

#

I am versed in oop but functional programming and Scala and the view framework are new to me.

I am interested in pursuing the work, and I am mostly here to see if there is interest in integrating the feature, or I should focus on making a stand alone implementation.

loud echo
#

I could be wrong, but i suspect that the study is already one of the places i lichess that has quite high code complexity already. Which is something to watch out for. I do think the feature has merit, but not sure what the best way to go about it is. Maybe some dev’s will come across this tomorrow and share their thoughts

spice cove
#

Yes, this is fair. I understand that it would be a terrible first project.

But, thank you for your time. I had not even thought about existing work and extending the study interface.

I have 3 years of computer science, and a willingness to peruse this to the end.

I am a neet and I need a rewarding project.

I was mostly wondering if this was even a good idea, or if I was off my rocker

spice cove
#

It mostly boils down to UI tweeks and stitching other people's code together.

terse kite
#

Hey I have a similar idea for practicing opening lines, I am currently in the design phase, feel free to dm me so I can show you the prototype in Figma.

spice cove
#

Dmed

#

I think the two ideas have significant overlap. In order to practice the lines you would first have to develop the backend for retreating the lines. Really, your project is a super set of my idea.

spice cove
#

I know realize I should be embeding a analisis board. I am sorry for my ignorance

spice cove
#

I have gotten some success directly embedding a <iframe> using :

#

overviews options you can pass in the html, but is there a way to apply traditional styles? We may never know..

spice cove
#

I had to embed an analysis board via iframe to accomplish what I wanted. The pgn Viewer from lichess was not designed to do what I wanted.

#

I still think it would be an interesting lil ui tweak on the existing study interface. Maybe when I finish the one for my club I will look into it. But, functional programing scares me..

spice cove
spice cove
#

It still has no saving functionality, but with browser storage and the ability to save JavaScript constructs it should not be that difficult.

I wasted a lot of time trying to get the pgn viewer to work, but embedded studies does the trick well.

As far as study construction, I will probably lean on lichess study building interface. This will be mostly a interface towards organization of lichess studies. Not that interesting, for rep creation, but for rep memorization, it is a neat tool

#

I still think a main line feature that takes some ques from my design. But, I am a little bit retarded.

I still want to see it, and will work towards something 😁

loud echo
#

rooSip nice progress

spice cove
#

Thanks, I hope to get saving to browser local storage working next. When I get through with this project, I would love to understand more about how the lichess studies work. I think that some minor UI design tweaks would go a long way towards making it more usable. The functionality is awesome, but the fluidity of use isn't really polished.

¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯

#

Much appreciated

spice cove
#

and another one.

#

I am working on implementing a way for the user to actually design/build a repertoire. Novel stuff in a repertoire builder. I am very pleased with how the iframe + hot swamping in new studies <iframe> is working. I am happy with the display side of things. Now, comes the making it interactive. Or maybe I won't. Make all my users hard code their rep's in the typescript.

spice cove
#

I have started on adding user studies. It is lookin pretty good so far

spice cove
#

new rep creation is done!

spice cove
#

http://nrv-design.com

Here is a bit of a demo of what I have been working on. Savings to the browser still has yet to be accomplished. And, It is all around still quite buggy. But, it is coming together

#

With the added /embed

spice cove
#

Fixed the bug that only allows adding lines

spice cove
#

I am well on my way to implementing local savings. The JSON creation is well on the way, but the JSON parsing is still a not quite working

spice cove
#

And, it is working

spice cove
#

local storage work is well under way. I can save a line, and later retrieve it. I am sorry for the lack of updates, I had a death in the family.

#

So as we stand, I can save and load from local storage. The hard work is behind me for the club Repertoire builder. But, I have ambition of doing some work on the studies tab of lichess afterwards.

#

I have recruited an old computer science buddy, and work will begin shortly. Sadly, Scala and functional programming are still wizardry to me.

loud echo
#

Sorry for your loss. I have not had time to check this out properly, but whenever you finish I would love to read a lichess blog about the project.

spice cove
#

thanks, I would love to write one

spice cove
#

We have a V 1.0

#

Saving to the browser is functioning

spice cove
#

It is still quite buggy, but it is coming

#

Now, I need import and export functionality, ability to delete stuff and then, I have to dig into learning Scala

spice cove
#

So, I figured out how to do local storage savings. But, I really fucked shit up trying to get a save object working.

spice cove
#

I see now that it would be easier to export my Local Storage than to implement an object save model post hawk.

spice cove
#

Reverted a few commits and started afresh. Savings and loading working.

It was a mistake to try and re-due my entire save infrastructure.

I got it working very quickly with just JSON.strinifying the local storage.

I will post an update video tomorrow, if I 'member.

Might even break 5 views. ... Well, no, but we can dream.

spice cove
#

give it a test ride, It is buggy but it is mostly there

spice cove
#

The demo, integrated into my club's website.

spice cove
#

I endeavor to develop an example game "tab" for the study interface.

But, I am not well versed in Scala. Can anyone point me in the direction of some good learning resources?

terse kite
spice cove
#

Thanks. I appreciate your help.

#

Some knowledge of the fundamental principles of functional programming would be great. There are many similarities.

And, it would be good to understand more about the principals driving functional programming paradigms.

Or, something a smart guy would say.

Yes, that thing.

#

I have gotten to the point where I am trying to iron out some bugs in the delete functionality

spice cove
#

Then I aim to put my attention towards adding an example games section to the study interface.

I feel like that will be difficult, because of my lack of knowledge of the lichess source and lack of knowledge of the play framework and Scala. But, I don't believe that it will be a technically trivial matter besides my ignorance.

I have wasted much time trying to get a native lichess dev environment. I think I will use the virtual machine Docker environment.

I will start with getting familiar with the study interface, and Scala, and the play framework.

Wish me luck 🤞

spice cove
#

fuck me. I spent forever trying to squash a bug, and fixed It. I don't even know how.

spice cove
#

You can't assign variables by reference in JavaScript? I am very done with this language.

spice cove
#

I am wrapping up on the rep builder project that no one will use. After Christmas I will re-focus and read learn you a haskell

spice cove
#

context parameters.... My head is spinning

spice cove
#

version 1.1, deletion is working

#

now it is working for my club site that no one will use, I will stop spamming this discord with stuff unrelated to lichess dev, and start spamming it with stuff that is somewhat relevant.

spice cove
#

now it is working, had an old version live

spice cove
#

I have finally succeed in getting a native lichess dev environment up and running. It was not trivial, on Fedora/linux/gnu/wayland/thinkpad

#

oh, /bash. Did I forget anything? I would not want rms to be pissed.

spice cove
#

man, you were no kidding about the study code lol

spice cove
#

I got a bit ahead of myself. I am digging into the play framework.

spice cove
#

What I expected to be a fairly straightforward UI tweak turns out to be a little more involved,. In part because of my ignorance of the code organization of lichess. It is a monolith of code in a language I am not entirely familiar with. My ignorance of MVC architecture is not helping me neither. As is common, my unfamiliarity with the code base made me assume shit. lol

spice cove
#

I got distracted by developing a interface between the board api and chessnut board I got fro xmas

spice cove
#

https://www.youtube.com/live/hjkIRBb-0Tk?si=1IJrHQuR4fPpA511

this is the sort of thing I would like to streamline. It is fairly difficult to organize lines and example games in said line. I also think the ability to create a repertoire by playing in (ie: chessbook) is an excellent idea.

I am at work on NicLink (((patent pending))) but still see a real need for this kind of software.

Building a repertoire with lichess studies is a thing that is a tad like milking a bull. If you you try hard enough, you succeed. (Kinda)

No one is doing it for fun. Building a repertoire should be enjoyable. It can be, I have really enjoyed playing with chessbook.

If you are serious about chess, you should have a repertoire. And, there are no libre offerings that provide a intuitive way of cultivating one.

I am still hard at work on the board API stuff.

But, seeing how someone uses the current study system, I see many improvements I would like to make. Ie: a tree structure where one node has many sub nodes and can be navigated intuitively.

Like you can have one node for E4 one for D4 and under the D4 node

#

You can have the Slav and the Queen's gambit declined.

terse kite
#

Bro thanks, for the video, but the website I've talked about with you earlier about myself is exactly what you are looking after. It will have the tree structure of moves and hide them to make you practice and everything. Just keep tabs with me here.

spice cove
#

Yes, I just do not think I have the ability (or desire) to program the entire thing from scratch. I do not think it is the best way to reach the end goal. I envision using the base of the lichess study as all the difficult work like importing games, and managing the back-end. I do not have the desire to rebuild that infrastructure.

terse kite
#

Yes, you are right, There are always a million reasons not to do something, but Hey at least you are willing to try.

spice cove
#

Yes, I do not have much going on, so I my as well do something useful

placid inlet
#

I know some react to help out

#

if your using react

spice cove
#

Awesome, thanks.

spice cove
#

I am revisiting this project now that my board API project is playable.

spice cove
#

J

#

K