react-native-chess-kit 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,20 +37,24 @@ function animateValue(target, config, moveDuration) {
37
37
  /**
38
38
  * A single animated chess piece.
39
39
  *
40
- * Animates ONLY `transform` and `opacity` Reanimated's fast path on Android.
41
- * No layout properties (top/left/width/height) are animated, avoiding costly
42
- * layout recalculations on low-end devices.
40
+ * Uses two nested Animated.Views to avoid the Reanimated warning
41
+ * "Property opacity may be overwritten by a layout animation":
42
+ *
43
+ * Outer view: position (transform) + exiting layout animation (FadeOut)
44
+ * Inner view: drag-hide opacity
45
+ *
46
+ * Only `transform` and `opacity` are animated — Reanimated's fast path
47
+ * on Android. No layout properties (top/left/width/height), avoiding
48
+ * costly layout recalculations on low-end devices.
43
49
  *
44
50
  * During drag:
45
- * - Original piece hides (opacity: 0) — the drag ghost shows instead
46
- * - No position changes on the original piece during drag
51
+ * - Inner view hides (opacity: 0) — the drag ghost shows instead
47
52
  *
48
53
  * After a move:
49
- * - Snaps to new position via withTiming/withSpring on translateX/translateY
50
- * - Animation style controlled by user's animationConfig or moveDuration
54
+ * - Outer view snaps to new position via withTiming/withSpring
51
55
  *
52
56
  * On capture (unmount):
53
- * - Fades out via Reanimated's `exiting` prop (FadeOut)
57
+ * - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
54
58
  */
55
59
  const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo(function BoardPieceView({
56
60
  targetX,
@@ -74,15 +78,21 @@ const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo
74
78
  currentX.value = animateValue(targetX, animationConfig, moveDuration);
75
79
  currentY.value = animateValue(targetY, animationConfig, moveDuration);
76
80
  }, [targetX, targetY, animationConfig, moveDuration, currentX, currentY]);
77
- const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
81
+
82
+ // Position style on outer view — no opacity here to avoid conflict
83
+ // with the FadeOut exiting layout animation
84
+ const positionStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
85
+ transform: [{
86
+ translateX: currentX.value
87
+ }, {
88
+ translateY: currentY.value
89
+ }]
90
+ }));
91
+
92
+ // Drag-hide opacity on inner view — separate from the exiting animation
93
+ const opacityStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
78
94
  const isBeingDragged = isDragging.value && activeSquare.value === square;
79
95
  return {
80
- transform: [{
81
- translateX: currentX.value
82
- }, {
83
- translateY: currentY.value
84
- }],
85
- // Hide original piece during drag — drag ghost renders on top
86
96
  opacity: isBeingDragged ? 0 : 1
87
97
  };
88
98
  });
@@ -91,11 +101,18 @@ const BoardPieceView = exports.BoardPieceView = /*#__PURE__*/_react.default.memo
91
101
  position: 'absolute',
92
102
  width: squareSize,
93
103
  height: squareSize
94
- }, animatedStyle]
95
- // Fade out when this piece is captured (removed from the piece list)
104
+ }, positionStyle]
105
+ // Fade out when this piece is captured (removed from the piece list).
106
+ // Lives on the outer view so it doesn't conflict with the
107
+ // drag-hide opacity on the inner view.
96
108
  ,
97
109
  exiting: _reactNativeReanimated.FadeOut.duration(_constants.CAPTURE_FADE_DURATION),
98
- children: children
110
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
111
+ style: [{
112
+ flex: 1
113
+ }, opacityStyle],
114
+ children: children
115
+ })
99
116
  });
100
117
  },
101
118
  // Custom comparator: only re-render when position, square, or animation config changes
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","animateValue","target","config","moveDuration","type","withSpring","damping","stiffness","mass","withTiming","duration","DEFAULT_MOVE_DURATION","BoardPieceView","exports","React","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","useSharedValue","currentY","useEffect","value","animatedStyle","useAnimatedStyle","isBeingDragged","transform","translateX","translateY","opacity","jsx","View","style","position","width","height","exiting","FadeOut","CAPTURE_FADE_DURATION","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNativeReanimated","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","animateValue","target","config","moveDuration","type","withSpring","damping","stiffness","mass","withTiming","duration","DEFAULT_MOVE_DURATION","BoardPieceView","exports","React","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","useSharedValue","currentY","useEffect","value","positionStyle","useAnimatedStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","jsx","View","style","position","width","height","exiting","FadeOut","CAPTURE_FADE_DURATION","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
@@ -162,50 +162,40 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
162
162
  // a visual effect only — the rotation shared value is available for consumers
163
163
  // who want to add a rotation transition effect.
164
164
 
165
- // --- Piece data from FEN ---
166
- const pieces = (0, _useBoardPieces.useBoardPieces)(fen);
165
+ // --- Internal FEN state ---
166
+ // The Board owns a private FEN that drives piece rendering.
167
+ // It starts from the parent prop and stays in sync via useEffect,
168
+ // but can temporarily diverge when the library applies a user move
169
+ // before the parent validates it (enables Chess.com-style "show move
170
+ // then revert" behavior via undo()).
171
+ const [internalFen, setInternalFen] = (0, _react.useState)(fen);
167
172
 
168
- // --- Chess.js for legal move validation ---
173
+ // --- Chess.js for legal move validation + internal state ---
169
174
  const boardState = (0, _useBoardState.useBoardState)(fen);
170
175
 
171
- // Sync internal chess.js when parent changes FEN
176
+ // Sync internal FEN + chess.js when parent changes the prop FEN.
177
+ // This covers: accepted moves (parent updates FEN), board reset,
178
+ // and opponent programmatic moves.
172
179
  (0, _react.useEffect)(() => {
180
+ setInternalFen(fen);
173
181
  boardState.loadFen(fen);
174
182
  }, [fen, boardState]);
175
183
 
184
+ // --- Piece data from internal FEN ---
185
+ const pieces = (0, _useBoardPieces.useBoardPieces)(internalFen);
186
+
176
187
  // --- Check detection ---
177
- const checkSquare = (0, _react.useMemo)(() => detectCheckSquare(fen, () => {
188
+ // Detect if the side to move is in check by parsing the FEN.
189
+ // chess.js isInCheck() isn't exposed through boardState, so we use
190
+ // a simple heuristic: if the FEN has the king of the side to move
191
+ // attacked, highlight it.
192
+ const checkSquareState = (0, _react.useMemo)(() => {
178
193
  try {
179
- // chess.js isCheck method
180
- const chess = boardState;
181
- const tempFen = chess.getFen();
182
- // Use a simple approach: check if the FEN active color king is in check
183
- // by trying to detect via chess.js internal state
184
- return false; // Will be properly wired below
194
+ return detectCheckSquare(internalFen, () => boardState.isInCheck(), boardState.getTurn);
185
195
  } catch {
186
- return false;
196
+ return null;
187
197
  }
188
- }, boardState.getTurn), [fen, boardState]);
189
-
190
- // Better check detection: use chess.js directly
191
- const [checkSquareState, setCheckSquareState] = (0, _react.useState)(null);
192
- (0, _react.useEffect)(() => {
193
- // chess.js exposes isCheck() — we need to detect from the FEN position
194
- // Since boardState wraps chess.js, we detect check by checking if the
195
- // current side to move has their king in check
196
- try {
197
- const square = detectCheckSquare(fen, () => {
198
- // Attempt move detection: if the position is in check,
199
- // chess.js will reflect this. We parse the FEN to find the king.
200
- // For now, use a simple heuristic: try to detect from the position.
201
- // The real check is done via board state.
202
- return boardState.getTurn() !== undefined; // placeholder
203
- }, boardState.getTurn);
204
- setCheckSquareState(square);
205
- } catch {
206
- setCheckSquareState(null);
207
- }
208
- }, [fen, boardState]);
198
+ }, [internalFen, boardState]);
209
199
 
210
200
  // --- Selection state ---
211
201
  const [selectedSquare, setSelectedSquare] = (0, _react.useState)(null);
@@ -273,7 +263,6 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
273
263
  // Check for promotion
274
264
  if (isPromotionMove(from, to)) {
275
265
  if (onPromotion) {
276
- // Show promotion picker or get choice from callback
277
266
  const piece = pieces.find(p => p.square === from);
278
267
  const color = piece?.color ?? 'w';
279
268
  setPromotionState({
@@ -283,7 +272,11 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
283
272
  });
284
273
  return;
285
274
  }
286
- // Auto-promote to queen if no onPromotion callback
275
+ // Auto-promote to queen
276
+ const result = boardState.applyMove(from, to, 'q');
277
+ if (result.applied && result.fen) {
278
+ setInternalFen(result.fen);
279
+ }
287
280
  onMove?.({
288
281
  from,
289
282
  to
@@ -291,12 +284,20 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
291
284
  return;
292
285
  }
293
286
 
294
- // Notify parent parent decides whether to accept/reject
295
- onMove?.({
296
- from,
297
- to
298
- });
299
- }, [onMove, onPromotion, isPromotionMove, pieces]);
287
+ // Apply the move visually FIRST (Chess.com-style: show the move,
288
+ // then let the parent validate). The parent can call undo() to
289
+ // revert if the move is rejected.
290
+ const result = boardState.applyMove(from, to);
291
+ if (result.applied && result.fen) {
292
+ setInternalFen(result.fen);
293
+ onMove?.({
294
+ from,
295
+ to
296
+ });
297
+ }
298
+ // If chess.js rejected the move (truly illegal), do nothing —
299
+ // piece stays at its original square.
300
+ }, [onMove, onPromotion, isPromotionMove, pieces, boardState]);
300
301
 
301
302
  // --- Promotion picker handlers ---
302
303
  const handlePromotionSelect = (0, _react.useCallback)(async piece => {
@@ -306,26 +307,32 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
306
307
  to
307
308
  } = promotionState;
308
309
  setPromotionState(null);
309
-
310
- // If consumer provided onPromotion, call it for confirmation
310
+ const promo = piece.toLowerCase();
311
311
  if (onPromotion) {
312
312
  try {
313
313
  const choice = await onPromotion(from, to);
314
- // Apply the move with chosen promotion
314
+ const result = boardState.applyMove(from, to, choice);
315
+ if (result.applied && result.fen) {
316
+ setInternalFen(result.fen);
317
+ }
315
318
  onMove?.({
316
319
  from,
317
320
  to
318
321
  });
319
322
  } catch {
320
- // Promotion cancelled
323
+ // Promotion cancelled — piece stays at origin
321
324
  }
322
325
  } else {
326
+ const result = boardState.applyMove(from, to, promo);
327
+ if (result.applied && result.fen) {
328
+ setInternalFen(result.fen);
329
+ }
323
330
  onMove?.({
324
331
  from,
325
332
  to
326
333
  });
327
334
  }
328
- }, [promotionState, onPromotion, onMove]);
335
+ }, [promotionState, onPromotion, onMove, boardState]);
329
336
  const handlePromotionCancel = (0, _react.useCallback)(() => {
330
337
  setPromotionState(null);
331
338
  }, []);
@@ -352,7 +359,8 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
352
359
  if (consumed) {
353
360
  // Try to execute the premove
354
361
  const result = boardState.applyMove(consumed.from, consumed.to, consumed.promotion);
355
- if (result.applied) {
362
+ if (result.applied && result.fen) {
363
+ setInternalFen(result.fen);
356
364
  onMove?.({
357
365
  from: consumed.from,
358
366
  to: consumed.to
@@ -405,12 +413,14 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
405
413
 
406
414
  // --- Imperative ref ---
407
415
  (0, _react.useImperativeHandle)(ref, () => ({
408
- move: move => {
409
- boardState.applyMove(move.from, move.to);
416
+ move: moveArg => {
417
+ const result = boardState.applyMove(moveArg.from, moveArg.to, moveArg.promotion);
418
+ if (result.applied && result.fen) {
419
+ setInternalFen(result.fen);
420
+ }
410
421
  },
411
422
  highlight: (square, color) => {
412
423
  setImperativeHighlights(prev => {
413
- // Replace existing highlight on same square, or add new
414
424
  const filtered = prev.filter(h => h.square !== square);
415
425
  return [...filtered, {
416
426
  square,
@@ -423,6 +433,7 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
423
433
  },
424
434
  resetBoard: newFen => {
425
435
  boardState.loadFen(newFen);
436
+ setInternalFen(newFen);
426
437
  setSelectedSquare(null);
427
438
  setLegalMoves([]);
428
439
  setImperativeHighlights([]);
@@ -430,7 +441,10 @@ const Board = exports.Board = /*#__PURE__*/(0, _react.forwardRef)(function Board
430
441
  setPromotionState(null);
431
442
  },
432
443
  undo: () => {
433
- boardState.undoMove();
444
+ const prevFen = boardState.undoMove();
445
+ if (prevFen) {
446
+ setInternalFen(prevFen);
447
+ }
434
448
  setSelectedSquare(null);
435
449
  setLegalMoves([]);
436
450
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_pieces","_useBoardPieces","_useBoardState","_useBoardGesture","_usePremove","_boardBackground","_boardCoordinates","_boardHighlights","_boardLegalDots","_boardPieces","_boardDragGhost","_boardArrows","_boardAnnotations","_promotionPicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","exports","forwardRef","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkHighlightColor","DEFAULT_CHECK_COLOR","selectedSquareColor","DEFAULT_SELECTED_COLOR","premoveColor","DEFAULT_PREMOVE_COLOR","dragTargetColor","DEFAULT_DRAG_TARGET_COLOR","moveDuration","DEFAULT_MOVE_DURATION","animationConfig","animateFlip","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","duration","pieces","useBoardPieces","boardState","useBoardState","loadFen","checkSquare","useMemo","chess","tempFen","getFen","checkSquareState","setCheckSquareState","square","undefined","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","usePremove","promotionState","setPromotionState","resolvedRenderer","DefaultPieceSet","code","size","renderer","jsx","View","style","isPromotionMove","from","to","piece","find","p","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","handlePromotionSelect","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","result","applyMove","promotion","applied","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","useBoardGesture","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","useImperativeHandle","move","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","undoMove","clearPremoves","flex","aspectRatio","onLayout","GestureDetector","children","jsxs","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","BoardArrows","BoardAnnotations","BoardDragGhost","dragX","dragY","dragPieceCode","PromotionPicker","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_pieces","_useBoardPieces","_useBoardState","_useBoardGesture","_usePremove","_boardBackground","_boardCoordinates","_boardHighlights","_boardLegalDots","_boardPieces","_boardDragGhost","_boardArrows","_boardAnnotations","_promotionPicker","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","detectCheckSquare","fen","isInCheck","getTurn","turn","kingChar","placement","split","ranks","rankIdx","length","rank","fileIdx","char","parseInt","files","Board","exports","forwardRef","orientation","boardSize","boardSizeProp","gestureEnabled","player","moveMethod","showLegalMoves","premovesEnabled","colors","withLetters","withNumbers","renderPiece","pieceSet","lastMove","highlights","arrows","shapes","annotations","showDragTarget","lastMoveColor","DEFAULT_LAST_MOVE_COLOR","checkHighlightColor","DEFAULT_CHECK_COLOR","selectedSquareColor","DEFAULT_SELECTED_COLOR","premoveColor","DEFAULT_PREMOVE_COLOR","dragTargetColor","DEFAULT_DRAG_TARGET_COLOR","moveDuration","DEFAULT_MOVE_DURATION","animationConfig","animateFlip","onPromotion","onMove","onPieceClick","onSquareClick","onPieceDragBegin","onPieceDragEnd","onSquareLongPress","onPremove","onHaptic","ref","measuredSize","setMeasuredSize","useState","handleLayout","useCallback","width","height","nativeEvent","layout","Math","min","squareSize","boardColors","DEFAULT_BOARD_COLORS","flipRotation","useSharedValue","prevOrientationRef","useRef","useEffect","current","value","withTiming","duration","internalFen","setInternalFen","boardState","useBoardState","loadFen","pieces","useBoardPieces","checkSquareState","useMemo","selectedSquare","setSelectedSquare","legalMoves","setLegalMoves","imperativeHighlights","setImperativeHighlights","premove","setPremove","clearPremove","consumePremove","usePremove","promotionState","setPromotionState","resolvedRenderer","DefaultPieceSet","code","size","renderer","jsx","View","style","isPromotionMove","from","to","piece","find","p","square","toRank","color","handlePieceSelected","getLegalMoves","handleSelectionCleared","handlePieceMoved","result","applyMove","applied","handlePromotionSelect","promo","toLowerCase","choice","handlePromotionCancel","handlePremoveSet","pm","premovePiece","consumed","promotion","richCallbacks","premoveCallbacks","onPremoveSet","gesture","gestureState","useBoardGesture","callbacks","onPieceSelected","onPieceMoved","onSelectionCleared","currentTurn","useImperativeHandle","move","moveArg","highlight","prev","filtered","filter","h","clearHighlights","resetBoard","newFen","undo","prevFen","undoMove","clearPremoves","flex","aspectRatio","onLayout","GestureDetector","children","jsxs","undefined","accessibilityLabel","accessibilityRole","BoardBackground","lightColor","light","darkColor","dark","BoardCoordinates","BoardHighlights","checkSquare","checkColor","selectedColor","premoveSquares","DragTargetHighlight","dragTargetSquare","BoardLegalDots","BoardPiecesLayer","activeSquare","isDragging","BoardArrows","BoardAnnotations","BoardDragGhost","dragX","dragY","dragPieceCode","PromotionPicker","pieceColor","onSelect","onCancel"],"sourceRoot":"..\\..\\src","sources":["board.tsx"],"mappings":"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","ignoreList":[]}
@@ -65,6 +65,7 @@ function useBoardState(initialFen) {
65
65
  }, []);
66
66
  const getFen = (0, _react.useCallback)(() => chessRef.current.fen(), []);
67
67
  const getTurn = (0, _react.useCallback)(() => chessRef.current.turn(), []);
68
+ const isInCheck = (0, _react.useCallback)(() => chessRef.current.isCheck(), []);
68
69
  return {
69
70
  getLegalMoves,
70
71
  isPlayerPiece,
@@ -72,7 +73,8 @@ function useBoardState(initialFen) {
72
73
  undoMove,
73
74
  loadFen,
74
75
  getFen,
75
- getTurn
76
+ getTurn,
77
+ isInCheck
76
78
  };
77
79
  }
78
80
  //# sourceMappingURL=use-board-state.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_chess","useBoardState","initialFen","chessRef","useRef","current","Chess","getLegalMoves","useCallback","square","moves","verbose","map","m","to","isCapture","captured","undefined","isPlayerPiece","pieces","player","piece","find","p","pieceColor","color","applyMove","from","promotion","move","applied","fen","undoMove","result","undo","loadFen","load","getFen","getTurn","turn"],"sourceRoot":"..\\..\\src","sources":["use-board-state.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_chess","useBoardState","initialFen","chessRef","useRef","current","Chess","getLegalMoves","useCallback","square","moves","verbose","map","m","to","isCapture","captured","undefined","isPlayerPiece","pieces","player","piece","find","p","pieceColor","color","applyMove","from","promotion","move","applied","fen","undoMove","result","undo","loadFen","load","getFen","getTurn","turn","isInCheck","isCheck"],"sourceRoot":"..\\..\\src","sources":["use-board-state.ts"],"mappings":"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","ignoreList":[]}
@@ -32,20 +32,24 @@ function animateValue(target, config, moveDuration) {
32
32
  /**
33
33
  * A single animated chess piece.
34
34
  *
35
- * Animates ONLY `transform` and `opacity` Reanimated's fast path on Android.
36
- * No layout properties (top/left/width/height) are animated, avoiding costly
37
- * layout recalculations on low-end devices.
35
+ * Uses two nested Animated.Views to avoid the Reanimated warning
36
+ * "Property opacity may be overwritten by a layout animation":
37
+ *
38
+ * Outer view: position (transform) + exiting layout animation (FadeOut)
39
+ * Inner view: drag-hide opacity
40
+ *
41
+ * Only `transform` and `opacity` are animated — Reanimated's fast path
42
+ * on Android. No layout properties (top/left/width/height), avoiding
43
+ * costly layout recalculations on low-end devices.
38
44
  *
39
45
  * During drag:
40
- * - Original piece hides (opacity: 0) — the drag ghost shows instead
41
- * - No position changes on the original piece during drag
46
+ * - Inner view hides (opacity: 0) — the drag ghost shows instead
42
47
  *
43
48
  * After a move:
44
- * - Snaps to new position via withTiming/withSpring on translateX/translateY
45
- * - Animation style controlled by user's animationConfig or moveDuration
49
+ * - Outer view snaps to new position via withTiming/withSpring
46
50
  *
47
51
  * On capture (unmount):
48
- * - Fades out via Reanimated's `exiting` prop (FadeOut)
52
+ * - Outer view fades out via exiting FadeOut (no conflict with inner opacity)
49
53
  */
50
54
  export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
51
55
  targetX,
@@ -69,15 +73,21 @@ export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
69
73
  currentX.value = animateValue(targetX, animationConfig, moveDuration);
70
74
  currentY.value = animateValue(targetY, animationConfig, moveDuration);
71
75
  }, [targetX, targetY, animationConfig, moveDuration, currentX, currentY]);
72
- const animatedStyle = useAnimatedStyle(() => {
76
+
77
+ // Position style on outer view — no opacity here to avoid conflict
78
+ // with the FadeOut exiting layout animation
79
+ const positionStyle = useAnimatedStyle(() => ({
80
+ transform: [{
81
+ translateX: currentX.value
82
+ }, {
83
+ translateY: currentY.value
84
+ }]
85
+ }));
86
+
87
+ // Drag-hide opacity on inner view — separate from the exiting animation
88
+ const opacityStyle = useAnimatedStyle(() => {
73
89
  const isBeingDragged = isDragging.value && activeSquare.value === square;
74
90
  return {
75
- transform: [{
76
- translateX: currentX.value
77
- }, {
78
- translateY: currentY.value
79
- }],
80
- // Hide original piece during drag — drag ghost renders on top
81
91
  opacity: isBeingDragged ? 0 : 1
82
92
  };
83
93
  });
@@ -86,11 +96,18 @@ export const BoardPieceView = /*#__PURE__*/React.memo(function BoardPieceView({
86
96
  position: 'absolute',
87
97
  width: squareSize,
88
98
  height: squareSize
89
- }, animatedStyle]
90
- // Fade out when this piece is captured (removed from the piece list)
99
+ }, positionStyle]
100
+ // Fade out when this piece is captured (removed from the piece list).
101
+ // Lives on the outer view so it doesn't conflict with the
102
+ // drag-hide opacity on the inner view.
91
103
  ,
92
104
  exiting: FadeOut.duration(CAPTURE_FADE_DURATION),
93
- children: children
105
+ children: /*#__PURE__*/_jsx(Animated.View, {
106
+ style: [{
107
+ flex: 1
108
+ }, opacityStyle],
109
+ children: children
110
+ })
94
111
  });
95
112
  },
96
113
  // Custom comparator: only re-render when position, square, or animation config changes
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","Animated","useAnimatedStyle","useSharedValue","withTiming","withSpring","FadeOut","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","jsx","_jsx","animateValue","target","config","moveDuration","type","damping","stiffness","mass","duration","BoardPieceView","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","currentY","value","animatedStyle","isBeingDragged","transform","translateX","translateY","opacity","View","style","position","width","height","exiting","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","Animated","useAnimatedStyle","useSharedValue","withTiming","withSpring","FadeOut","DEFAULT_MOVE_DURATION","CAPTURE_FADE_DURATION","jsx","_jsx","animateValue","target","config","moveDuration","type","damping","stiffness","mass","duration","BoardPieceView","memo","targetX","targetY","squareSize","animationConfig","children","activeSquare","isDragging","square","currentX","currentY","value","positionStyle","transform","translateX","translateY","opacityStyle","isBeingDragged","opacity","View","style","position","width","height","exiting","flex","prev","next"],"sourceRoot":"..\\..\\src","sources":["board-piece.tsx"],"mappings":"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","ignoreList":[]}