Skip to content
Draft

V3 #123

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
46a3c4c
feat(uci): add adapter seam and convert globals to struct types
CorentinGS Jun 2, 2026
f016815
Optimize opening book construction and lookup
CorentinGS Jun 19, 2026
d41d62b
Redesign image SVG rendering API
CorentinGS Jun 19, 2026
25d403e
Separate Move values from MoveNode tree nodes
CorentinGS Jun 19, 2026
cd966b1
Fix Game split outcomes and PGN results
CorentinGS Jun 19, 2026
5811e2c
Guard Game moves after terminal outcomes
CorentinGS Jun 19, 2026
a63b08c
Finalize UCI adapter seam
CorentinGS Jun 19, 2026
715fe0f
Extract PGN rendering from Game
CorentinGS Jun 19, 2026
a5c26c4
Update module path to v3
CorentinGS Jun 19, 2026
1baef71
Add v3 migration guide
CorentinGS Jun 19, 2026
fd96c10
Fix README examples to compile on v3
CorentinGS Jun 19, 2026
00d4d6a
Untrack internal docs from v3 branch
CorentinGS Jun 19, 2026
e6a0ff1
Migrate golangci-lint config to v2 schema
CorentinGS Jun 19, 2026
f07015c
Precompute Opening Game per ADR-005
CorentinGS Jun 19, 2026
f4064ba
Use non-allocating equality in samePosition fallback
CorentinGS Jun 19, 2026
f99c1b6
Restore doc comments on UCI exported APIs
CorentinGS Jun 19, 2026
c9fdb76
Clean up stale terms, doc examples, and dead code
CorentinGS Jun 19, 2026
019e2b1
Add v3 beta release notes to CHANGELOG
CorentinGS Jun 19, 2026
13435de
Export SamePosition and align ADR-007 with implementation
CorentinGS Jun 19, 2026
3b1668c
Align ADR-005 and RFC-001 with Opening.Game Clone decision
CorentinGS Jun 19, 2026
6b6f96b
Rename test functions from Branch to Variation per CONTEXT.md
CorentinGS Jun 19, 2026
8c526fc
Fix UCINotation.Decode validation of second square
CorentinGS Jun 19, 2026
0625e42
Add explicit parens to parseMove piece-type condition
CorentinGS Jun 19, 2026
16d69b9
Guard AddVariation against nil parent
CorentinGS Jun 19, 2026
8e48ec2
Store CmdPosition by value in UCI engine
CorentinGS Jun 19, 2026
6845c5b
Name moveKey bit constants and align ADR-005 bit layout
CorentinGS Jun 19, 2026
0849ab6
Replace moveStringKey with UCINotation.Decode
CorentinGS Jun 19, 2026
c1690f8
Inline Possible() traversal to drop intermediate node slice
CorentinGS Jun 19, 2026
0ef3008
Move BenchmarkDefaultBookCached to benchmark file
CorentinGS Jun 19, 2026
dcbbcf9
Add Zobrist hash collision fallback regression test
CorentinGS Jun 19, 2026
0923631
Replace 'turn management' in package doc per CONTEXT.md
CorentinGS Jun 19, 2026
2037e1e
fix(engine): store movePool as *sync.Pool to avoid lock copies
CorentinGS Jun 19, 2026
9dfd276
test: migrate public-API tests to external chess_test package
CorentinGS Jun 19, 2026
6aff8e5
test: improve coverage, table-driven cases, and edge cases for migrat…
CorentinGS Jun 19, 2026
1f727eb
perf: add PGN benchmark baseline and initial optimizations
CorentinGS Jun 27, 2026
d6e7eaa
perf(pgn): defer parser status evaluation
CorentinGS Jun 27, 2026
873105d
perf(engine): add legal move status fast path
CorentinGS Jun 27, 2026
6c768fa
perf(board): update touched pieces directly
CorentinGS Jun 27, 2026
76ea2ac
perf: optimize scalar hot path helpers
CorentinGS Jun 27, 2026
a4e5c3b
perf(game): reduce status allocation checks
CorentinGS Jun 27, 2026
6773545
fix(pgn): drop unused return values and Sprintf anti-patterns
CorentinGS Jun 27, 2026
5ee4718
Share parser starting position
CorentinGS Jun 27, 2026
2a62f5c
Iterate move sources by occupied bits
CorentinGS Jun 27, 2026
ea2c58a
Use lookup tables for sliding attacks
CorentinGS Jun 27, 2026
b46a812
Add fast legal move lookup for positions
CorentinGS Jun 27, 2026
d0ffd92
Pool scanner token slices
CorentinGS Jun 27, 2026
928b09c
Add null move support with PGN extended format and ChessBase compatib…
CorentinGS Jun 28, 2026
0398352
Merge branch 'main' into v3
CorentinGS Jun 28, 2026
614191f
refactor: deduplicate PGN result vocabulary
CorentinGS Jun 28, 2026
5bc0c9b
optimize: add first-byte guard to checkForResult hot path
CorentinGS Jun 28, 2026
7553695
Add streaming PGN decoder shell
CorentinGS Jun 28, 2026
d53fa7b
Add PGN record stream framer
CorentinGS Jun 28, 2026
4051a28
Refactor PGN parser to token source
CorentinGS Jun 28, 2026
19e7d12
Add parallel PGN Game decoding
CorentinGS Jun 28, 2026
9ddb541
Add PGN event and tag streaming
CorentinGS Jun 28, 2026
3ae0636
Remove legacy PGN import API
CorentinGS Jun 28, 2026
d88dad0
Optimize streaming PGN decode
CorentinGS Jun 28, 2026
d46fa1f
Add perft
CorentinGS Jun 28, 2026
8dbdbb5
test: pin v3 API freeze behaviors
CorentinGS Jun 28, 2026
675f9e2
docs: add godoc testable examples
CorentinGS Jun 28, 2026
22ca966
docs(migration): document NullMove and expand MoveNodes-vs-Moves
CorentinGS Jun 28, 2026
f61fed9
chore: strip stale benchmark artifacts and document benchstat workflow
CorentinGS Jun 28, 2026
ce4cafc
docs: fix README v3 incompatibilities
CorentinGS Jun 28, 2026
ac5a666
chore(deps): bump actions/checkout and codecov-action to v7
CorentinGS Jun 28, 2026
fac3b12
Appy code review
CorentinGS Jun 28, 2026
db652f8
Extract applyMove core and rewrite Update to use it
CorentinGS Jun 28, 2026
1f99b55
Rewrite makeMove to call applyMove
CorentinGS Jun 28, 2026
62e0a68
Rewrite nullUpdate to use nextMoveCount and relocate to move_applier
CorentinGS Jun 28, 2026
f2ff3f4
Add TestApplyMoveDifferential lockstep test
CorentinGS Jun 28, 2026
075152e
Address review nits across move_applier
CorentinGS Jun 28, 2026
81b00f9
Refactor Game to own MoveTree API
CorentinGS Jun 28, 2026
e97fc26
Split engine.go by responsibility into 6 cohesive files
CorentinGS Jun 28, 2026
56d53ac
golden tests
CorentinGS Jun 28, 2026
4527bed
fix nag, add regression tests, migrate scanner to framer
CorentinGS Jun 28, 2026
53e2f05
Add shared SAN move resolver
CorentinGS Jun 28, 2026
068e19a
Introduce MoveTextCodec API
CorentinGS Jun 28, 2026
4267475
Move PGN read/write onto SAN codecs
CorentinGS Jun 28, 2026
99203bd
Move Game move-text APIs onto codecs
CorentinGS Jun 28, 2026
9bce025
Add unsafe move-text fast path
CorentinGS Jun 28, 2026
26b1945
Remove legacy notation API
CorentinGS Jun 28, 2026
e99438c
some improvements
CorentinGS Jun 29, 2026
d6a1796
Improve PGN full decode performance
CorentinGS Jun 29, 2026
7fed4c1
apply linter
CorentinGS Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
go-version: '^1.26'
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Set up Go
id: setup-go
Expand All @@ -34,7 +34,7 @@ jobs:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Set up Go
uses: actions/setup-go@v6
Expand All @@ -45,7 +45,7 @@ jobs:
run: go test -v ./... -coverprofile=coverage.txt -covermode=atomic

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v6
uses: codecov/codecov-action@v7
with:
file: ./coverage.txt
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -57,7 +57,7 @@ jobs:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Set up Go
uses: actions/setup-go@v6
Expand All @@ -79,7 +79,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Generate changelog
uses: release-drafter/release-drafter@v7
Expand All @@ -93,7 +93,7 @@ jobs:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Generate Go Report Card
uses: creekorful/goreportcard-action@v1.0
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ _testmain.go

# Benchmarking
cpu.out

# Coverage
coverage.out
.idea
stockfish
.worktrees/
Expand Down
Loading
Loading