Milestones
List view
DECISION. No code. Parked idea lists: what the Metal renderer's headroom could enable (#127) and Metal compute offload for fog/tile-grid resolution (#160). Camera-follow from #127 is already filed as #172. File real issues only when an idea is greenlit. Close when each issue has a ship-or-park comment.
Due by May 2, 2027•0/2 issues closedDECISION. No code. Question: do we ship a robots plugin with a BASIC-style bot language (#57)? Executable plugins are explicitly out of scope for v1.7 packs. Close when a ship-or-park ruling is written on #57.
Due by May 2, 2027•0/1 issues closedDECISION. No code. Question: which new mechanics (smoke shells #134, water mines #135, 2x2 pill formation unlock #136) are worth building, and which need a wire change. Moved out of v1.7.0, which is data-only presentation packs with physics and wire unchanged. Wire-touching items belong on v2.0.0. Close when a one-line ruling is on each issue.
Due by May 2, 2027•0/3 issues closedDECISION. No code. Question: classic BMAP, additive extension, or new .map format (#130)? That ruling gates the editor (#131) and the Tiled authoring path (#132). If additive or new, move implementation to a v2.* release; if classic, the editor may fit a v1.* release. Close when a one-line ruling is on #130.
Due by May 2, 2027•0/3 issues closedPATCH. Removes two always-on full-grid terrain compares that run every tick, using a revision counter like FogState.revision (#159). Behavior unchanged. Also the real prerequisite if larger maps are ever ruled in (#28). Wire unchanged.
Due by December 10, 2026•0/1 issues closedPATCH. Continues the 1.6.* visual + play parity arc. Tank-follow scrolling, the 16-slot ownership overview from the original status panel, and documenting single-Mac tabbed-window play. Also carries the two manual two-Mac QA runs (controller, key bindings) that were dropped when v1.5.2 closed. Wire unchanged. Ships between planned sprints.
Due by October 29, 2026•0/5 issues closedRELEASE. First wire-breaking release. Tag v2.0.0 and update docs/STATUS.md when every issue is closed. Scope comes from the Decide milestones on Project 2 (larger maps #28, map format #130, new combat mechanics #134-#136, physics #40-#42, and any other ruling that needs a wire or save-format change). Wire-compatible work stays on v1.* releases. Empty until a ruling moves an issue here. Due date set when scope is known.
No due dateRULING, no code. Would need a versioned/breaking wire+save-format change (coordinates are UInt8 on the wire and in .bmap, plus the tank position's 8.8 fixed-point encoding assumes a 256-tile domain -- matches the oracle's own wire format, not a port shortcut) and a fix for two always-on full-grid per-tick CPU costs before it's safe at 4x tile count. See issue body for the full writeup.
Due by December 1, 2027•0/1 issues closedRELEASE. Tag v1.8.0 and update docs/STATUS.md when every issue is closed. Bonjour + AWDL LAN discovery, dedicated headless host, and WAN discovery: a BoloKit HTTP heartbeat tracker as the default, tracker.xbolo.org as opt-in legacy, invite codes, federated trackers, and privacy guardrails. No longer env-blocked: the NWListener EINVAL was a port bug (listener set the port twice), fixed on main via PR #58. Live LAN verification still needs two Macs. Discovery only; the session fabric stays Bolo TCP+UDP and the wire is unchanged. Two 2-week sprints (22 Feb-5 Mar and 8-19 Mar 2027).
Due by March 19, 2027•0/9 issues closed- Due by May 24, 2027•0/1 issues closed
DECISION. No code. Explore when compute time is available. Question: is an additive classic|space physics plugin worth building, or do v1.7 presentation packs cover reskins? Two contexts: (1) motion — inertia, friction, gravity; (2) combat — firing range, shell/torpedo speed, explosive force, kick. Classic tankMoveTick / Physics.swift / DifferentialTests stay the oracle — never fork in place. If yes, move work to a future v1.* release. If no, close children as not_planned. Motion sketch: road=open space (no friction), grass=dust, trees=meteor gravity, walls=attractor by area, tank=spacecraft, base=station, mine=mine, shell=torpedo. Combat sketch: own table vs bolo.h (maxShellRange, shellVelocity, kickForce, pill range, mine blast). See #42.
Due by May 3, 2027•0/3 issues closedRELEASE. Tag v1.7.0 and update docs/STATUS.md when every issue is closed. Data-only presentation packs (sprites, sounds, labels, maps). BoloKit physics and wire unchanged. Default pack = current Bolo (bolo-classic). Example Pelagic pack proves the seam: road=open ocean, grass=shallow seas, trees=fouled water, tank=submarine, boat=hovercraft, builder=diver, shells=torpedoes, bases=refueling ships. Two 2-week sprints (4–15 Jan and 25 Jan–5 Feb 2027; rescheduled 2026-09-30 after v1.6.x shipped early, skipping the windows that contain 25 Dec, 1 Jan and MLK Day). Scope trimmed 2026-09-30: map editor, Tiled path, new combat mechanics and bots moved to Decide milestones. No executable plugins.
Due by February 5, 2027•2/10 issues closedDECISION. No code. Product/fidelity rulings, not features. #5 Q14: which C explosions-owner site, or keep Swift shell-owner and document the deviation? #7 D155(2): live repro vs C, or close as fidelity? Do not fix without a repro. Close when a one-line ruling is on each issue. Code only if the ruling says so — then move that issue to the next open release milestone.
Due by May 3, 2027•2/3 issues closedDECISION. No code. Question: is an on-device coach a product we ship, or README learning-only? Recommended: off-sim only (map briefing / key help), never tick/wire. If yes-ship, move to a release after v1.4. If learning-only, not_planned. Close when that binary choice is written on #31.
Due by May 3, 2027•0/1 issues closedDECISION. No code. Question: enroll in paid ADP + App Store Connect, or stay Apple Development–signed? Recommended: do not enroll just for Game Center. Tracker + Bonjour + bolo:// cover LAN/WAN. Notarization stays out of scope even if we enroll later. Close when a ruling is written on #10, then close children as not_planned or move them to a release milestone.
Due by May 3, 2027•0/4 issues closedDECISION. No code. Question: after v1.3 Bonjour+AWDL, do we need Wi-Fi Aware? Recommended: park. Pairing UX is accessory-shaped; inferior to Bonjour+AWDL for two Macs at a table. Reopen only if v1.3 fails in the field. Close when #29 is not_planned or moved to a post-v1.3 release with a field repro.
Due by May 3, 2027•0/1 issues closed