Commit Graph
149 Commits
Author SHA1 Message Date
LSaldyt 80b6e49581 WIP 2017-10-26 12:52:58 -07:00
LSaldyt 2187511706 Adds plot saving 2017-10-26 11:00:08 -07:00
LSaldyt 50bbb468b7 Separates style 2017-10-25 20:06:10 -07:00
LSaldyt 8227072ebd Converts to ttk 2017-10-25 19:31:13 -07:00
LSaldyt 8143259170 Adds interval-updated list widgets 2017-10-25 19:19:25 -07:00
LSaldyt cc35cb9de2 Adds play on go 2017-10-25 10:54:54 -07:00
LSaldyt 2cf1320672 Creates a GUI specific runnable 2017-10-25 10:21:07 -07:00
LSaldyt 3a6b2ac18f Adds logging and basic object view 2017-10-24 13:29:57 -07:00
LSaldyt 433067a045 Fixes some displays 2017-10-22 13:15:26 -07:00
LSaldyt dcf5b252c3 Adds entry method 2017-10-22 13:05:28 -07:00
LSaldyt 354470bcd7 Adds live temperature and answer graphs 2017-10-21 15:24:53 -07:00
LSaldyt 0a8a9a8f23 Adds GridFrame and Step button 2017-10-21 14:36:04 -07:00
LSaldyt aa218988fd Adds play/pause button 2017-10-21 14:12:42 -07:00
LSaldyt 0d972a6776 Removes log 2017-10-21 14:12:33 -07:00
LSaldyt 95eb1a0b97 Updates to dark theme 2017-10-21 13:38:38 -07:00
LSaldyt f51525450d Creates primary gui frame class 2017-10-21 12:53:23 -07:00
LSaldyt 9d06021f5d WIP unify GUI 2017-10-21 12:32:35 -07:00
LSaldyt 71c7b34f63 GUI Progress: Inline animated graphs 2017-10-21 10:41:46 -07:00
LSaldyt aafb0de433 Makes GUI stretchy 2017-10-20 11:42:22 -07:00
LSaldyt ebee40323c WIP 2017-10-18 10:29:03 -07:00
LSaldyt dd0e7d8f37 Adds codelet list display 2017-10-13 15:24:47 -06:00
LSaldyt fffc4863f2 Adds slipnode list 2017-10-13 15:15:45 -06:00
LSaldyt 5d82c5186e Adds main canvas and improved temp reading 2017-10-13 14:53:36 -06:00
LSaldyt 23def40750 Fixes main display size 2017-10-12 18:00:07 -06:00
LSaldyt 67fdcc70e7 WIP 2017-10-11 19:58:03 -06:00
LSaldyt c90dbd91e7 WIP 2017-09-28 15:44:41 -06:00
LSaldyt 6d42f2c1a4 Changes default window size to 1200x800 2017-09-28 15:37:09 -06:00
LSaldyt 33e2eb980d Fixes slipnode display 2017-09-28 15:35:15 -06:00
LSaldyt 70494daf2c WIP gui changes 2017-09-28 10:53:37 -06:00
LSaldyt ae24034288 WIP add gui elements 2017-09-27 12:30:42 -06:00
LSaldyt 9a2a30ea4c Adds very simple gui to copycat 2017-09-27 11:38:32 -06:00
LSaldyt 4348554fa7 Add simple matplotlib bar plots per run 2017-09-26 21:16:20 -06:00
LSaldyt bc848e8f2d Ports to Python3 2017-07-31 17:08:26 -06:00
Arthur O'Dwyer 318d0e2349 Fix a lot of crashes with empty or single-letter inputs. 2017-05-03 02:01:57 -07:00
Arthur O'Dwyer 2a48245c15 Add "frames per second" to the CursesReporter.
You can now set the FPS goal with `--fps=10` (or whatever) on the command line;
and the current (measured) FPS is displayed in the lower right corner.

During the run, you can bump the FPS goal up and down with `F` and `f` respectively!
2017-05-02 18:37:40 -07:00
Arthur O'Dwyer 0eec6a5259 Massively improve CursesReporter.
The Slipnet itself turns out to be boring to look at.
More interest is found in the Workspace structures, such as bonds,
groups, and correspondences.

The old behavior of `curses_main.py` is still accessible via

    python curses_main.py abc abd xyz --focus-on-slipnet
2017-05-02 18:01:46 -07:00
Arthur O'Dwyer ef4a9c56c5 Try to fix up breakGroup.
With the new CursesReporter, I'm able to observe groups getting built
and broken; and I observed that sometimes a Bond (between a Letter and
a Group) would apparently survive the Group's breaking.
Reorder the operations in `breakGroup` so that the higher-level ones
("detach this Group from its external bonds") come strictly before
the lower-level ones ("ungroup this Group's members and remove this
Group from the Workspace, thus destroying it").

However, the "buggy" behavior I observed turned out to be due to a bug
in my display code and not due to anything wrong with `breakGroup`.
I suspect this patch is actually purely cosmetic.
2017-05-02 17:46:25 -07:00
Arthur O'Dwyer 730239f464 Rip out dead Bond.destinationIsOnRight and Bond.bidirectional. NFC. 2017-05-02 12:37:15 -07:00
Arthur O'Dwyer 5793fb887c Rip out dead method morePossibleDescriptions. NFC.
This code is already present in `getPossibleDescriptions`... which is
also a terrible function from the philosophical point of view, because
it secretly encodes knowledge about every predicate known to the system.
2017-05-02 11:33:43 -07:00
Arthur O'Dwyer 864c28609c Smartness update! A single letter is both "leftmost" and "rightmost".
Before this change, Copycat was unable to formulate more than the empty rule for
    abc : abd :: f : f
    abc : dbc :: f : f
    abc : aac :: f : f
After this change, Copycat strongly prefers
    abc : abd :: f : g  ("Replace the rightmost letter with its successor")
    abc : dbc :: f : d  ("Replace the leftmost letter with d")
    abc : aac :: f : e  ("Replace the middle letter with its predecessor")
2017-05-02 11:17:23 -07:00
Arthur O'Dwyer ecc2c2e407 Add report_workspace() to Reporter, and remove dead rules from the workspace.
I think the change to `workspace.breakRule()` is harmless. In theory, it
should make Copycat less hesitant to come up with rules that conflict with
the already-broken rule.
2017-05-01 15:28:38 -07:00
Arthur O'Dwyer 25d73785de Further Pythonicity. NFC. 2017-05-01 13:07:19 -07:00
Arthur O'Dwyer ceaf640147 Remove some more logging cruft. NFC. 2017-04-30 15:26:19 -07:00
Arthur O'Dwyer c4e30f7399 Make possibleGroupBonds into a member function of Bond. NFC. 2017-04-30 15:18:19 -07:00
Arthur O'Dwyer 7947e955d7 More Pythonicisms. NFC. 2017-04-30 14:45:20 -07:00
Arthur O'Dwyer ddfb34973d Rip out unused coderack.postings and coderack.runCodelets. NFC. 2017-04-30 10:38:42 -07:00
Arthur O'Dwyer f9fc255151 Refactor coderack.probabilityOfPosting. NFC. 2017-04-30 10:27:55 -07:00
Arthur O'Dwyer 48c45e4b0a Fix more flake8 cruft; remove a bunch of logging. 2017-04-29 15:55:54 -07:00
Arthur O'Dwyer c9bc26e03d Minor Pythonicisms. NFC. 2017-04-29 14:29:43 -07:00
Arthur O'Dwyer 11e9571ee0 Oops, add Reporter to the list of exported names. 2017-04-23 01:36:40 -07:00