7.6.โครงสร้างพื้นฐาน (Basic constructs) (ตั้งแต่ 1.1.0)

7.6.1.ลำดับ A | B

รายการถูกวางตามลำดับบนเส้นเวลาเดียว คั่นด้วยช่องว่างอัตโนมัติ (§7.5).

7.6.2.กลอส NAME, NAME(speed), NAME(speed,label)

วางกลอสที่แปลงชื่อแล้ว (§7.4). speed ต้อง (MUST) เป็นตัวเลข > 0 (ค่าเริ่มต้น 1); ความเร็ว 2 เล่นในครึ่งหนึ่งของความยาวต้นฉบับ. label เป็นคำบรรยายสำหรับแสดงผลของรายการที่วาง (ไม่บังคับ); ไม่มีผลต่อ P และต้องไม่ (MUST NOT) มี ; (เป็นข้อผิดพลาด) หรือตัวคั่นสงวนอื่น.

7.6.3.การหยุด $pause, $pause(N)

คงท่าพักไว้ N เฟรม (ปัดเศษ). N ต้อง (MUST) ≥ 1; $pause เปล่าคง 15 เฟรม. การหยุดเป็น รายการที่มีเวลา: มีช่องว่างอัตโนมัติทั้งสองข้างและไม่มีคีย์เฟรม.

7.6.4.การเลื่อน $shift(x,y,z,twist), $reset

เครื่องหมายแบบมีสถานะที่เลื่อนค่าของกลอสทุกตัวที่ตามมา จนถึง $shift หรือ $reset ถัดไป (หรือจบบล็อก $spell, §7.6.6). ทุกแกนละได้และ ค่าเริ่มต้นเป็น 0; $shift เปล่า (ศูนย์ทั้งหมด) เท่ากับ $reset. สำหรับแต่ละคีย์เฟรมที่กลอสเขียนไว้เอง:

ผลลัพธ์แต่ละค่าถูกหนีบให้อยู่ใน [−1, 1]. มิติที่กลอสไม่ได้เขียนไว้จะไม่ถูกสร้างขึ้น. กลอส fixed_position ไม่ถูกเลื่อน. การเลื่อนกระทำกับคีย์เฟรมที่วาง; นิยามของ P ไม่เปลี่ยน.

7.6.5.กลุ่ม [A | B](speed,gap,label)

สมาชิกถูกวางเป็นหน่วยเดียว เชื่อมด้วย ช่องว่างคงที่ แทนช่องว่างอัตโนมัติ. speed ต้อง (MUST) > 0 (ค่าเริ่มต้น 1) และใช้กับสมาชิกที่ความเร็วของตนเป็น 1; ความเร็วของสมาชิกเองมาก่อน. gap ต้อง (MUST) ≥ 0 (ค่าเริ่มต้น 3) และถูกปัดเศษ; สมาชิกถัดไปเริ่ม max(1, gap) เฟรมหลัง เฟรมสุดท้ายของสมาชิกก่อนหน้า. สมาชิกเป็นกลอสหรือชุด $spell; สมาชิก $spell ถูกขยายเป็นตัวอักษร โดยอบขั้นบันไดการเลื่อนของ §7.6.6 ลงในตัวอักษร โดยไม่เปลี่ยนสถานะการเลื่อนภายนอกกลุ่ม. กลุ่มต้อง ไม่ (MUST NOT) ซ้อนกัน. กลุ่มว่างหรือสมาชิกชนิดอื่นเป็นข้อผิดพลาด. กลุ่มเป็นหน่วยเดียวสำหรับคำบรรยาย (label หรือชื่อสมาชิก).

7.6.6.ชุดสะกดนิ้วมือ $spell(x,y,z,twist,label){A | B | …}

ชุดสะกดนิ้วมือที่มีขั้นบันไดการเลื่อนของตนเอง. การเลื่อน ค่าเริ่มต้นเป็น (0.1, 0, 0, 0). สมาชิก เป็นกลอสหรือกลุ่ม [ ]; กลุ่มนับเป็นตัวอักษร หนึ่ง ตัว. สำหรับตัวอักษรที่ i จาก N (เริ่มที่ 0) การเลื่อนที่มีผลคือการเลื่อนตั้งต้นคูณ (N − 1 − i)/(N − 1): ตัวแรกเลื่อนเต็มและตัวสุดท้ายเป็นศูนย์. ตัวอักษรเดียวคงการเลื่อนเต็ม. หลังบล็อก สถานะการเลื่อนเป็นศูนย์ ($shift ก่อนหน้าไม่ถูกคืน). เมื่อมี label ทั้งชุดเป็นหน่วยเดียวสำหรับคำบรรยาย. บล็อกว่างเป็นข้อผิดพลาด.

7.6.7.การแสดงออก @name(alpha,rampIn,rampOut), @none, @break

@name เปิดช่วงการแสดงออกบนช่องอ้างอิง (lane) ที่ว่างช่องแรกจาก 3 ช่อง โดยเริ่มที่จุดเริ่มของ รายการที่มีเวลาถัดไป. alpha คืออัตราขยายสูงสุดและต้อง (MUST) เป็น 0 < α ≤ 1 (ค่าเริ่มต้น 1). rampIn/rampOut เป็นจำนวนเฟรม ≥ 0 (ปัดเศษ); หากละไว้ ใช้ช่วงไล่ระดับการแสดงออกของผู้บริโภค (6 เฟรม หากไม่ได้ตั้งค่า). การแสดงออกพร้อมกันตัวที่สี่เป็นข้อผิดพลาด. @break ปิดช่วงที่เปิด ล่าสุด และ @none ปิดทุกช่วงที่เปิดอยู่ ณ จุดเริ่มของรายการที่มีเวลาถัดไป. ช่วงที่ค้างเปิดสิ้นสุดที่ ปลายรายการสุดท้ายที่ช่วงนั้นครอบ (ไม่ใช่ที่ช่วงปิดท้าย). ช่วงที่ไม่ครอบเฟรมใดถูกทิ้ง. ช่องที่ถูกปล่อย และเปิดใหม่ในเฟรมเดียวกันจะเริ่มช้าไปหนึ่งเฟรม. ในลำดับ ช่วงเหล่านี้เป็น การอ้างอิง: เดลตาของ การแสดงออกถูกใช้ตอนถอดรหัสเป็น clamp(pose ⊕ Σ αᵢ·expressionᵢ) บน h b f m (§3.3) และไม่ถูก เขียนลงในคีย์เฟรมท่าทาง. (กลอสประกอบอบเดลตาลงไปแทน, §7.4.)