summaryrefslogtreecommitdiffstats
path: root/libunity.py
Commit message (Collapse)AuthorAge
* Finish python virtual envyum2022-12-17
| | | | | | | | | GUI can now download all TaSTT dependencies and install them into a virtual environment. * Add buttons to check embedded python version & install dependencies * Add class to wrap interacting with embedded Python * Put all TaSTT python scripts into a folder
* Add on/off sound indicator (local)yum2022-11-25
| | | | | | Now we have a visual and auditory indicator for transcription. The auditory indicator is only heard by the user, and can be used to reset the state of the board prior to displaying.
* Add scaling capabilityyum2022-11-25
| | | | Text box may be scaled up and down now.
* Rework input controlsyum2022-11-22
| | | | | | | | Press joystick once to start recording, again to stop. When you start recording, any previous text on the board is cleared. Add 2 visual indicators: one to indicate speech, another to indicate that audio is paging.
* License scrubyum2022-11-10
| | | | Begin auditing dependencies' licenses.
* Fix set_noop_animyum2022-11-06
| | | | | | | fileID check intended to avoid overwriting blendtree animations was too broad and excluded regular unassigned animations. This was causing an issue where the display would flicker or fail to show any new text at all.
* Reduce dimensionality of animator by factor of 80yum2022-11-05
| | | | | | | | | | | Instead of generating one animation for every single character in our character set, we just generate 2: the lowest and the highest. We use blend trees to interpolate between these two extremes. This reduces the number of animations we have to generate by a factor of 80. It also clears the way for multi-language support (coming soon). It also means we don't have to reopen unity every time we generate a new animator.
* STT now beeps when it shows text, and can be locked to worldyum2022-10-24
| | | | | | | | | | | Empty cells are excluded from the beeping behavior. Note: I have not checked in the prefab with the audio source yet. * libtastt gen_fx now adds 3 toggles to FX layer: toggle board, toggle world lock, toggle beep sound * libunity guid_map can now append instead of replacing * TaSTT_Toggle_{On,Off}.anim now use the prefab path, as do generated animations
* Rewrite FX and animation generatorsyum2022-10-23
| | | | | | | | | | * Fix bug where facial animations cause already-written letters to change (!!!) * Add libtastt.py to hold abstractions layered over libunity * Fix * libunity: Fix bug where integer equality state transition conditions ignored the threshold * libunity: Support placing animator states at different positions
* Fix fixWriteDefaults duplicate ID erroryum2022-10-23
| | | | | fixWriteDefaults would assign two documents the same anchor. Unsure why but this fixes it.
* Fix UnityAnimator.mergeyum2022-10-22
| | | | | | | A few changes: * we never infer class ID from object ID * merged object IDs are allocated in a flat namespace, not in a per-class namespaces
* Add "off" animation generatoryum2022-10-20
| | | | | | | | Add utility to programmatically generate "off" animations. Scans every animation in the project, checks if it sets anything nonzero, and if so, generates a copy of it which sets everything to zero. This is useful for transitioning away from write defaults.
* Add preliminary support for negative anchorsyum2022-10-20
| | | | | | | | Some animators generate negative anchors. Casting to u64 doesn't produce an anchor with a valid prefix, so idk what it is. Use the class ID from the little !u! bit instead of deriving it from the anchor. Some things probably don't work yet.
* Programmatically set noop animationyum2022-10-16
| | | | | Overwrite any animation containing an unknown GUID to the tastt noop animation. This seems to help the reset layer function properly.
* Semi-fix gesture reset layeryum2022-10-16
| | | | | | | | | | | | Now we only overwrite gesture parameters if there's no active gesture. This makes gesturing smoother, since we're not overwriting gesture params twice on every frame. Gestures don't reliably reset. I think I need to add the noop animation across the entire animator. No idea what's really causing it. Also factor out code for generating transitions that have parameter conditions. Support exists for boolean and integer equality conditions.
* Fix a couple unity/YAML bugsyum2022-10-16
| | | | | | | | | * Unity needs empty Mappings to be indicated with {} or it will assume they're a Sequence * Unity doesn't like it when we reassign the default animation layer's MonoBehaviour ID, so hack around this by simply reusing the existing MonoBehaviour's ID * Use MulticoreUnityParser everywhere
* Add multicore YAML parseryum2022-10-16
| | | | | | | | Divide YAML stream into `nproc` chunks and parse each sub-stream in a process. We can't use threads because of the python global interpreter lock, but processes work pretty well. Parsing my 1.2M line / 43k document YAML goes from 65 seconds to 13.
* Add libunity.addTransitionyum2022-10-15
| | | | | * Implement basic board toggle using new transition logic * Metadata can now restore from file
* Fix animations: renamed prefab from CustomSTT to TaSTTyum2022-10-15
| | | | | | | | | Also: * Check in toggle on/off animations * Add toggle parameter * libunity bug: getUniqueId() was calling allocateId() incorrectly * Remove osc_ctrl `client` global * Fix transcribe.py text encoding
* libunity: can now add layers, params, and animationsyum2022-10-15
| | | | Write defaults fix is now complete
* Begin fixWriteDefaults logicyum2022-10-15
| | | | | | | | | * Generate an animation which zeroes out everything which uses write defaults * Disable write defaults on every animation for which we do this * Add copy() method to Mapping and Sequence * Because of the `parent` pointer, copy.deepcopy() doesn't really work on this data structure.
* Add libunity CLIyum2022-10-15
| | | | | | * Add guid scanning method * Generate mapping from guid to filename * Mapping may be saved & restored from disk
* reimplement animator merging in yaml parseryum2022-10-14
| | | | | | | Object IDs are allocated optimally now, but it's a bit slower due to long parse times. Also fix minor bug in generate_fx.py.
* Add simple yaml parser (WIP)yum2022-10-13
| | | | | | | | Add parser for Unity's malformed YAML. This should make it easier to manipulate animators. It probably doesn't quite work yet, and certainly needs some usability features.
* Add ability to merge FX controllersyum2022-10-12
| | | | | | TODO * write default detection/correction * real cmdline interface
* Add ability to leave board in worldyum2022-10-11
* Add VRLabs' World Constraint as a submodule * Add animations for world constraint * Add toggles for board * Add libunity.py (no content yet) * Support >30s transcription * Add board FBX