-
Notifications
You must be signed in to change notification settings - Fork 70
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 247efe0
Showing
78 changed files
with
5,339 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
data/backups/ | ||
data/* | ||
!data/dialectical.json | ||
|
||
### Python template | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
env/ | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a template | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*,cover | ||
.hypothesis/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# PyBuilder | ||
target/ | ||
|
||
# IPython Notebook | ||
.ipynb_checkpoints | ||
|
||
# pyenv | ||
.python-version | ||
|
||
# celery beat schedule file | ||
celerybeat-schedule | ||
|
||
# dotenv | ||
.env | ||
|
||
# virtualenv | ||
venv/ | ||
ENV/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
|
||
# Rope project settings | ||
.ropeproject | ||
|
||
|
||
### VirtualEnv template | ||
# Virtualenv | ||
# http:https://iamzed.com/2009/05/07/a-primer-on-virtualenv/ | ||
[Bb]in | ||
[Ii]nclude | ||
[Ll]ib | ||
[Ll]ib64 | ||
[Ll]ocal | ||
[Ss]cripts | ||
pyvenv.cfg | ||
.venv | ||
pip-selfcheck.json | ||
|
||
|
||
### JetBrains template | ||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm | ||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||
|
||
# User-specific stuff: | ||
.idea/workspace.xml | ||
.idea/tasks.xml | ||
.idea/dictionaries | ||
.idea/vcs.xml | ||
.idea/jsLibraryMappings.xml | ||
|
||
# Sensitive or high-churn files: | ||
.idea/dataSources.ids | ||
.idea/dataSources.xml | ||
.idea/dataSources.local.xml | ||
.idea/sqlDataSources.xml | ||
.idea/dynamic.xml | ||
.idea/uiDesigner.xml | ||
|
||
# Gradle: | ||
.idea/gradle.xml | ||
.idea/libraries | ||
|
||
# Mongo Explorer plugin: | ||
.idea/mongoSettings.xml | ||
|
||
.idea/ | ||
|
||
## File-based project format: | ||
*.iws | ||
|
||
## Plugin-specific files: | ||
|
||
# IntelliJ | ||
/out/ | ||
|
||
# mpeltonen/sbt-idea plugin | ||
.idea_modules/ | ||
|
||
# JIRA plugin | ||
atlassian-ide-plugin.xml | ||
|
||
# Crashlytics plugin (for Android Studio and IntelliJ) | ||
com_crashlytics_export_strings.xml | ||
crashlytics.properties | ||
crashlytics-build.properties | ||
fabric.properties |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
|
||
This is a highly experimental tree-based writing interface for GPT-3. The code is very unstable and poorly documented. | ||
|
||
abandon hope all ye who enter here | ||
|
||
# Demo | ||
|
||
Screenshots here | ||
|
||
ooo what features! wow so cool | ||
|
||
|
||
# Instructions | ||
|
||
1. Install requirements | ||
|
||
```pip install -r requirements.txt``` | ||
2. Run main.py | ||
3. Load a json tree | ||
4. Read :) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,199 @@ | ||
# bugs | ||
|
||
* key bindings only work in most recent tab | ||
* have to close tab before opening file | ||
* chapter nav tree scrollbar | ||
* num leaves calculated incorrectly | ||
|
||
### Tree vis | ||
* first time switching to vis mode centering bug | ||
* tree vis settings won't change on newly opened file | ||
* tree vis duplication when zooming | ||
* collapse all sometimes causes duplication? | ||
* text width when zooming: save defaults | ||
* zooming causes misalignment | ||
* vertical mode | ||
* view doesn't center when navigating to newly expanded node | ||
* creating new parent in vis mode causes subtree collapse ?? | ||
* icons sometimes do not zoom | ||
* edit text box position wrong after zooming (and?) | ||
|
||
# features | ||
|
||
### Tree visualization | ||
|
||
|
||
- don't calc tree structure when refreshing | ||
* mark as visited in tree mode | ||
* save vis settings | ||
|
||
* increase offsets when text is too long OR scrollbar OR pages | ||
* collapsed nodes don't need their own column | ||
* save pointer to offset when drawing tree... | ||
|
||
* more space after collapsed node | ||
* dynamic icon position | ||
* use callbacks in tree vis | ||
* display collapsed ghostchild position | ||
* ghostchild hysteresis | ||
|
||
- add expand/collapse functions to menu bar | ||
|
||
- editing: | ||
global edit mode, where all nodes turn into textboxes, but no zooming? | ||
|
||
|
||
# Display | ||
|
||
* show / hide navtrees | ||
* if scroll position is regressing, add whitespace and keep instead?? (didn't work, need new approach) | ||
* toggle gray history | ||
* highlight context window (toggle) | ||
* gradient color for text box history | ||
* rename node for nav tree | ||
* sidebar adjustable | ||
* display hotkeys window | ||
* scroll at top of chapter by default and hotkey to go to top of chapter | ||
|
||
# Modifications | ||
|
||
|
||
# Tree topology | ||
|
||
* create parent for root node | ||
* multiple root nodes | ||
* add ghostchildren/ghostparents (using hotkey) | ||
* change parent of subtree (using hotkey) | ||
* change order of children | ||
|
||
|
||
# import / export | ||
* export subtree as json | ||
* export plaintext of single history | ||
|
||
|
||
# Features | ||
|
||
* search (global or by subtree or in ancestry) | ||
* search chapter titles | ||
* undo | ||
* right sidebar for (everything else) | ||
* "floating" notes | ||
* global or associated with subtree | ||
* bookmark-like tags define subsets of tree (and option to only display/navigate tag) | ||
* save open status (not visible status) in tree dict | ||
* click on textbox to edit history | ||
* named bookmarks | ||
* separate bookmarks (unique) and tags (category) | ||
* open non-root node of json as root node | ||
* make arbitrary node act as root node | ||
* deal with navigating to node outside subtree (expand to common | ||
ancestor of current and new node?) | ||
* ctrl+c copies node text in read/vis modes | ||
* copy ancestry | ||
* split node by clicking/highlighting? is this possible? | ||
* developer console | ||
* mark node (and ancestry) as canonical | ||
* visited sessions | ||
|
||
## multimedia | ||
|
||
* multimedia dialogue | ||
* change caption | ||
* indicate presence of multimedia in vis, textbox | ||
* display multimedia in sidebar | ||
|
||
### GPT-3 | ||
|
||
* display logprobs | ||
* view alternative tokens | ||
* replace with alternative tokens | ||
* define pre and post prompt | ||
* active side prompts like "Who is the main character in this story?" | ||
* playground-like interface | ||
* load gpt-3 program | ||
* save metadata from gpt-3 calls | ||
* min cutoff length for adaptive branching | ||
|
||
### AI memory | ||
|
||
**world info** | ||
- import world info json | ||
- make new entries | ||
- display top n world info entries, which can be individually toggled to be included in AI input | ||
|
||
**memory system** | ||
|
||
- semantic search for short-term memory? | ||
- all entries are (automatically) indexed in memory | ||
- memory access modes: multiverse vs single world history | ||
- memory suggestions for easy importing or (toggle) automatic | ||
- memory in context: when importing memory, option to navigate surrounding tree | ||
- save (multiple) memory entries for each node | ||
- each node automatically inherits parent memory entries (can be edited or deleted) | ||
|
||
|
||
### Story navigation | ||
|
||
* "play" mode | ||
* stochastic walk | ||
* mode which doesn't count visited nodes | ||
* optional depth limit | ||
* display probabilities | ||
|
||
|
||
|
||
## "inheritable" attributes (chapter, memory, notes) | ||
|
||
|
||
### chapter | ||
|
||
- different chapter levels | ||
- chapter nav tree | ||
- option to view ancestry as linear chapters | ||
- function to collapse all but chapter subtree | ||
|
||
### memory | ||
|
||
- each memory entry is a unique object stored in the tree; nodes point to memory | ||
- inheritable or not inheritable | ||
- if you modify memory for subtree, acts like changing chapter. Or you can modify | ||
the memory instantiation itself, which modifies memory for all nodes pointing to | ||
it and doesn't create a new object | ||
- you can have multiple memory entries for one node | ||
- you can create assign a node an existing memory object without creating a new memory object | ||
bool for whether memory is activated | ||
- layer variable for order of entries | ||
- memories are inheritable by default, but you can create a non-inheritable memory | ||
deleting a memory entry - either for entire subtree or just for one node | ||
- reverse time influence: option to propagate memory pointers backward | ||
|
||
#### interface | ||
|
||
- optional custom title | ||
- tags | ||
- keys | ||
- automatically generated keys | ||
- view memory entries of a node | ||
- change enabled status of memory | ||
- create a new memory entry (for node or subtree) (global) (inheritable?) | ||
- import an existing memory entry (for node or subtree) | ||
- database of memories (tree? keywords? search?) | ||
- automatic importing | ||
- delete a memory entry (for node or subtree) | ||
- edit (or delete) memory object | ||
- edit inheritable status of a memory | ||
- propagate back in time (with optional max depth) | ||
|
||
### floating notes | ||
|
||
- title and tags | ||
- same as memory, except by default the object is edited and a new instant isn't created | ||
- default deleting only removes pointers | ||
- option to duplicate note (create new instance from template) | ||
- show up as text boxes on the side which are always editable | ||
- like memory, pointers can be inheritable or not and global or not | ||
- global notes are accessible from any node | ||
- option to minimize without deleting | ||
- like memory, can import existing notes | ||
- reverse time propagation |
Empty file.
Oops, something went wrong.