Skip to content

Releases: abucnasty/clock-generator

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 21:55
f54f2a2

Fixed

  • Belt pickups match the game at all four belt speeds (normal, fast, express and turbo), on moving and backed-up belts, in every supported pickup layout.
  • Backed-up belts run out of reachable stacks and refill at belt speed instead of supplying a stack every tick. The arm's reach between grabs is modelled too.
  • Inserters dropping onto a belt wait for real space on it, at all four speeds.
  • A belt-fed inserter takes its first stack in the same tick as in the game, both after waiting for room in its machine and when its window opens as the machine's products are taken.
  • Input windows close before their last return swing, so a belt-fed inserter no longer picks up an extra stack and over-produces.
  • Startup is predicted from placement: a clock enables nothing in its first two ticks, as in the game.
  • Stable verdicts are stricter. Long-run output and recovery after a loss are proven by an exact repeat of the simulated state, and moving input lanes are checked out of step as well as aligned.
  • Builds the game holds now get a stable clock where the generator missed one: the express moving undergrounds, the over-the-hood two-ingredient builds, and the normal backed-up undergrounds and front exit.
  • In Node, a config missing an inserter is refused with the missing inserters, instead of running until the simulation's tick limit.
  • Inserter kind, quality and filter mode are read from Sidecar 0.11.0 captures. Older captures ran every inserter as a legendary stack inserter, so they ask for a recapture.

Added

  • When no clock is stable, the result and the result card say why: the belt's lane phases, the losses it does not get back from, or the closest rate when nothing holds (#288).
  • A warning for belt pickups whose timing is not tested in the game: belt stacks other than 4, or hands other than 16.
  • Underground pickup layouts are named: side entrance or exit, front entrance or exit, or over the exit's hood. Manual underground configs need a layout, and older Sidecar captures need a recapture.
  • Sidecar 0.11.0 captures pickups over an underground exit's hood and in front of an underground entrance, with their preferred lane and half-tile reach.
  • Each pickup keeps its capture status through import, saving and export; a capture that is unclassified or unsupported has to be recaptured before generating.

Changed

  • A config that asks one belt lane for more items a second than it carries is refused, with the numbers. Over capacity only when all copies are counted, it is a warning.
  • Belt pickups from a tile another belt side-loads onto are refused with the reason, as splitter pickups are. So are belt pickups by any inserter but the legendary stack inserter, and blacklist filters.
  • Generating clocks takes about a fifth less time than 0.18.0 overall; builds with moving belt pickups take longer (#244, thanks blousy).
  • The one-swing clock is checked first, so a verified clock can be inspected while the other alternatives run.
  • The metallurgic science example matches its build: the game's machine speeds, its inserters' lanes, and a pack chest that removes the packs.

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 16:52
9b88249

Fixed

  • Model moving belt pickups from the stacks within reach, including the shorter exposed length at underground entrances and exits. Try the nearest lane first and fall back to the other lane when it carries the same item. This corrects pickup timing and generated clocks on affected builds.

Added

  • Choose Straight belt or Underground belt for each belt-fed inserter in either editor. Sidecar 0.9.1 captures supported pickup geometry and identifies bends, splitters and inline pickups it cannot classify. Imports and saved results show pickup coverage and the assumptions used for that run.

Changed

  • Omitted pickup length defaults to a straight belt in the UI and engine. Underground pickups explicitly use half-tile reach.
  • Use Moving or Backed up consistently for input supply, independently of pickup geometry. The config setting is overrides.backed_up_belts; older non_moving_belts settings migrate on import. Editing either supply or geometry marks previous results out of date.

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 23:13
b042bdf

Added

  • Keep several named builds in the browser: create, duplicate, rename, switch, and share build links. Undo edits, removals, and whole-build replacements.
  • Restore compatible saved results after a reload and remember each build's working views and page position. Cancel a run while retaining previous results or the clocks already found.
  • Start with an example, build by hand, or follow the Sidecar paste guide. Import previews show what will be replaced and offer a suggested target recipe, rate, and Copies.
  • Simplify verified repeated layouts into one complete group plus Copies, preserving total target output, with a preview and whole-build Undo.
  • Bulk-edit selected inserters' stack sizes, filters, and enable rules, including returning settings to Automatic.
  • Inspect the selected clock's wake windows, machine activity, inventories, crafting cycles, and item transfers. Replay recorded item flow on the build diagram, step through a selected route's transfers, and inspect connected entities.
  • Open the selected clock workspace fullscreen, switch clocks there, and use a dedicated installation guide and wiring reference.
  • Infinity chests support Remove unfiltered items, including empty chests that remove all incoming items. Sidecar 0.8.0 exports this setting and reads configured filters instead of current contents.

Changed

  • A fresh coat of factory paint: a reimagined Clock Generator experience. Configure uses one compact Build layout with category help and entity settings on demand. Machine rates can show maximum capacity or their share of the target output.
  • Results lead with the recommended clock, explain its selection and assumptions, and keep clock comparison, deeper searches, and developer details available when needed.
  • Generate checks the current build first; Check only inspects the plan without generating clocks. Validation points to the problem, shows machine capacity when the target is too high, and offers connection and chest repairs.
  • Warn when a final buffer chest can fill up, and offer conversion to an infinity chest or enabling disposal on an existing one. Chest and missing-connection problems share one validation flow.
  • Item and recipe pickers show searchable game names and icons; entity pickers group and filter by type. Enable-rule editing adds plain-language summaries, timing previews, context-aware templates, and confirmation before replacing or discarding drafts.
  • Mark results that belong to an earlier build, explain what changed, and confirm before copying their blueprint. Generate and Copy are highlighted as the next step in a responsive sticky toolbar; messages no longer cover the editor.
  • Add light and system theme choices under More options, with dark as the default. Diagrams use a shared tile grid; keyboard focus, accessible control names, chart patterns, and narrow-screen layouts are improved.

Fixed

  • Each completed generation selects its new recommended clock, including after switching builds.
  • Empty infinity chests retain their inserter connections when imported from the sidecar.
  • Preserve custom enable rules, fractional Copies, and automatic inserter capacity through editing and imports; Backspace in an editor no longer deletes the selected inserter.
  • Diagram routes avoid node overlaps and separate shared paths. Selection and replay stepping follow connected routes consistently, with transfer quantities shown only at the recorded transfer tick.
  • Opening category pickers reveals the current selection. Fullscreen floating labels stay below the tabs, and the footer no longer hides page content.

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 20:04
97350be

Added

  • Where one ingredient alone lengthens the period, clocks with a shorter period are offered too, with that ingredient's inserters still clocked; Thaeln's cell now has a working clock at 480/s.
  • check_start_dependence override (config only): tries every clock from other starts and names the ones that reach the target from some starts only.
  • A belt sink may name the lane and position an inserter drops onto (drop), for a moving lane shared with other inserters.

Changed

  • Clocks are judged from the start the game build has (belts full, machines empty), so some verdicts and selections change.

Fixed

  • A belt-fed inserter whose window opens while its machine is full starts a tick later, a machine puts out held products as soon as there is room, and inserters taking from one machine take turns, as in the game; some results change.

v0.15.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 04:44
da6867f

Fixed

  • Belts carrying the same items on opposite lanes are exported as two belts (sidecar 0.7.1), so an inserter's nearest lane is read from its own belt; the generator asks for sidecar 0.7.1.

v0.15.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 03:42
bf5dfc2

Fixed

  • Machine facts show the output block where a machine stops taking ingredients (146 for a cryogenic plastic plant, was 100).
  • Output feeders and OUTPUT_BLOCK conditions use that block when it is above a stack.

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 00:52
7b7b4a2

Changed

  • copies may be a fraction such as 5.5, for a build that holds part of a block.
  • The chemical science samples are replaced by one shared-foundry block at 5.5 copies.

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 20:31
b29e79e

Changed

  • Game data from Factorio 2.1.21; the calls header shows the game version.
  • Unsupported builds are refused with the reason and the roadmap item that adds them (docs/ROADMAP.md).
  • Inserters onto a belt or into a chest may filter any item.
  • Inserters can name their kind and quality (prototype, quality); stack_size is now optional. Belt timing for kinds other than the legendary stack inserter is not checked yet.
  • A config that repeats one unit several times is refused; describe one unit and set copies.

Fixed

  • Long chains no longer fail with "Invalid input format".

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 17:57
231db86

Changed

  • The wake-ups a clock is ranked and selected by now count an inserter waiting to put items into a machine as woken when the machine starts a craft, not when it finishes one or pays out a productivity bonus, which wakes no input. The inserters that take from a machine are still woken by its finished crafts and payouts. On builds with productivity the figures shown for every clock fall: on the advanced circuit build with its belts standing still, from 509.6 to 400.6 wake-ups a minute; on the low density structure build from 703.1 to 590.6; on agricultural science from 3,651 to 2,703. A few rise, where a machine stands idle between crafts and its start falls on another tick than its last finish: metallurgic science from 954 to 1,089. No build selects another clock. A recording of the game shows the same count, read from each machine's status and finished products, and says for each machine how far that reading has been checked: on biochambers it is known to miss, on machines never recorded it is not checked.

v0.12.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 17:34
fc548ad

Changed

  • The mechanism the clocking advice rests on, that a productivity payout does not wake an inserter waiting to put items into a machine, is now confirmed on a second design with the same kind of machine (the advanced circuit electromagnetic plant). Other kinds of machine are not tested. Text only: no clock, selection or call changes.