[LSC] Ambiguities in the draft BFC spec

William Howard william at howard-family.fsworld.co.uk
Thu Oct 12 09:43:41 EDT 2006


I'm using the term ambiguity to mean a difference in interpretation of the
spec amoung 2 or more people.

The following two ambiguities *HAVE* occured in the Parts Library, either by
authors using them or tools used by authors adding them.  The difference in
interpretation has been flagged by Reviewers holding the files.

1) The draft specification gives the syntax of the BFC meta-command as
    0 BFC [CERTIFY|NOCERTIFY] [CLIP|NOCLIP] [CW|CCW] [INVERTNEXT]
and there is an ambiguity here in that the syntax *permits* the construct
    0 BFC CERTIFY INVERTNEXT
but this is generally considered wrong (albeit not by one tool author)

2) While the draft specification permits the winding to change direction
through the file
    "There may be any number of changes to the winding direction in a file,
although it is
     recommended that changes to winding be kept to a minimum."
there have been parts on the tracker held for this reason.


To address point 1, I would like to see the syntax definition changed to
    0 BFC NOCERTIFY
    0 BFC CERTIFY [CW|{CCW}]
    0 BFC [CLIP|NOCLIP] [CW|CCW] [INVERTNEXT]
where [] indicates an optional item and {} the default value


This makes set of valid BFC meta-commands as follows
  0 BFC NOCERTIFY
  0 BFC CERTIFY       (defaults to CCW)
  0 BFC CERTIFY CW
  0 BFC CERTIFY CCW
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT
  0 BFC CLIP CW INVERTNEXT




More information about the LSC mailing list