lichess-org / flutter-chessground Goto Github PK
View Code? Open in Web Editor NEWChessboard package for flutter
Home Page: https://pub.dev/packages/chessground
License: GNU General Public License v3.0
Chessboard package for flutter
Home Page: https://pub.dev/packages/chessground
License: GNU General Public License v3.0
For now only wood4
and horsey
are present.
Add missing themes so it matches the board theme selector on lichess.
A new piece set called caliente was added to lila: lichess-org/lila#13107
Caliente piece set repository: https://github.com/avi-0/caliente
For now when horsey
background is selected, standard move, selected piece, etc. solid color overlays are applied.
horsey
them need special image overlays instead. Those images can be found here: https://github.com/lichess-org/lila/tree/master/public/images/board
https://github.com/lichess-org/flutter-chessground/blob/main/lib%2Fsrc%2Fmodels.dart#L425
When orig=dest, Arrow.newDest should return a circle.
Current behavior is bugged, creating arrows with same dest and orig.
This issue is still there for me. I am using a clone of the main branch from a couple of days ago.
When the movement of the chessboard is using playunchecked() and a pawn arrived to the other side the promotion selector is now shown and the pawn stays stuck there forever.
Make drawing shapes with touch input possible.
Right now the only way a premove can be cancelled is by tapping the piece that has been premoved twice. On the website, premoves are cancelled on clicking anywhere on the board.
I think this is a reasonable approach and should be mirrored in this package.
I'd like to create some screen designs in Figma. Are there any screenshots about what this library is capable of?
I would like to enable premoves for both sides in free play. I tried setting interactibleSide
to InteractableSide.both
, but this did not do the trick.
I found the issue, by the way: At lines 382 and 774 of the file Board.dart
, you should check for the possibility that widget.data.interactableSide
is set to InteractableSide.both
.
You wanted the users to be able to draw shapes by touching with one finger and moving the other. This is not possible using a gesture detector as far as I could tell, so a custom solution using listeners to touch events is necessary one way or another. Implementing this without Riverpod seems tedious, so I think the optimal solution would be to refactor it using callback functions provided by the app using flutter-chessground while providing a "default" GestureDetector to slot in which doesn't allow for drawing shapes natively.
When using Riverpod or at least callbacks, it is also possible to differentiate events by input device type, such as a stylus. This could allow for the users to draw shapes with a stylus while playing normally with fingers.
To match website behaviour.
In line 165 of models.dart
, we have:
SquareId get squareId => allSquares[8 * x + y];
Shouldn’t this be 8 * y + x
?
To support this scenario I think two features should be implemented:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.