Skip to content

Latest commit

 

History

History
897 lines (823 loc) · 42.3 KB

TODO-OLD.txt

File metadata and controls

897 lines (823 loc) · 42.3 KB

-*- org -*-

Add alternative handshape pics in glyph selector

Flata handen, flyghanden, klohanden, knutna handen, lilla O-handen, nyphanden, pekfingret, sprethanden, stora nyphanden all have alternative handshapes, these should be displayed in the glyph selector menu together with the handshape already shown there.

Attitude support for ‘underarmen’

For words like e.g. ‘Behärska’ http://teckensprakslexikon.su.se/ord/00157.

‘Underarmen transkriberas följd av attitydsymbolerna.’ [Teckentranskription, p.5]

Add support chat channel and link to it

Solr has a support IRC chat channel on Freenode. Apparently `webchat.freenode.net` can be used to easily access a chat channel (for people who aren’t that well versed in IRC). Could I set up a freenode chat channel for ‘teckentranskription’ AND add a link to it directly from the transcription page?

Make drag-and-drop help more eye catching

The drag-and-drop help text is very discreet. It needs to grab the user’s attention better, maybe a red double (left-right) arrow to explain the drag-and-drop aspect of transcript editing. Also explain that a cluster can be removed by dragging it out of the transcript.

Can’t add field I/II cluster after drag-and-drop removal

If one removes the cluster by using one of the buttons everything works as expected, but if you remove it by drag-and-drop (by dragging it outside the field) a reload is needed for the corresponding add button to work again.

This is because Dragula removes the cluster DOM element, and fields I and II depends on fields being hidden, rather than removed.

This could be fixed one of the following approaches:

  • Adding the element back (in hidden state) after it has been removed by Dragula (by adding something to the removeCluster() function in `clustergui.js`). – How does one add the element back in the correct place, though?
  • Changing the architecture so that all cluster DOM element are always removed (probably cleaner, since it causes less interaction with Dragula, but question is still how to know where to add the elements as they are needed).

Ia cluster margin in GUI

When cluster type ‘Ia’ is displayed the margin between field I & II is too narrow (but when displaying cluster type ‘Ib’ it looks good).

Update ‘status’ field when hovering/focusing on glyph

Add ‘/’ cluster

Import/export saved data

Position of ‘contact’/’medial contact’ in glyph selector

Export transcript as SVG (?)

Is this possible? Maybe composing an SVG based on the individual glyphs plus their relative coordinates taken from the DOM might be possible using some Javascript SVG library.

Infinite undo

NOTE: Need for this feature is somewhat mitigated by the fact that URL fragment provides some small undo capability (with the back and forward buttons in the browser).

Instead of OK/cancel requesters. All changes should be automatically written to localStorage.

Idea: Use share URL fragment strings in localStorage, and for each change transcript save the new fragment string in a stack. Undos would then just become a matter of popping the last fragment string and reverting to the previous one.

Storage module should also listen to localStorage changes, and automatically apply these in the GUI (if relevant). Thus making the app work nicely with multiple tabs open an the same time.

Use the undo/redo of typical software, or something more Emacs-y?

CAVEATS:

  • Listening to localStorage events does not capture events caused by one’s own tab, therefore these events will have to be created by the storage module itself.
  • Pushing to a JSON encoded stack (which would have to be unencoded and then reencoded for each push) in localStorage would be inefficient. Therefore each item would have to be stored using a new (sequentially named) localStorage key. This means we’ll prolly want to:
    • Store an index of items. (Or create one in memory to be able to add remove stuff from the load <select> list whenever a new transcript is added by some tab somewhere. – scanning through [possibly thousands] of localStorage item names might be too inefficient.)
    • Compress and garbage collect old entries as new entries accumulate? If we want to retain history forever we could prolly lump older changes together and store them in (a possibly compressed version) for longer periods.

Inline SVGs in HTML

Allows for:

  • Using CSS to control SVG color (yay!) and
  • Fewer requests to fetch the app.

Concatenate all SVGs into one HTML blob, and inline them in the main HTML in a <div style=”display:none”>.

The class name of each SVG should be the same as the current file name, then use some jQuery magic to extract it and inserting it in the relevant place.

Tool for extracting/inserting the SVGs into the HTML body

In order to edit the inlined SVGs one would need a simple script that can extract and reinsert the SVGs into the HTML.

Don’t scroll background when scrolling overlay

“Spellchecker”

Invalid transcriptions should be allowed, but marked as incorrect. (Red squiggly underline?)

Some rules:

  • Possible attitude combinations in the active hand. (Table from ‘Tecknad Svenska’, p.51).
    Vridning (AV)
    Riktning (AR)uppnerframinvänsterhöger
    upp--xxxx
    ner--xxx?
    framxx--xx
    inxx--?x
    vänsterxxxx--
    höger?xx?--

    ’-’ denotes impossible combinations (as the hand cannot be pointed and turned in the same direction at the same time).

    ’?’ indicate combinations not found in the dictionary by the author of ‘Tecknad Svenska’. – CHECK WITH DICTIONARY!

  • Possible attitude combinations in the passive hand. – ‘Tecknad Svenska’ mentions (p.51) that these are fewer than for the active hand. – CHECK WITH DICTIONARY!
  • Possible attitude handshapes for the passive hand. – ‘Tecknad Svenska’ mentions (p.51) that fewer handshapes are used for the passive, than for the active hand. – CHECK WITH DICTIONARY!

Add textarea for notes to a transcription

This is for free text notes to a transcription, and should be loaded/saved with the transcription. (This would not, at least initially not, be included when sharing a transcription – maybe later this could be added with some suitable compression [and URL escaping] or something.)

Support for multiple browser tabs

How well does the transcription work with multiple tabs open in the same browser? What happens if you edit the same glyph?

Test with Explorer

Test with Safari

Add dictionary

Matching dictionary entries (with their Swedish translation) should be listed when writing a transcript. Initially display all words for which the currently entered transcript is a subset.(?)

  • Dictionary should display translation + transcript as words are displayed.
  • Dictionary should allow for more than one transcript per word (e.g. because many words can be transcribed in different ways: with older and newer transcription conventions; and also because some words have different realizations/sign language synonyms).

[0/4] Input shortkeys

Home/End: Select first/last cluster

Ctrl+A/Ctrl+E should also work.

Move IIIc cluster

Ctrl + ArrowLeft/ArrowRight should move IIIc clusters within the field.

(We use Ctrl here and reserve Shift + arrow keys for some distant future copy/paste feature.)

Move Ib <-> IIa cluster(?)

  • Ctrl + ArrowRight: Convert Ib -> IIa.
  • Ctrl + ArrowLeft: Convert IIa -> Ib.

Move focus to next cluster

ArrowLeft/ArrowRight - Move to 1st glyph(?) of next cluster.

Awesomest would be if one could retain which glyph number is selected when moving. (So that ArrowRight followed by ArrowLeft always leaves you with the same glyph focused that was focused to begin with.)

Change glyph without menu

As an alternative to pressing <Enter> then choosing from the glyph selector menu user should also be able to just press the desired shortkey directly (without displaying a menu).

[8/10] Make glyph selector prettier

Prettier shortkey description

The selection shortkey should be (baseline) aligned. Should take up as little space as possible. And be pretty. :)

Hide shortkey on mobile devices

A mobile device presumably doesn’t have a keyboard. And what use are shortkeys without keyboard?

Vertical alignment of glyphs in glyph selector

Add menu headings

‘Handform’‘Läge’‘Relation’ etc should be menu header (at least one menu needs multiple headers, i.e. ‘rörelseriktning’, ‘rörelseart’ and ‘interaktionsart’) instead of being repeated for each selection choice.

Browser shortcuts (Ctrl-<key>) should work

Specifically, it’s annoying that one can’t search the glyph selector menu using the browser ‘Find in page…’ function (Ctrl-F).

PgUp/PgDn should work in menu

Home/End go to beginning/end of menu

Mouse & keyboard should coexist better

Implemented by Simplify focusing in glyph selector in commit caca05e.

Mouse should use same focusing as keyboard. I.e. instead of having one mouse selection (grey background) and one keyboard selection (blue border) there should only be one (blue border) which should move if you move the mouse pointer, but also be controllable by keyboard.

IIIa shortkeys

Added better shortkeys mostly based on glyph shapes.

Default shortkeys

All menus should have shortkeys. Use simple 1234567890abc…ABC.. sequence when no other shortkeys are defined.

[1/3] CSS class indicating table cell position in input

‘high’‘mid’‘low’ - For small symbols in high/mid/low position.

‘text’ - For text like symbols (handshape and place of articulation).

‘full’ - For full height table cells.

[7/9] Fix bad/missing glyphs

What to do with the (so far) unused glyphs?

Files matching `pic/**/*Truetrans*.svg`.

Haven’t found much documentation about what these glyphs actually mean, or if they’re used, but some of them occur in the Swedish Sign Language dictionary, and there’s very brief descriptions of them in the compendium of the sign language typeface.

“Handform – Krokfingret” should have thicker lines

Currently this glyph has thinner lines than all the other glyphs. That doesn’t look nice. :(

“Läge – Höfterna” is to wide

Now works quite well when using proportional glyphs.

“Läge – Ögat” should be lowered

Add missing “4-handen” glyph

Add missing “D-handen” glyph

Add missing “Y-handen” glyph

Add missing “Q-handen” glyph

“Relation – Brevid” should be centered

pic/Y_Truetrans1.svg

Refactor makeTranscript()

If .add() does the insertion currently done by insertCluster() and also invokes makeCluster(), makeTranscript() could be made quite a bit cleaner.

.add() would need to handle clusters of field type III separately (always just appending those) from field types I and II (which should replace existing) clusters.

.set() should maybe also use .add()/insertCluster()?

Fancy/good fix for transcript line breaking

If the transcript is wider than the screen it should be broken off in the same way text is.

Fancy fix: Field tables should prolly be `display: inline`, and cluster tables `display: inline-table`. Some kind of clearfix is prolly also needed so that the cluster tables won’t protrude outside the inline containers.

GUI `.cue()` method should use cluster object, not spec

`.show()` + `.set()` method already does this. – `.cue()` needs to be done before `.hide()` since `.hide()` is called from inside `.cue()`.

This might be too complicated to be worth it.

History menu should show transcript string

Apparently second (title) argument of history.pushState() doesn’t really work (in any browser?) – is it possible to instead the title with another means and have that picked up by the history menu?

Glyph selector should not wipe future history

Forward history is wiped out by the glyph selector. E.g. if user changes a transcript, then uses the back button (thus creating forward history) then just displaying the glyph menu will wipe forward history.

Could we avoid this by using replaceState(), and aborting the default behavior of the back button (using it only to remove the menu) in a reliable way?

Add name + description to sharable URL

HTML form-y syntax (e.g. ‘?d=texttexttext’) added to the URL fragment.

Prettier glyphs for IIIb and IIId clusters

Left and right arrows for IIIb and IIId should probably be the same as used for IIIa? Currently the left and right arrow are the same as for the attitude direction symbols (i.e. they’re slightly shorter, not looking so pretty next to the other articulation arrows).

Compare with transcription examples given in Bergman & Björkstrand (2015).

No alert when saving under same name with no changes

Check that all glyph characters work in all browsers

‘<’, ‘>’ and ‘#’ are not allowed in URL fragments, check that they work okay in MSIE, Firefox and Chrome, even though they are never URL encoded.

Should work:

  • …when entering a URL with URL fragment to load the page.
  • …during the normal updating of glyphs (adding moving etc.)

Reference: List of valid characters for the fragment identifier in an URL? (on Stackoverflow).

Error handling in URL fragments

Invalid glyph letters should be replaced with the character ‘*’, which should display a question mark-type sign in the transcript.

When adding new cluster to transcript use ‘?’ for glyphs

The idea here is to give the user a hint/affordance that they should click the glyphs to change them.

Specifying an empty URL fragment should clear transcript

Regardless of whether you remove the ‘#’ sign or not.

Decouple cluster checking/parsing from GUI

There are instances where one wants to parse a cluster string (e.g. to check validity) without showing it in the GUI.

Move glyph lookup data into one place

Cluster structure lookup data should all be in one place, and callable from there. The following variables (and more?) should go into this place:

  • clusterGlyphTypes (global; defined in hashchange.js)
  • glyphNumChrMap (global; defined in hashchange.js)
  • clusterGlyphNums (local; clustergui.js)
  • fieldNameOf (local; clustergui.js)
  • glyphData (local; clustergui.js)
  • domFieldElement (local; clustergui.js)
  • domClusterElement (local; clustergui.js)
  • glyphImages2 (local; clustergui.js)

Possibly some preprocessing should be done when loading to produce the final table – If any such preprocessing is done, put comments in the code explaining what the final lookup table looks like!

Also look at the `glyphKeys` variable, and the init() function in hashchange.js to see if these can be merged with the other lookup tables.

Add .getElem() method to cluster object

Instead of using .get(‘_element’).

Rename `*Type` -> `*Name`(?)

Rename `data-value` -> `data-chr` in glyph selector

The name of the data attribute is far to vague as it is now.

Redraw glyphs

Articulation glyph arrows are almost all uneven.

`rr-fram.svg` had a symmetrical arrow head, but thinner lines than all the other arrows.

Field names no longer hilites when glyph is focused

Replace field and cluster names in HTML/CSS

Happened in commit: d447ddd2

Roman numeral field names (e.g. ‘iii’) should be replaced with the new style numeric names (e.g. ‘field-3’), and the same goes for clusters names (e.g. ‘iiia’ should become ‘cluster-6’).

Add ‘debug mode’

All debug tools should be hidden from the normal user.

Now output prints a message on the console saying what Javascript command one should use to show the ‘Dump’ button (currently the only debug tool available).

Remove ‘Load’ button

Selecting a saved transcript in the dropdown should be enough to load it. If the current transcript hasn’t been saved, and the user cancels the loading, the previously loaded transcript should remain selected.

Update references to cluster and field names

Replace all references to old-style field and cluster names in HTML/CSS/code with the new ones.

Clusters: ia -> cluster-1 ib -> cluster-2 iia -> cluster-3 iib -> cluster-4 iic -> cluster-5 iiia -> cluster-6 iiib -> cluster-7 iiic -> cluster-8 iiid -> cluster-9

Fields: i -> field-1 ii -> field-2 iii -> field-3

Split `domElement` in two (clusters and fields separately)

The lookup object `domElements` (in `clustergui.js`) should be split into `domClusterElements` and `domFieldElements`.

[8/8] Change internal data format

The internal state should use the same format as the URL fragment implemented in ‘Share’ URLs with all transcript information.

Keep only one of ‘initImages’ and ‘initImages2’

Clean up all related FIXMEs in code

Use `glyphChr` and `startGlyphChr`

  • Rename `glyphStr` -> `glyphChr` throughout.
  • Rename `currentValue` and `defaultGlyphStr` -> `startGlyphChr` (in the glyphMenu() and selectGlyph() functions respectively).

Clean away dead code

E.g. lookup tables, which are no referenced after the rewrite that changed the internal state format.

(Use `git show b444bb2` and look through removed code to see what variable names are candidates for removal.)

Warning when loading page with no saved data

Loading the page gives warning on console if there is no saved data in local storage.

Check all DONEs in code

Invalid URL fragment should fail in better way

  • ‘0’ in URL fragment
  • ‘987654321’ incorrectly sorted cluster strings will do weirdness when later rearranging clusters in field III

Rewrite code to use URL fragments internally

Add medial contact cluster

Dot with direction of movement above it.

“Medial contact must be combined with a direction of movement. The direction symbol is placed above the symbol for medial contact.” [Teckentranskription, p.10]

Glyph selector table row height bug

Table cells for the hand shape images in the glyph selector menu were shorter than the other cells, causing ugly appearance.

This is caused by the `box-sizing: border-box` being applied to <td>, so minor rewrite of the CSS so as to not apply it to that (but all other) elements.

Bug was introduced in commit f63116c.

‘Share’ URLs with all transcript information

Implementation of shareable transcripts URLs. A transcript URL contain a hash fragment, and when loading the app with a URL with a fragment the corresponding fragment should be loaded.

This allows users to share their transcripts with other users by sending them the URL.

URL Fragment Format


Each cluster is prefixed with a ‘magic’ number (which also works as a separator), followed one character per glyph in the cluster. (And, in the future, multiple signs will be separated by ‘/’).

Magic numbers implemented in this change will be 1-8 (9 will probably be used for ‘medial contact’ in the near future) but multiple digit could possibly also be used in the future (if there turn out to be a need for it).

The magic numbers allow glyphs to occur in any order, and in invalid positions, this is by design, to keep the maximum possible range and combination of symbols open for future expansion.

Only characters which do not require URL escaping are used, i.e. characters matching the following regex: [a-zA-Z0-9?:@._~!$&’()*+,;=-]/

  • Cluster separator: Cluster’s ‘magic’ number.
  • Sign separator: ‘/’
    Type#1234
    Ia1RA
    Ib2RHARAV
    IIa3RHARAV
    IIb4I
    IIc5HARAV
    IIIa6ARTION
    IIIb7ARTION
    IIIc8H

    Example: ‘3fyui5yui6x6X6~’ (‘fjäril’).

Modified/unmodified detection on load/save

Keep track of whether the current transcript has been modified since it was last loaded, saved or cleared, then warn user that work will be lost before they load or clear a modified transcript.

Fix length of <input> element

<input> element should have same width as the <select> above it (they already have the same set in the CSS).

Differences in width between <input> and <select> was due to the quirkiness of how ‘box-sizing’ is applied by default, so rather than letting the browser decide, I took Paul Irish’s advice and applied ‘box-sizing: border-box’ to EVERYTHING. (See ”`* { box-sizing: border-box }` FTW” by Paul Irish, 2012-02-01).

Glyph selector doesn’t work on mobile

It seems like one cannot select items below the first screenful on the selector (i.e. if one has to scroll down a bit to reach a glyph on the menu then that glyph is selectable, but it does not appear in the transcript after selecting it).

Caused by the Glyph selector focus fails when invoked by clicking issue which was solved in commit e34bcaa.

Glyph selector focus fails when invoked by clicking

When mouse clicking a glyph to select a new one, the selector failed to focus the correct item, due to interference with the .onGlyphHover() event handler.

The problem was introduced in commit ‘3f379223’ on 2017-02-19.

Add help about drag-and-dropping

There should be some hint that one can drag-and-drop clusters.

Show field borders in GUI during drag-and-drop

Bottom aligned articulation ‘separator’

The ‘Övrigt - Markerar sekventiell artikulation’ should be vertically bottom aligned with the hand clusters, not top aligned as it is now.

Fix cluster unfocusing when focusing non-glyph element

Currently when clicking outside of the current transcript the current glyph is unfocused, but the ‘focus’ class of the other glyphs in the same cluster remains. :(

Fix this by attach focusing/unfocusing to <body> instead? That way, whenever focus changes, we can remove the previous ‘focus’ class (if any) and add it to whatever ‘.cluster’ element can be found above the current target element.

Show fields borders in GUI whenever a glyph is focused

The field borders showing which clusters belong to which field should be shown whenever a glyph is focused in the GUI, regardless of whether it was focused by mouse or keyboard.

Glyph selector failed sometimes

After having removed a cluster, and then created it again the glyph selector wouldn’t work well for glyphs in the new cluster.

Firefox: Shortkeys not working in input

This does not seem to be an issue on Trusty Tahr with Firefox 50.1.0.

Shortkeys works just fine in the glyph selector, but when a glyph is focused and one press enter nothing happens.

Firefox: Height of empty transcription field

Make GUI behave when showing cue in empty transcript for Firefox.

Firefox: Button text not black

Not explicitly set in CSS maybe? Fixed by setting ‘color: inherit’ on <button>, <select> and <input>.

Add links to KTH sign language transcription page

Link already present in the readme file.

A link to the page containing the sign language typeface used for transcription + the ‘Teckentranskription’ essay.

Rename ‘cueshow’ -> ‘cue’

Since ‘cuehide’ was removed there’s no need to distinguish between two different cues, so might as well simplify all code + CSS.

Rename .cueShow() method -> .cue(), and `cueshow` CSS class -> `cue’.

Allow invalid transcriptions + remove ‘cuehide’ state

Simplify GUI by removing a lot off bling, and also allow invalid combinations of clusters. (User should be able to enter invalid transcripts, and [in the future] have some “spellchecker” nudge them in the direction of good, rather than be forced to do good.

Make GUI behave when showing cue in empty transcript

The transcript area should not shrink to zero height when empty as this causes stuff to flicker around when cues are inserted, causing the button one hover over to be pushed down, which causes unhover which causes the cue to disappear, which causes the button to move up under the mouse pointer again and so the cue appear again…

It should be possible to remove IIc cluster(?)

To allow for searching for a word without specifying IIc.

[10/10] Change GUI update architecture

Removal of clusters in field I and II

By dragging and dropping them outside their field.

Removal of last cluster in field should hide field

Removal of clusters in field III

By dragging and dropping them outside their field.

Reordering of clusters in field III

By means of drag-and-drop.

Move cluster image preload into makeClusterGui module

Together with the ‘glyphs’ data structure.

Change glyphs in cluster

Cluster buttons to add/remove clusters from transcript

Cluster button hover cues

Hovering on a cluster button should show cues (in the transcript) displaying what would be inserted/removed from the transcript when clicking on the button. Moving mouse pointer off of the cluster button the cue should remove the cues.

Loading whole transcript

Loading a new transcript (by means of `makeTranscript.set()`) should automatically update the GUI.

New GUI module with .uncue() function

Remove field <-> button group hovering hilite

Hovering over a field hilites the corresponding button group and vice versa, however this has turned out to be more annoying that helpful. Therefore this behavior should be removed.

GUI `.set()` method should use cluster object, not spec

`.show()` method already does this

Don’t filter data content in storage module

Cluster module now does filtering, by treating ‘hidden’ properties (properties with names beginning with ‘_’) separately – not returning any hidden properties when `.get()` the whole cluster object.

Simplify focusing in glyph selector

Moving the mouse pointer onto a glyph selector item should focus that item (using the blue border), and using the arrow up/down should move the same focus, instead of the two different focusing mechanisms currently used (greying out an item when focused by mouse, and blue border when selecting with keyboard).

Simple/ugly fix for transcript line breaking

If the transcript is wider than the screen it should be broken off in the same way text is.

Easy/ugly fix: Disable line breaking for fields I and II, and top align text inside the field tables. This will mostly look file, but somewhat ugly on screens small enough that a transcript should be line broken when there are only field I & II clusters present.

Keyboard shortcuts (shortkeys) for handshape glyph selector

Pressing an alphabetic key should jump to the glyph most similar i appearance = Faster navigation!

Creating new cluster should focus first glyph in that cluster

Hovering on cluster should hilite corresponding button

Hovering on button should show clusters to add/erase on click

  • Glyphs which are to be removed are marked now with diagonal red stripes (and slightly grayed out).
  • If a button will add additional clusters then the buttons for those clusters are highlighted as well.

Buttons should show which clusters are currently used

‘AR’ glyph should have same placement in Ib and IIa

Field I should be vertically aligned with field II and III

IIb input field erroneously gets own border + ‘I’ label

If present the IIb cluster erroneously gets its own little ‘input field’ bolder when one hovers over #input, so that there is an ‘input field inside an input field’. Not good.

Hovering on input field should hilite button group + vice versa

makeTranscript.set() should be able to deal with bad input

If input isn’t an array (i.e. if localStorage contains valid JSON, which is something else than an array, and this get passed to the transcript .set() function) then setting the transcript fails.

It now gives a console.warn() + sets an empty transcript.

Clusters Ib and IIa + IIb should be mutually exclusive

Adding Ib now removes IIa + IIb (if existing), and adding IIa or IIa + IIb should removes any Ib.

All cluster add buttons should make sure IIc cluster exists

Adding I or II cluster at end of transcription should work

Dump button should work even with bad JSON in localStorage

Dump button now also uses the internal storage module.

Clear button should clear everything + add IIc

IIc should never be removed (as IIc is always required).

Storage module should be able to cope with stored bad JSON

Hovering on transcript should show cluster field numbers

Sign transcript should be inside another table

With one <td> for I, one for II and one for II fields.

Cleanup terminology in source code

  • ‘transcript’ = A complete transcript for a single sign.
  • ‘field’ = There are three possible fields in a transcript: I, II and III (though field I and III are optional).
  • ‘cluster’ (of glyphs) = A collection of glyphs which always go together (in the GUI there is a button for each cluster). The clusters are named after their field + a letter, e.g. IIa, IIc. The cluster IIc is special in that it is required in all transcripts.
  • ‘glyph’ = One symbol (or squiggle) used.
  • ‘image’ = Refers to one SVG (or other) image (which usually contains a single glyph).

BUGFIX: Cluster buttons on top of glyph selector

Fixed this by adding the class ‘overlay’ to the <body> tag when displaying the overlay, and then having a CSS rule hiding the move/delete buttons if the overlay class is applied to body.

The cluster move/delete buttons should now show up on top of the glyph selector menu.

Glyph selector order

Should reflect the order in ‘Teckentranskription’ (rather than be in an order convenient when stepping through the glyphs one by one, as before).

Remove ‘=>’ arrow from IIIa list of glyphs

Glyph selector mobile cancel

Use page history to allow the ‘Back’ button to cancel.

[14/14] Cell phone friendly glyph selector

Instead of using <- and -> to change glyphs, should press enter (or click) to get a dropdown from which one can select a glyph. – This would also make this work on cell phones.

Current glyph should be highlighted/selected in menu

Keyboard shortcut to invoke menu

Modified glyph should focused after changing

Keyboard shortcuts in menu

ArrowUp/Down/Enter/Esc to navigate menu

Reduce size of handshape pictures

Generate menu from Javascript

Replace ‘H’ field with menu

Replace ‘R’ field with menu

Replace ‘AR’ field with menu

Replace ‘AV’ field with menu

Replace ‘ART-ION’ field with menu

Replace ‘ART’ field with menu

Replace ‘ION’ field with menu

Replace ‘A’ field with menu

Link to GitHub README

Using strapdown.js to produce a nice and readable README? – Naah. Linked to the GitHub version of the README instead.

Link to GitHub repo

Link to GitHub issue tracker

Add license + link to the license

Glyph selector shouldn’t split rows with borders

When showing the glyph selector on a cell phone, the fact that one selects an entire table row is not obvious (one could get the impression that one can select table cells).

Should remove the vertical lines (vertical table cell borders) inside the table, so at to emphasize that the description on each line is denotes one possible glyph (and not several alternatives).

Cell phone friendly CSS

Responsive GUI when zooming in on cell phone.

IIIc should have the arrow inside the button

Round off CCS pixel to integers

[6/6] Resize image bounding boxes

The size of each image should be just enough for the glyph to fit, and then each image should be included in the DOM not as background images using CSS, but as proper images with the <img> tag – that way the HTML tables can adjust automatically to each glyph’s size and we’ll get a (much?) prettier layout of each transcribed sign.

Cleanup of code used for old glyphs

Attitude direction glyphs (‘AR’)

Attitude twist glyphs (‘AV’)

Place of articulation glyphs (‘A’)

Relation glyphs (‘R’)

Handshape glyphs (‘H’)

Focusing glyph should update status box

Displaying the information about that glyph.

Preload all images

Load them using HTML, rather than ajax, if possible (as it would work on the file:// protocol, too). Maybe just a large hidden HTML element will do?

Focus the a new cluster upon creation

BUG: Implementation doesn’t work when adding prepended type I field, if other clusters have already been created. – It then focuses a glyph in the last cluster instead. But what the hell, right?

When one clicks a button to create a new glyph cluster, that cluster should be focused.

‘Delete’ button

For erasing a saved transcription.

‘Clear’ button

For clearing the current transcription.

‘Articulation’ should be as high as ‘relation’

All articulations (including separator and repetition) should be higher on the line, so as to be clearly distinguishable. In fact the top of these should align with the top of ‘R’ (relation).

Change CSS unit ‘em’ -> ‘px’

There are rounding errors causing some ugliness and uneven sizes of stuff.

I. Add ‘Place of articulation’ symbols at beginning

The I type buttons should add their symbol at the beginning of the transcript, rather than at the end.

[7/7] Give glyph SVG files descriptive names

Instead of the pseudo-random names they inherited from the typefaces.

Rename ‘art-ion’ (articulation) glyphs

Rename ‘r’ (relation) glyphs

Rename ‘i’ (interaction kind) glyphs

Rename ‘av’ (attitude twist) glyphs

Rename ‘ar’ (attitude direction) glyphs

Rename ‘a’ (position) glyphs

Rename ‘h’ (handshape) glyphs

‘Interaction kind’ component of IIa should be optional

Double articulation cluster IIa should have an optional interaction kind.

Hand position glyphs should rotate clockwards

‘AR’ and ‘AV’ glyphs should be reordered so that they rotate clockwards as one steps through them.

Display optional ‘interaction kind’ component of IIa better

It should only take up space in the glyph when it is actually used.

Remember last saved

On reload, the transcription loaded before the reload should be the one displayed.

Named saves

Should allow for saving of multiple transcriptions with different names, so that we can transcribe a buncha stuff and see what works.

Three articulation buttons

ART
ION

= Two glyphs, one above the other.

ART-ION

= Single glyph, full height.

and

:

= Narrower version for ‘repeated articulation’ and ‘marks sequential articulation’ symbols.

[3/3] List of signs to which can be added/removed

Ability to add different type of signs

Delete sign from global list

Put global list into object of its own

[eof]